summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Vogt <mvo@debian.org>2014-04-22 16:21:05 +0200
committerMichael Vogt <mvo@debian.org>2014-04-22 16:21:05 +0200
commita298a1dc595c548e6c10b48b8e69d987e5be1c42 (patch)
tree75bbda565cefad82c558605da697ad91c820f165
parent6f34deead51a1c200589994a4cf46b7d79a45e69 (diff)
parenta268c98635f96a5ebb432c14f3c5ba6bbd605281 (diff)
Merge remote-tracking branch 'upstream/debian/sid' into debian/sid
-rw-r--r--.gitignore6
-rw-r--r--.travis.yml3
-rwxr-xr-xabicheck/run_abi_test5
-rw-r--r--apt-inst/makefile12
-rw-r--r--apt-pkg/algorithms.cc19
-rw-r--r--apt-pkg/aptconfiguration.cc2
-rw-r--r--apt-pkg/contrib/fileutl.cc27
-rw-r--r--apt-pkg/contrib/fileutl.h16
-rw-r--r--apt-pkg/install-progress.cc35
-rw-r--r--apt-pkg/install-progress.h3
-rw-r--r--apt-pkg/makefile48
-rw-r--r--apt-private/makefile12
-rw-r--r--apt-private/private-cacheset.cc8
-rw-r--r--apt-private/private-cmndline.cc4
-rw-r--r--apt-private/private-list.cc15
-rw-r--r--apt-private/private-output.cc4
-rw-r--r--buildlib/library.mak2
-rw-r--r--buildlib/program.mak2
-rw-r--r--buildlib/python.mak2
-rw-r--r--buildlib/staticlibrary.mak2
-rw-r--r--configure.ac2
-rw-r--r--debian/changelog21
-rw-r--r--debian/control2
-rw-r--r--doc/apt-get.8.xml2
-rw-r--r--doc/apt-verbatim.ent2
-rw-r--r--doc/apt.8.xml4
-rw-r--r--doc/po/apt-doc.pot6
-rw-r--r--doc/po/de.po4
-rw-r--r--doc/po/es.po4
-rw-r--r--doc/po/fr.po4
-rw-r--r--doc/po/it.po4
-rw-r--r--doc/po/ja.po4
-rw-r--r--doc/po/pl.po4
-rw-r--r--doc/po/pt.po4
-rw-r--r--doc/po/pt_BR.po4
-rw-r--r--po/ar.po38
-rw-r--r--po/ast.po38
-rw-r--r--po/bg.po38
-rw-r--r--po/bs.po38
-rw-r--r--po/ca.po38
-rw-r--r--po/cs.po38
-rw-r--r--po/cy.po38
-rw-r--r--po/da.po38
-rw-r--r--po/de.po38
-rw-r--r--po/dz.po38
-rw-r--r--po/el.po38
-rw-r--r--po/es.po38
-rw-r--r--po/eu.po38
-rw-r--r--po/fi.po38
-rw-r--r--po/fr.po38
-rw-r--r--po/gl.po38
-rw-r--r--po/hu.po38
-rw-r--r--po/it.po38
-rw-r--r--po/ja.po38
-rw-r--r--po/km.po38
-rw-r--r--po/ko.po38
-rw-r--r--po/ku.po38
-rw-r--r--po/lt.po38
-rw-r--r--po/mr.po38
-rw-r--r--po/nb.po38
-rw-r--r--po/ne.po38
-rw-r--r--po/nl.po38
-rw-r--r--po/nn.po38
-rw-r--r--po/pl.po38
-rw-r--r--po/pt.po38
-rw-r--r--po/pt_BR.po38
-rw-r--r--po/ro.po38
-rw-r--r--po/ru.po38
-rw-r--r--po/sk.po38
-rw-r--r--po/sl.po38
-rw-r--r--po/sv.po38
-rw-r--r--po/th.po1943
-rw-r--r--po/tl.po38
-rw-r--r--po/tr.po38
-rw-r--r--po/uk.po38
-rw-r--r--po/vi.po62
-rw-r--r--po/zh_CN.po38
-rw-r--r--po/zh_TW.po38
-rwxr-xr-xprepare-release5
-rw-r--r--test/integration/framework8
-rwxr-xr-xtest/integration/test-apt-cli-list18
-rwxr-xr-xtest/integration/test-ubuntu-bug-1304403-obsolete-priority-standard48
-rw-r--r--test/libapt/assert.h124
-rw-r--r--test/libapt/cdrom_test.cc114
-rw-r--r--test/libapt/cdromfindmountpointfordevice_test.cc26
-rw-r--r--test/libapt/cdromfindpackages_test.cc169
-rw-r--r--test/libapt/cdromreducesourcelist_test.cc86
-rw-r--r--test/libapt/commandline_test.cc53
-rw-r--r--test/libapt/commandlineasstring_test.cc41
-rw-r--r--test/libapt/compareversion_test.cc185
-rw-r--r--test/libapt/configuration_test.cc167
-rw-r--r--test/libapt/file-helpers.cc77
-rw-r--r--test/libapt/file-helpers.h29
-rw-r--r--test/libapt/fileutl_test.cc220
-rw-r--r--test/libapt/getarchitectures_test.cc116
-rw-r--r--test/libapt/getlanguages_test.cc412
-rw-r--r--test/libapt/getlistoffilesindir_test.cc159
-rw-r--r--test/libapt/globalerror_test.cc213
-rw-r--r--test/libapt/gtest_runner.cc19
-rw-r--r--test/libapt/hashsums_test.cc274
-rw-r--r--test/libapt/indexcopytosourcelist_test.cc73
-rw-r--r--test/libapt/install_progress_test.cc26
-rw-r--r--test/libapt/makefile184
-rw-r--r--test/libapt/parsedepends_test.cc458
-rwxr-xr-xtest/libapt/run-tests133
-rw-r--r--test/libapt/sourcelist_test.cc49
-rw-r--r--test/libapt/strutil_test.cc138
-rw-r--r--test/libapt/tagfile_test.cc62
-rw-r--r--test/libapt/uri_test.cc233
-rw-r--r--test/libapt/versions.lst106
110 files changed, 4020 insertions, 3866 deletions
diff --git a/.gitignore b/.gitignore
index 488682ee7..a00c84a02 100644
--- a/.gitignore
+++ b/.gitignore
@@ -42,3 +42,9 @@
/vendor/current
/vendor/*/sources.list
/vendor/*/makefile.auto
+
+# generated for and by abicheck
+/abicheck/apt_build.xml
+/abicheck/apt_installed.xml
+/abicheck/compat_reports/
+/abicheck/logs/
diff --git a/.travis.yml b/.travis.yml
index 2d9194c28..b413134c5 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,5 +1,6 @@
language: cpp
before_install:
- sudo apt-get update -q
- - sudo apt-get install -q --no-install-recommends dpkg-dev debhelper libdb-dev gettext libcurl4-gnutls-dev zlib1g-dev libbz2-dev xsltproc docbook-xsl docbook-xml po4a autotools-dev autoconf automake doxygen debiandoc-sgml stunnel4
+ - sudo ./prepare-release travis-ci
+ - sudo apt-get install -q --no-install-recommends stunnel4
script: make && make test && test/integration/run-tests
diff --git a/abicheck/run_abi_test b/abicheck/run_abi_test
index 8f2d7d203..18c13dfcb 100755
--- a/abicheck/run_abi_test
+++ b/abicheck/run_abi_test
@@ -1,5 +1,8 @@
#!/bin/sh
+# ensure we are in the abibreak subdirectory
+cd "$(readlink -f $(dirname $0))"
+
if [ ! -d ../build ]; then
echo "../build missing, did you run make?"
exit 1
@@ -10,7 +13,7 @@ if [ ! -x "$(which abi-compliance-checker 2>/dev/null )" ]; then
exit 1
fi
-LIBPATH=$(find /usr/lib/ -type f -name "libapt-*.so.*" -printf %p\\\\n)
+LIBPATH=$(find /usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH) -type f -regex '.*/libapt-\(pkg\|inst\)\.so\..*' -printf %p\\\\n)
sed s#@installed_libapt@#$LIBPATH# apt_installed.xml.in > apt_installed.xml
BUILDPATH=$(readlink -f ../build)
diff --git a/apt-inst/makefile b/apt-inst/makefile
index da983df5f..af887bba8 100644
--- a/apt-inst/makefile
+++ b/apt-inst/makefile
@@ -20,15 +20,7 @@ SLIBS=$(PTHREADLIB) -lapt-pkg
APT_DOMAIN:=libapt-inst$(MAJOR)
LIBRARYDEPENDS=$(LIB)/libapt-pkg.so
-# Source code for the contributed non-core things
-SOURCE = contrib/extracttar.cc contrib/arfile.cc
+SOURCE = $(wildcard *.cc */*.cc)
+HEADERS = $(addprefix apt-pkg/,$(notdir $(wildcard *.h */*.h)))
-# Source code for the main library
-SOURCE+= filelist.cc dirstream.cc extract.cc deb/debfile.cc
-
-# Public header files
-HEADERS = extracttar.h arfile.h filelist.h extract.h \
- dirstream.h debfile.h
-
-HEADERS := $(addprefix apt-pkg/,$(HEADERS))
include $(LIBRARY_H)
diff --git a/apt-pkg/algorithms.cc b/apt-pkg/algorithms.cc
index a7b676660..608ec7fce 100644
--- a/apt-pkg/algorithms.cc
+++ b/apt-pkg/algorithms.cc
@@ -445,19 +445,22 @@ void pkgProblemResolver::MakeScores()
|| (I->Flags & pkgCache::Flag::Important) == pkgCache::Flag::Important)
Score += PrioEssentials;
- // We transform the priority
- if (Cache[I].InstVerIter(Cache)->Priority <= 5)
- Score += PrioMap[Cache[I].InstVerIter(Cache)->Priority];
-
+ pkgCache::VerIterator const InstVer = Cache[I].InstVerIter(Cache);
+ // We apply priorities only to downloadable packages, all others are prio:extra
+ // as an obsolete prio:standard package can't be that standard anymore…
+ if (InstVer->Priority <= pkgCache::State::Extra && InstVer.Downloadable() == true)
+ Score += PrioMap[InstVer->Priority];
+ else
+ Score += PrioMap[pkgCache::State::Extra];
+
/* This helps to fix oddball problems with conflicting packages
- on the same level. We enhance the score of installed packages
- if those are not obsolete
- */
+ on the same level. We enhance the score of installed packages
+ if those are not obsolete */
if (I->CurrentVer != 0 && Cache[I].CandidateVer != 0 && Cache[I].CandidateVerIter(Cache).Downloadable())
Score += PrioInstalledAndNotObsolete;
// propagate score points along dependencies
- for (pkgCache::DepIterator D = Cache[I].InstVerIter(Cache).DependsList(); D.end() == false; ++D)
+ for (pkgCache::DepIterator D = InstVer.DependsList(); D.end() == false; ++D)
{
if (DepMap[D->Type] == 0)
continue;
diff --git a/apt-pkg/aptconfiguration.cc b/apt-pkg/aptconfiguration.cc
index 6ba047560..9982759c6 100644
--- a/apt-pkg/aptconfiguration.cc
+++ b/apt-pkg/aptconfiguration.cc
@@ -476,7 +476,7 @@ const Configuration::getCompressors(bool const Cached) {
std::vector<std::string> const comp = _config->FindVector("APT::Compressor");
for (std::vector<std::string>::const_iterator c = comp.begin();
c != comp.end(); ++c) {
- if (*c == "." || *c == "gzip" || *c == "bzip2" || *c == "lzma" || *c == "xz")
+ if (c->empty() || *c == "." || *c == "gzip" || *c == "bzip2" || *c == "lzma" || *c == "xz")
continue;
compressors.push_back(Compressor(c->c_str(), std::string(".").append(*c).c_str(), c->c_str(), "-9", "-d", 100));
}
diff --git a/apt-pkg/contrib/fileutl.cc b/apt-pkg/contrib/fileutl.cc
index 188bb87ee..de73a7fd8 100644
--- a/apt-pkg/contrib/fileutl.cc
+++ b/apt-pkg/contrib/fileutl.cc
@@ -958,10 +958,10 @@ class FileFdPrivate { /*{{{*/
// FileFd::Open - Open a file /*{{{*/
// ---------------------------------------------------------------------
/* The most commonly used open mode combinations are given with Mode */
-bool FileFd::Open(string FileName,unsigned int const Mode,CompressMode Compress, unsigned long const Perms)
+bool FileFd::Open(string FileName,unsigned int const Mode,CompressMode Compress, unsigned long const AccessMode)
{
if (Mode == ReadOnlyGzip)
- return Open(FileName, ReadOnly, Gzip, Perms);
+ return Open(FileName, ReadOnly, Gzip, AccessMode);
if (Compress == Auto && (Mode & WriteOnly) == WriteOnly)
return FileFdError("Autodetection on %s only works in ReadOnly openmode!", FileName.c_str());
@@ -1028,9 +1028,9 @@ bool FileFd::Open(string FileName,unsigned int const Mode,CompressMode Compress,
if (compressor == compressors.end())
return FileFdError("Can't find a match for specified compressor mode for file %s", FileName.c_str());
- return Open(FileName, Mode, *compressor, Perms);
+ return Open(FileName, Mode, *compressor, AccessMode);
}
-bool FileFd::Open(string FileName,unsigned int const Mode,APT::Configuration::Compressor const &compressor, unsigned long const Perms)
+bool FileFd::Open(string FileName,unsigned int const Mode,APT::Configuration::Compressor const &compressor, unsigned long const AccessMode)
{
Close();
Flags = AutoClose;
@@ -1080,11 +1080,18 @@ bool FileFd::Open(string FileName,unsigned int const Mode,APT::Configuration::Co
TemporaryFileName = string(name);
free(name);
- if(Perms != 600 && fchmod(iFd, Perms) == -1)
+ // umask() will always set the umask and return the previous value, so
+ // we first set the umask and then reset it to the old value
+ mode_t const CurrentUmask = umask(0);
+ umask(CurrentUmask);
+ // calculate the actual file permissions (just like open/creat)
+ mode_t const FilePermissions = (AccessMode & ~CurrentUmask);
+
+ if(fchmod(iFd, FilePermissions) == -1)
return FileFdErrno("fchmod", "Could not change permissions for temporary file %s", TemporaryFileName.c_str());
}
else
- iFd = open(FileName.c_str(), fileflags, Perms);
+ iFd = open(FileName.c_str(), fileflags, AccessMode);
this->FileName = FileName;
if (iFd == -1 || OpenInternDescriptor(Mode, compressor) == false)
@@ -1353,7 +1360,10 @@ bool FileFd::OpenInternDescriptor(unsigned int const Mode, APT::Configuration::C
Args.push_back(a->c_str());
if (Comp == false && FileName.empty() == false)
{
- Args.push_back("--stdout");
+ // commands not needing arguments, do not need to be told about using standard output
+ // in reality, only testcases with tools like cat, rev, rot13, … are able to trigger this
+ if (compressor.CompressArgs.empty() == false && compressor.UncompressArgs.empty() == false)
+ Args.push_back("--stdout");
if (TemporaryFileName.empty() == false)
Args.push_back(TemporaryFileName.c_str());
else
@@ -1646,6 +1656,8 @@ bool FileFd::Write(int Fd, const void *From, unsigned long long Size)
/* */
bool FileFd::Seek(unsigned long long To)
{
+ Flags &= ~HitEof;
+
if (d != NULL && (d->pipe == true || d->InternalStream() == true))
{
// Our poor man seeking in pipes is costly, so try to avoid it
@@ -1705,7 +1717,6 @@ bool FileFd::Skip(unsigned long long Over)
{
if (d != NULL && (d->pipe == true || d->InternalStream() == true))
{
- d->seekpos += Over;
char buffer[1024];
while (Over != 0)
{
diff --git a/apt-pkg/contrib/fileutl.h b/apt-pkg/contrib/fileutl.h
index f25ed3622..cc1a98eae 100644
--- a/apt-pkg/contrib/fileutl.h
+++ b/apt-pkg/contrib/fileutl.h
@@ -103,10 +103,10 @@ class FileFd
return T;
}
- bool Open(std::string FileName,unsigned int const Mode,CompressMode Compress,unsigned long const Perms = 0666);
- bool Open(std::string FileName,unsigned int const Mode,APT::Configuration::Compressor const &compressor,unsigned long const Perms = 0666);
- inline bool Open(std::string const &FileName,unsigned int const Mode, unsigned long const Perms = 0666) {
- return Open(FileName, Mode, None, Perms);
+ bool Open(std::string FileName,unsigned int const Mode,CompressMode Compress,unsigned long const AccessMode = 0666);
+ bool Open(std::string FileName,unsigned int const Mode,APT::Configuration::Compressor const &compressor,unsigned long const AccessMode = 0666);
+ inline bool Open(std::string const &FileName,unsigned int const Mode, unsigned long const AccessMode = 0666) {
+ return Open(FileName, Mode, None, AccessMode);
};
bool OpenDescriptor(int Fd, unsigned int const Mode, CompressMode Compress, bool AutoClose=false);
bool OpenDescriptor(int Fd, unsigned int const Mode, APT::Configuration::Compressor const &compressor, bool AutoClose=false);
@@ -129,13 +129,13 @@ class FileFd
inline bool IsCompressed() {return (Flags & Compressed) == Compressed;};
inline std::string &Name() {return FileName;};
- FileFd(std::string FileName,unsigned int const Mode,unsigned long Perms = 0666) : iFd(-1), Flags(0), d(NULL)
+ FileFd(std::string FileName,unsigned int const Mode,unsigned long AccessMode = 0666) : iFd(-1), Flags(0), d(NULL)
{
- Open(FileName,Mode, None, Perms);
+ Open(FileName,Mode, None, AccessMode);
};
- FileFd(std::string FileName,unsigned int const Mode, CompressMode Compress, unsigned long Perms = 0666) : iFd(-1), Flags(0), d(NULL)
+ FileFd(std::string FileName,unsigned int const Mode, CompressMode Compress, unsigned long AccessMode = 0666) : iFd(-1), Flags(0), d(NULL)
{
- Open(FileName,Mode, Compress, Perms);
+ Open(FileName,Mode, Compress, AccessMode);
};
FileFd() : iFd(-1), Flags(AutoClose), d(NULL) {};
FileFd(int const Fd, unsigned int const Mode = ReadWrite, CompressMode Compress = None) : iFd(-1), Flags(0), d(NULL)
diff --git a/apt-pkg/install-progress.cc b/apt-pkg/install-progress.cc
index 8bb587f67..cf6c85912 100644
--- a/apt-pkg/install-progress.cc
+++ b/apt-pkg/install-progress.cc
@@ -256,14 +256,14 @@ PackageManagerFancy::TermSize
PackageManagerFancy::GetTerminalSize()
{
struct winsize win;
- PackageManagerFancy::TermSize s;
+ PackageManagerFancy::TermSize s = { 0, 0 };
// FIXME: get from "child_pty" instead?
if(ioctl(STDOUT_FILENO, TIOCGWINSZ, (char *)&win) != 0)
return s;
if(_config->FindB("Debug::InstallProgress::Fancy", false) == true)
- std::cerr << "GetTerminalSize: " << win.ws_row << std::endl;
+ std::cerr << "GetTerminalSize: " << win.ws_row << " x " << win.ws_col << std::endl;
s.rows = win.ws_row;
s.columns = win.ws_col;
@@ -275,6 +275,9 @@ void PackageManagerFancy::SetupTerminalScrollArea(int nr_rows)
if(_config->FindB("Debug::InstallProgress::Fancy", false) == true)
std::cerr << "SetupTerminalScrollArea: " << nr_rows << std::endl;
+ if (unlikely(nr_rows <= 1))
+ return;
+
// scroll down a bit to avoid visual glitch when the screen
// area shrinks by one row
std::cout << "\n";
@@ -296,28 +299,30 @@ void PackageManagerFancy::SetupTerminalScrollArea(int nr_rows)
// setup tty size to ensure xterm/linux console are working properly too
// see bug #731738
struct winsize win;
- ioctl(child_pty, TIOCGWINSZ, (char *)&win);
- win.ws_row = nr_rows - 1;
- ioctl(child_pty, TIOCSWINSZ, (char *)&win);
+ if (ioctl(child_pty, TIOCGWINSZ, (char *)&win) != -1)
+ {
+ win.ws_row = nr_rows - 1;
+ ioctl(child_pty, TIOCSWINSZ, (char *)&win);
+ }
}
void PackageManagerFancy::HandleSIGWINCH(int)
{
- int nr_terminal_rows = GetTerminalSize().rows;
+ int const nr_terminal_rows = GetTerminalSize().rows;
SetupTerminalScrollArea(nr_terminal_rows);
+ DrawStatusLine();
}
void PackageManagerFancy::Start(int a_child_pty)
{
child_pty = a_child_pty;
- int nr_terminal_rows = GetTerminalSize().rows;
- if (nr_terminal_rows > 0)
- SetupTerminalScrollArea(nr_terminal_rows);
+ int const nr_terminal_rows = GetTerminalSize().rows;
+ SetupTerminalScrollArea(nr_terminal_rows);
}
void PackageManagerFancy::Stop()
{
- int nr_terminal_rows = GetTerminalSize().rows;
+ int const nr_terminal_rows = GetTerminalSize().rows;
if (nr_terminal_rows > 0)
{
SetupTerminalScrollArea(nr_terminal_rows + 1);
@@ -358,7 +363,13 @@ bool PackageManagerFancy::StatusChanged(std::string PackageName,
HumanReadableAction))
return false;
- PackageManagerFancy::TermSize size = GetTerminalSize();
+ return DrawStatusLine();
+}
+bool PackageManagerFancy::DrawStatusLine()
+{
+ PackageManagerFancy::TermSize const size = GetTerminalSize();
+ if (unlikely(size.rows < 1 || size.columns < 1))
+ return false;
static std::string save_cursor = "\033[s";
static std::string restore_cursor = "\033[u";
@@ -388,7 +399,7 @@ bool PackageManagerFancy::StatusChanged(std::string PackageName,
{
int padding = 4;
float progressbar_size = size.columns - padding - progress_str.size();
- float current_percent = (float)StepsDone/(float)TotalSteps;
+ float current_percent = percentage / 100.0;
std::cout << " "
<< GetTextProgressStr(current_percent, progressbar_size)
<< " ";
diff --git a/apt-pkg/install-progress.h b/apt-pkg/install-progress.h
index 112b034fb..5d1a20e9b 100644
--- a/apt-pkg/install-progress.h
+++ b/apt-pkg/install-progress.h
@@ -1,6 +1,8 @@
#ifndef PKGLIB_IPROGRESS_H
#define PKGLIB_IPROGRESS_H
+#include <apt-pkg/macros.h>
+
#include <string>
#include <unistd.h>
#include <signal.h>
@@ -120,6 +122,7 @@ namespace Progress {
private:
static void staticSIGWINCH(int);
static std::vector<PackageManagerFancy*> instances;
+ APT_HIDDEN bool DrawStatusLine();
protected:
void SetupTerminalScrollArea(int nr_rows);
diff --git a/apt-pkg/makefile b/apt-pkg/makefile
index 1d456873b..5603b51ed 100644
--- a/apt-pkg/makefile
+++ b/apt-pkg/makefile
@@ -11,6 +11,7 @@ include ../buildlib/defaults.mak
# The library name and version (indirectly used from init.h)
include ../buildlib/libversion.mak
+
LIBRARY=apt-pkg
MAJOR=$(LIBAPTPKG_MAJOR)
MINOR=$(LIBAPTPKG_RELEASE)
@@ -26,50 +27,7 @@ SLIBS+= -llzma
endif
APT_DOMAIN:=libapt-pkg$(LIBAPTPKG_MAJOR)
-# Source code for the contributed non-core things
-SOURCE = contrib/mmap.cc contrib/error.cc contrib/strutl.cc \
- contrib/configuration.cc contrib/progress.cc contrib/cmndline.cc \
- contrib/hashsum.cc contrib/md5.cc contrib/sha1.cc \
- contrib/sha2_internal.cc contrib/hashes.cc \
- contrib/cdromutl.cc contrib/crc-16.cc contrib/netrc.cc \
- contrib/fileutl.cc contrib/gpgv.cc
-HEADERS = mmap.h error.h configuration.h fileutl.h cmndline.h netrc.h \
- md5.h crc-16.h cdromutl.h strutl.h sptr.h sha1.h sha2.h sha256.h \
- sha2_internal.h hashes.h hashsum_template.h \
- macros.h weakptr.h gpgv.h
-
-# Source code for the core main library
-SOURCE+= pkgcache.cc version.cc depcache.cc \
- orderlist.cc tagfile.cc sourcelist.cc packagemanager.cc \
- pkgrecords.cc algorithms.cc acquire.cc\
- acquire-worker.cc acquire-method.cc init.cc clean.cc \
- srcrecords.cc cachefile.cc versionmatch.cc policy.cc \
- pkgsystem.cc indexfile.cc pkgcachegen.cc acquire-item.cc \
- indexrecords.cc vendor.cc vendorlist.cc cdrom.cc indexcopy.cc \
- aptconfiguration.cc cachefilter.cc cacheset.cc edsp.cc \
- install-progress.cc upgrade.cc update.cc
-HEADERS+= algorithms.h depcache.h pkgcachegen.h cacheiterators.h \
- orderlist.h sourcelist.h packagemanager.h tagfile.h \
- init.h pkgcache.h version.h progress.h pkgrecords.h \
- acquire.h acquire-worker.h acquire-item.h acquire-method.h \
- clean.h srcrecords.h cachefile.h versionmatch.h policy.h \
- pkgsystem.h indexfile.h metaindex.h indexrecords.h vendor.h \
- vendorlist.h cdrom.h indexcopy.h aptconfiguration.h \
- cachefilter.h cacheset.h edsp.h install-progress.h \
- upgrade.h update.h
-
-# Source code for the debian specific components
-# In theory the deb headers do not need to be exported..
-SOURCE+= deb/deblistparser.cc deb/debrecords.cc deb/dpkgpm.cc \
- deb/debsrcrecords.cc deb/debversion.cc deb/debsystem.cc \
- deb/debindexfile.cc deb/debindexfile.cc deb/debmetaindex.cc
-HEADERS+= debversion.h debsrcrecords.h dpkgpm.h debrecords.h \
- deblistparser.h debsystem.h debindexfile.h debmetaindex.h
-
-# Source code for the APT resolver interface specific components
-SOURCE+= edsp/edsplistparser.cc edsp/edspindexfile.cc edsp/edspsystem.cc
-HEADERS+= edsplistparser.h edspindexfile.h edspsystem.h
-
-HEADERS := $(addprefix apt-pkg/,$(HEADERS))
+SOURCE = $(wildcard *.cc */*.cc)
+HEADERS = $(addprefix apt-pkg/,$(notdir $(wildcard *.h */*.h)))
include $(LIBRARY_H)
diff --git a/apt-private/makefile b/apt-private/makefile
index 09736c6d3..9a3fbdb29 100644
--- a/apt-private/makefile
+++ b/apt-private/makefile
@@ -8,9 +8,6 @@ HEADER_TARGETDIRS = apt-private
# Bring in the default rules
include ../buildlib/defaults.mak
-# The library name and version (indirectly used from init.h)
-include ../buildlib/libversion.mak
-
# The library name
LIBRARY=apt-private
MAJOR=0.0
@@ -18,12 +15,7 @@ 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)
-HEADERS += $(foreach private, $(PRIVATES), private-$(private).h)
-
-SOURCE+= acqprogress.cc
-HEADERS+= acqprogress.h private-cacheset.h
+SOURCE = $(wildcard *.cc)
+HEADERS = $(addprefix apt-private/,$(wildcard *.h))
-HEADERS := $(addprefix apt-private/,$(HEADERS))
include $(LIBRARY_H)
diff --git a/apt-private/private-cacheset.cc b/apt-private/private-cacheset.cc
index 4a63c7e81..e37e7b227 100644
--- a/apt-private/private-cacheset.cc
+++ b/apt-private/private-cacheset.cc
@@ -73,7 +73,13 @@ bool GetLocalitySortedVersionSet(pkgCacheFile &CacheFile,
else
{
pkgPolicy *policy = CacheFile.GetPolicy();
- output_set.insert(policy->GetCandidateVer(P));
+ if (policy->GetCandidateVer(P).IsGood())
+ output_set.insert(policy->GetCandidateVer(P));
+ else
+ // no candidate, this may happen for packages in
+ // dpkg "deinstall ok config-file" state - we pick the first ver
+ // (which should be the only one)
+ output_set.insert(P.VersionList());
}
}
progress.Done();
diff --git a/apt-private/private-cmndline.cc b/apt-private/private-cmndline.cc
index 682be0a19..a21a9dc8c 100644
--- a/apt-private/private-cmndline.cc
+++ b/apt-private/private-cmndline.cc
@@ -116,7 +116,7 @@ static bool addArgumentsAPTConfig(std::vector<CommandLine::Args> &Args, char con
static bool addArgumentsAPTGet(std::vector<CommandLine::Args> &Args, char const * const Cmd)/*{{{*/
{
if (CmdMatches("install", "remove", "purge", "upgrade", "dist-upgrade",
- "dselect-upgrade", "autoremove"))
+ "dselect-upgrade", "autoremove", "full-upgrade"))
{
addArg(0, "show-progress", "DpkgPM::Progress", 0);
addArg('f', "fix-broken", "APT::Get::Fix-Broken", 0);
@@ -163,7 +163,7 @@ static bool addArgumentsAPTGet(std::vector<CommandLine::Args> &Args, char const
if (CmdMatches("install", "remove", "purge", "upgrade", "dist-upgrade",
"deselect-upgrade", "autoremove", "clean", "autoclean", "check",
- "build-dep"))
+ "build-dep", "full-upgrade"))
{
addArg('s', "simulate", "APT::Get::Simulate", 0);
addArg('s', "just-print", "APT::Get::Simulate", 0);
diff --git a/apt-private/private-list.cc b/apt-private/private-list.cc
index b053cbcbe..b69002103 100644
--- a/apt-private/private-list.cc
+++ b/apt-private/private-list.cc
@@ -130,10 +130,11 @@ bool DoList(CommandLine &Cmd)
Cache->Head().PackageCount,
_("Listing"));
GetLocalitySortedVersionSet(CacheFile, bag, matcher, progress);
+ bool ShowAllVersions = _config->FindB("APT::Cmd::All-Versions", false);
for (LocalitySortedVersionSet::iterator V = bag.begin(); V != bag.end(); ++V)
{
std::stringstream outs;
- if(_config->FindB("APT::Cmd::All-Versions", false) == true)
+ if(ShowAllVersions == true)
{
ListAllVersions(CacheFile, records, V.ParentPkg(), outs, includeSummary);
output_map.insert(std::make_pair<std::string, std::string>(
@@ -151,6 +152,18 @@ bool DoList(CommandLine &Cmd)
std::cout << (*K).second << std::endl;
+ // be nice and tell the user if there is more to see
+ if (bag.size() == 1 && ShowAllVersions == false)
+ {
+ // start with -1 as we already displayed one version
+ int versions = -1;
+ pkgCache::VerIterator Ver = *bag.begin();
+ for ( ; Ver.end() == false; Ver++)
+ versions++;
+ if (versions > 0)
+ _error->Notice(P_("There is %i additional version. Please use the '-a' switch to see it", "There are %i additional versions. Please use the '-a' switch to see them.", versions), versions);
+ }
+
return true;
}
diff --git a/apt-private/private-output.cc b/apt-private/private-output.cc
index bbd8545ad..757999167 100644
--- a/apt-private/private-output.cc
+++ b/apt-private/private-output.cc
@@ -146,6 +146,10 @@ static std::string GetArchitecture(pkgCacheFile &CacheFile, pkgCache::PkgIterato
pkgCache::VerIterator inst = P.CurrentVer();
pkgCache::VerIterator cand = policy->GetCandidateVer(P);
+ // this may happen for packages in dpkg "deinstall ok config-file" state
+ if (inst.IsGood() == false && cand.IsGood() == false)
+ return P.VersionList().Arch();
+
return inst ? inst.Arch() : cand.Arch();
}
/*}}}*/
diff --git a/buildlib/library.mak b/buildlib/library.mak
index ef1306b66..cc0286d7e 100644
--- a/buildlib/library.mak
+++ b/buildlib/library.mak
@@ -63,7 +63,7 @@ $(LIB)/lib$(LIBRARY).so.$(MAJOR).$(MINOR): $($(LOCAL)-HEADERS) $($(LOCAL)-OBJS)
vpath %.cc $(SUBDIRS)
$(OBJ)/%.opic: %.cc $(LIBRARYDEPENDS)
echo Compiling $< to $@
- $(CXX) -c $(INLINEDEPFLAG) $(CPPFLAGS) $(CXXFLAGS) $(PICFLAGS) -o $@ $<
+ $(CXX) -c $(INLINEDEPFLAG) $(CPPFLAGS) $(CXXFLAGS) $(PICFLAGS) -o $@ $(abspath $<)
$(DoDep)
# Include the dependencies that are available
diff --git a/buildlib/program.mak b/buildlib/program.mak
index da538f5eb..71c265f39 100644
--- a/buildlib/program.mak
+++ b/buildlib/program.mak
@@ -50,7 +50,7 @@ $($(LOCAL)-BIN): $($(LOCAL)-OBJS) $($(LOCAL)-MKS)
vpath %.cc $(SUBDIRS)
$(OBJ)/%.o: %.cc
echo Compiling $< to $@
- $(CXX) -c $(INLINEDEPFLAG) $(CPPFLAGS) $(CXXFLAGS) -o $@ $<
+ $(CXX) -c $(INLINEDEPFLAG) $(CPPFLAGS) $(CXXFLAGS) -o $@ $(abspath $<)
$(DoDep)
# Include the dependencies that are available
diff --git a/buildlib/python.mak b/buildlib/python.mak
index 02345c2d2..f08ab5563 100644
--- a/buildlib/python.mak
+++ b/buildlib/python.mak
@@ -58,7 +58,7 @@ endif # ifdef PYTHONLIB
vpath %.cc $(SUBDIRS)
$(OBJ)/%.opic: %.cc
echo Compiling $< to $@
- $(CXX) -c $(INLINEDEPFLAG) $(CPPFLAGS) $(CXXFLAGS) $(PICFLAGS) -o $@ $<
+ $(CXX) -c $(INLINEDEPFLAG) $(CPPFLAGS) $(CXXFLAGS) $(PICFLAGS) -o $@ $(abspath $<)
$(DoDep)
# Include the dependencies that are available
diff --git a/buildlib/staticlibrary.mak b/buildlib/staticlibrary.mak
index ce9259dc0..86908700f 100644
--- a/buildlib/staticlibrary.mak
+++ b/buildlib/staticlibrary.mak
@@ -50,7 +50,7 @@ endif
vpath %.cc $(SUBDIRS)
$(OBJ)/%.o: %.cc
echo Compiling $< to $@
- $(CXX) -c $(INLINEDEPFLAG) $(CPPFLAGS) $(CXXFLAGS) -o $@ $<
+ $(CXX) -c $(INLINEDEPFLAG) $(CPPFLAGS) $(CXXFLAGS) -o $@ $(abspath $<)
$(DoDep)
# Include the dependencies that are available
diff --git a/configure.ac b/configure.ac
index e135f8d5e..0fcaff267 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="1.0"
+PACKAGE_VERSION="1.0.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/changelog b/debian/changelog
index d3beac0ef..ea2aaa8f3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,24 @@
+apt (1.0.1) unstable; urgency=medium
+
+ [ Michael Vogt ]
+ * Fix crash in "apt list" when a sources.list file is unreable
+ (Closes: 743413)
+ * make apt search case-insensitive by default
+ * Fix possible race when stunnel/aptwebserver create their PID files
+ in the tests
+ * Fix insecure file permissions when using FileFd with OpenMode::Atomic
+ (LP: #1304657)
+
+ [ Julian Andres Klode ]
+ * Version the Breaks/Replaces for sun-java{5,6}-jdk (LP: #1302736)
+ (Closes: #743616)
+ * Add versioned openjdk-6-jdk breaks
+
+ [ Josef Vitu ]
+ * apt: Minor typo in 'apt' man page (closes: #743657)
+
+ -- Michael Vogt <mvo@debian.org> Thu, 10 Apr 2014 09:48:56 +0200
+
apt (1.0) unstable; urgency=low
The "Happy birthday and 10000b years in the making" release
diff --git a/debian/control b/debian/control
index c0526d30c..ff984db75 100644
--- a/debian/control
+++ b/debian/control
@@ -9,7 +9,7 @@ Build-Depends: dpkg-dev (>= 1.15.8), debhelper (>= 8.1.3~), libdb-dev,
gettext (>= 0.12), libcurl4-gnutls-dev (>= 7.19.4~),
zlib1g-dev, libbz2-dev, liblzma-dev,
xsltproc, docbook-xsl, docbook-xml, po4a (>= 0.34-2),
- autotools-dev, autoconf, automake
+ autotools-dev, autoconf, automake, libgtest-dev
Build-Depends-Indep: doxygen, debiandoc-sgml, graphviz
Build-Conflicts: autoconf2.13, automake1.4
Vcs-Git: git://anonscm.debian.org/apt/apt.git
diff --git a/doc/apt-get.8.xml b/doc/apt-get.8.xml
index 1ed08904e..a3bfc331c 100644
--- a/doc/apt-get.8.xml
+++ b/doc/apt-get.8.xml
@@ -536,7 +536,7 @@
terminal window when packages are installed, upgraded or
removed. For a machine parsable version of this data see
README.progress-reporting in the apt doc directory.
- Configuration Item: <literal>DpkgPM::Progress</literal> and <literal>Dpkg::Progress-Fancy</literal>.</para></listitem>
+ Configuration Item: <literal>Dpkg::Progress</literal> and <literal>Dpkg::Progress-Fancy</literal>.</para></listitem>
</varlistentry>
diff --git a/doc/apt-verbatim.ent b/doc/apt-verbatim.ent
index 24c9f6786..37d2cf8c8 100644
--- a/doc/apt-verbatim.ent
+++ b/doc/apt-verbatim.ent
@@ -225,7 +225,7 @@
">
<!-- this will be updated by 'prepare-release' -->
-<!ENTITY apt-product-version "1.0">
+<!ENTITY apt-product-version "1.0.1">
<!-- (Code)names for various things used all over the place -->
<!ENTITY oldstable-codename "squeeze">
diff --git a/doc/apt.8.xml b/doc/apt.8.xml
index 8d3b00fb3..bcad5ee7f 100644
--- a/doc/apt.8.xml
+++ b/doc/apt.8.xml
@@ -143,12 +143,12 @@
<refsect1><title>Differences to &apt-get;</title>
<para>The <command>apt</command> command is meant to be pleasant for
- end users and does not need to be backward compatilbe like
+ end users and does not need to be backward compatible like
&apt-get;. Therefore some options are different:
<itemizedlist>
<listitem>
- <para>The option <literal>DPkgPM::Progress-Fancy</literal> is enabled.
+ <para>The option <literal>DPkg::Progress-Fancy</literal> is enabled.
</para>
</listitem>
<listitem>
diff --git a/doc/po/apt-doc.pot b/doc/po/apt-doc.pot
index 524b1afdb..8eebad5e8 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.16.1\n"
+"Project-Id-Version: apt-doc 1.0.1\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2014-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -636,7 +636,7 @@ msgstr ""
#: apt.8.xml:145
msgid ""
"The <command>apt</command> command is meant to be pleasant for end users and "
-"does not need to be backward compatilbe like &apt-get;. Therefore some "
+"does not need to be backward compatible like &apt-get;. Therefore some "
"options are different:"
msgstr ""
diff --git a/doc/po/de.po b/doc/po/de.po
index 46d6d6294..953eeed37 100644
--- a/doc/po/de.po
+++ b/doc/po/de.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt-doc 0.9.16\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2014-04-01 14:24+0200\n"
+"POT-Creation-Date: 2014-04-10 09:49+0200\n"
"PO-Revision-Date: 2014-04-01 14:00+0200\n"
"Last-Translator: Chris Leick <c.leick@vollbio.de>\n"
"Language-Team: German <debian-l10n-german@lists.debian.org>\n"
@@ -790,7 +790,7 @@ msgstr ""
#: apt.8.xml:145
msgid ""
"The <command>apt</command> command is meant to be pleasant for end users and "
-"does not need to be backward compatilbe like &apt-get;. Therefore some "
+"does not need to be backward compatible like &apt-get;. Therefore some "
"options are different:"
msgstr ""
diff --git a/doc/po/es.po b/doc/po/es.po
index 47080350a..219e56710 100644
--- a/doc/po/es.po
+++ b/doc/po/es.po
@@ -38,7 +38,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 0.9.7.1\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2014-04-01 14:24+0200\n"
+"POT-Creation-Date: 2014-04-10 09:49+0200\n"
"PO-Revision-Date: 2014-04-01 14:00+0200\n"
"Last-Translator: Omar Campagne <ocampagne@gmail.com>\n"
"Language-Team: Debian l10n Spanish <debian-l10n-spanish@lists.debian.org>\n"
@@ -874,7 +874,7 @@ msgstr ""
#: apt.8.xml:145
msgid ""
"The <command>apt</command> command is meant to be pleasant for end users and "
-"does not need to be backward compatilbe like &apt-get;. Therefore some "
+"does not need to be backward compatible like &apt-get;. Therefore some "
"options are different:"
msgstr ""
diff --git a/doc/po/fr.po b/doc/po/fr.po
index 279905402..cabedea51 100644
--- a/doc/po/fr.po
+++ b/doc/po/fr.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2014-04-01 14:24+0200\n"
+"POT-Creation-Date: 2014-04-10 09:49+0200\n"
"PO-Revision-Date: 2014-04-01 14:00+0200\n"
"Last-Translator: Christian Perrier <bubulle@debian.org>\n"
"Language-Team: French <debian-l10n-french@lists.debian.org>\n"
@@ -785,7 +785,7 @@ msgstr ""
#: apt.8.xml:145
msgid ""
"The <command>apt</command> command is meant to be pleasant for end users and "
-"does not need to be backward compatilbe like &apt-get;. Therefore some "
+"does not need to be backward compatible like &apt-get;. Therefore some "
"options are different:"
msgstr ""
diff --git a/doc/po/it.po b/doc/po/it.po
index cdb78fdb4..afef7d860 100644
--- a/doc/po/it.po
+++ b/doc/po/it.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2014-04-01 14:24+0200\n"
+"POT-Creation-Date: 2014-04-10 09:49+0200\n"
"PO-Revision-Date: 2014-04-01 14:00+0200\n"
"Last-Translator: Beatrice Torracca <beatricet@libero.it>\n"
"Language-Team: Italian <debian-l10n-italian@lists.debian.org>\n"
@@ -837,7 +837,7 @@ msgstr ""
#: apt.8.xml:145
msgid ""
"The <command>apt</command> command is meant to be pleasant for end users and "
-"does not need to be backward compatilbe like &apt-get;. Therefore some "
+"does not need to be backward compatible like &apt-get;. Therefore some "
"options are different:"
msgstr ""
diff --git a/doc/po/ja.po b/doc/po/ja.po
index 9c7aa3def..36564102f 100644
--- a/doc/po/ja.po
+++ b/doc/po/ja.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 0.7.25.3\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2014-04-01 14:24+0200\n"
+"POT-Creation-Date: 2014-04-10 09:49+0200\n"
"PO-Revision-Date: 2014-04-01 14:00+0200\n"
"Last-Translator: KURASAWA Nozomu <nabetaro@debian.or.jp>\n"
"Language-Team: Debian Japanese List <debian-japanese@lists.debian.org>\n"
@@ -830,7 +830,7 @@ msgstr ""
#: apt.8.xml:145
msgid ""
"The <command>apt</command> command is meant to be pleasant for end users and "
-"does not need to be backward compatilbe like &apt-get;. Therefore some "
+"does not need to be backward compatible like &apt-get;. Therefore some "
"options are different:"
msgstr ""
diff --git a/doc/po/pl.po b/doc/po/pl.po
index 22cd47baa..d70676ff7 100644
--- a/doc/po/pl.po
+++ b/doc/po/pl.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 0.9.7.3\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2014-04-01 14:24+0200\n"
+"POT-Creation-Date: 2014-04-10 09:49+0200\n"
"PO-Revision-Date: 2014-04-01 13:59+0200\n"
"Last-Translator: Robert Luberda <robert@debian.org>\n"
"Language-Team: Polish <manpages-pl-list@lists.sourceforge.net>\n"
@@ -833,7 +833,7 @@ msgstr ""
#: apt.8.xml:145
msgid ""
"The <command>apt</command> command is meant to be pleasant for end users and "
-"does not need to be backward compatilbe like &apt-get;. Therefore some "
+"does not need to be backward compatible like &apt-get;. Therefore some "
"options are different:"
msgstr ""
diff --git a/doc/po/pt.po b/doc/po/pt.po
index b10890eca..d0433d498 100644
--- a/doc/po/pt.po
+++ b/doc/po/pt.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 0.9.7.1\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2014-04-01 14:24+0200\n"
+"POT-Creation-Date: 2014-04-10 09:49+0200\n"
"PO-Revision-Date: 2014-04-01 13:59+0200\n"
"Last-Translator: Américo Monteiro <a_monteiro@netcabo.pt>\n"
"Language-Team: Portuguese <l10n@debianpt.org>\n"
@@ -834,7 +834,7 @@ msgstr ""
#: apt.8.xml:145
msgid ""
"The <command>apt</command> command is meant to be pleasant for end users and "
-"does not need to be backward compatilbe like &apt-get;. Therefore some "
+"does not need to be backward compatible like &apt-get;. Therefore some "
"options are different:"
msgstr ""
diff --git a/doc/po/pt_BR.po b/doc/po/pt_BR.po
index ef5c757b1..15d0bf27d 100644
--- a/doc/po/pt_BR.po
+++ b/doc/po/pt_BR.po
@@ -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-04-01 14:24+0200\n"
+"POT-Creation-Date: 2014-04-10 09:49+0200\n"
"PO-Revision-Date: 2004-09-20 17:02+0000\n"
"Last-Translator: André Luís Lopes <andrelop@debian.org>\n"
"Language-Team: <debian-l10n-portuguese@lists.debian.org>\n"
@@ -632,7 +632,7 @@ msgstr ""
#: apt.8.xml:145
msgid ""
"The <command>apt</command> command is meant to be pleasant for end users and "
-"does not need to be backward compatilbe like &apt-get;. Therefore some "
+"does not need to be backward compatible like &apt-get;. Therefore some "
"options are different:"
msgstr ""
diff --git a/po/ar.po b/po/ar.po
index 54324bac5..ab7efcae2 100644
--- a/po/ar.po
+++ b/po/ar.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt_po\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2014-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\n"
"PO-Revision-Date: 2006-10-20 21:28+0300\n"
"Last-Translator: Ossama M. Khayat <okhayat@yahoo.com>\n"
"Language-Team: Arabic <support@arabeyes.org>\n"
@@ -734,9 +734,9 @@ msgstr "انتهى وقت الاتصال"
msgid "Server closed the connection"
msgstr "أغلق الخادم الاتصال"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "خطأ في القراءة"
@@ -749,9 +749,9 @@ msgid "Protocol corruption"
msgstr ""
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "خطأ في الكتابة"
@@ -1005,7 +1005,7 @@ msgstr "فشل الاتصال"
msgid "Internal error"
msgstr "خطأ داخلي"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2378,54 +2378,54 @@ msgstr ""
msgid "Problem closing the gzip file %s"
msgstr "مشكلة في إغلاق الملف"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, fuzzy, c-format
msgid "Could not open file descriptor %d"
msgstr "فشل إغلاق الملف %s"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, c-format
msgid "read, still have %llu to read but none left"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, c-format
msgid "write, still have %llu to write but couldn't"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, fuzzy, c-format
msgid "Problem closing the file %s"
msgstr "مشكلة في إغلاق الملف"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, fuzzy, c-format
msgid "Problem renaming the file %s to %s"
msgstr "مشكلة في مزامنة الملف"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, fuzzy, c-format
msgid "Problem unlinking the file %s"
msgstr "مشكلة في إغلاق الملف"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "مشكلة في مزامنة الملف"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "فشل إعادة التسمية ، %s (%s -> %s)."
diff --git a/po/ast.po b/po/ast.po
index 1495a18b0..723896b23 100644
--- a/po/ast.po
+++ b/po/ast.po
@@ -4,7 +4,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 0.7.18\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2014-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -840,9 +840,9 @@ msgstr "Gandió'l tiempu de conexón"
msgid "Server closed the connection"
msgstr "El sirvidor zarró la conexón"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "Fallu de llectura"
@@ -855,9 +855,9 @@ msgid "Protocol corruption"
msgstr "Corrupción del protocolu"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "Fallu d'escritura"
@@ -1114,7 +1114,7 @@ msgstr "Fallo la conexón"
msgid "Internal error"
msgstr "Fallu internu"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2589,54 +2589,54 @@ msgstr "El subprocesu %s terminó de manera inesperada"
msgid "Problem closing the gzip file %s"
msgstr "Problemes zarrando'l ficheru gzip %s"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "Nun se pudo abrir el ficheru %s"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, c-format
msgid "Could not open file descriptor %d"
msgstr "Nun pudo abrise un ficheru descriptor %d"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "Nun pudo criase'l soprocesu IPC"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "Nun pudo executase'l compresor "
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, fuzzy, c-format
msgid "read, still have %llu to read but none left"
msgstr "lleíos, entá tenía de lleer %lu pero nun queda nada"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, fuzzy, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "escritos, entá tenía d'escribir %lu pero nun pudo facerse"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, c-format
msgid "Problem closing the file %s"
msgstr "Problemes zarrando'l ficheru %s"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, c-format
msgid "Problem renaming the file %s to %s"
msgstr "Hai problemes al renomar el ficheru %s a %s"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, c-format
msgid "Problem unlinking the file %s"
msgstr "Hai problemes desvenceyando'l ficheru %s"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "Hai problemes al sincronizar el ficheru"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "falló'l cambiu de nome, %s (%s -> %s)."
diff --git a/po/bg.po b/po/bg.po
index e07e96319..3f8808a07 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 0.7.21\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2014-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -867,9 +867,9 @@ msgstr "Допустимото време за свързването изтеч
msgid "Server closed the connection"
msgstr "Сървърът разпадна връзката"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "Грешка при четене"
@@ -882,9 +882,9 @@ msgid "Protocol corruption"
msgstr "Развален протокол"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "Грешка при запис"
@@ -1146,7 +1146,7 @@ msgstr "Неуспех при свързването"
msgid "Internal error"
msgstr "Вътрешна грешка"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2627,55 +2627,55 @@ msgstr "Подпроцесът %s завърши неочаквано"
msgid "Problem closing the gzip file %s"
msgstr "Проблем при затваряне на компресираният файл %s (gzip)"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "Неуспех при отварянето на файла %s"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, c-format
msgid "Could not open file descriptor %d"
msgstr "Неуспех при отварянето на файлов манипулатор %d"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "Неуспех при създаването на подпроцес IPC"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "Неуспех при изпълнението на компресиращата програма "
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, c-format
msgid "read, still have %llu to read but none left"
msgstr ""
"грешка при четене, все още има %llu за четене, но няма нито един останал"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "грешка при запис, все още име %llu за запис, но не успя"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, c-format
msgid "Problem closing the file %s"
msgstr "Проблем при затваряне на файла %s"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, c-format
msgid "Problem renaming the file %s to %s"
msgstr "Проблем при преименуване на файла %s на %s"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, c-format
msgid "Problem unlinking the file %s"
msgstr "Проблем при изтриване на файла %s"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "Проблем при синхронизиране на файла"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "преименуването се провали, %s (%s -> %s)."
diff --git a/po/bs.po b/po/bs.po
index 08e61a875..180900748 100644
--- a/po/bs.po
+++ b/po/bs.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 0.5.26\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2014-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -737,9 +737,9 @@ msgstr ""
msgid "Server closed the connection"
msgstr "Server je zatvorio vezu"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "Greška pri čitanju"
@@ -753,9 +753,9 @@ msgid "Protocol corruption"
msgstr "Oštećenje protokola"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "Greška pri pisanju"
@@ -1010,7 +1010,7 @@ msgstr "Povezivanje neuspješno"
msgid "Internal error"
msgstr "Unutrašnja greška"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2371,54 +2371,54 @@ msgstr ""
msgid "Problem closing the gzip file %s"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, fuzzy, c-format
msgid "Could not open file descriptor %d"
msgstr "Ne mogu otvoriti %s"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, c-format
msgid "read, still have %llu to read but none left"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, c-format
msgid "write, still have %llu to write but couldn't"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, fuzzy, c-format
msgid "Problem closing the file %s"
msgstr "Ne mogu ukloniti %s"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, c-format
msgid "Problem renaming the file %s to %s"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, c-format
msgid "Problem unlinking the file %s"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr ""
diff --git a/po/ca.po b/po/ca.po
index e6f688d69..f015c1eb3 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -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-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -851,9 +851,9 @@ msgstr "Temps de connexió finalitzat"
msgid "Server closed the connection"
msgstr "El servidor ha tancat la connexió"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "Error de lectura"
@@ -866,9 +866,9 @@ msgid "Protocol corruption"
msgstr "Protocol corromput"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "Error d'escriptura"
@@ -1130,7 +1130,7 @@ msgstr "Ha fallat la connexió"
msgid "Internal error"
msgstr "Error intern"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2612,54 +2612,54 @@ msgstr "El sub-procés %s ha sortit inesperadament"
msgid "Problem closing the gzip file %s"
msgstr "Ha hagut un problema en tancar el fitxer gzip %s"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "No s'ha pogut obrir el fitxer %s"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, c-format
msgid "Could not open file descriptor %d"
msgstr "No s'ha pogut obrir el descriptor del fitxer %d"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "No s'ha pogut crear el subprocés IPC"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "No s'ha pogut executar el compressor "
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, c-format
msgid "read, still have %llu to read but none left"
msgstr "llegits, falten %llu per llegir, però no queda res"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "escrits, falten %llu per escriure però no s'ha pogut"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, c-format
msgid "Problem closing the file %s"
msgstr "Ha hagut un problema en tancar el fitxer %s"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, c-format
msgid "Problem renaming the file %s to %s"
msgstr "Ha hagut un problema en reanomenar el fitxer %s a %s"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, c-format
msgid "Problem unlinking the file %s"
msgstr "Ha hagut un problema en desenllaçar el fitxer %s"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "Ha hagut un problema en sincronitzar el fitxer"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "no s'ha pogut canviar el nom, %s (%s -> %s)."
diff --git a/po/cs.po b/po/cs.po
index de7480c37..8dfab73a5 100644
--- a/po/cs.po
+++ b/po/cs.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-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -849,9 +849,9 @@ msgstr "Čas spojení vypršel"
msgid "Server closed the connection"
msgstr "Server uzavřel spojení"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "Chyba čtení"
@@ -864,9 +864,9 @@ msgid "Protocol corruption"
msgstr "Porušení protokolu"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "Chyba zápisu"
@@ -1122,7 +1122,7 @@ msgstr "Spojení selhalo"
msgid "Internal error"
msgstr "Vnitřní chyba"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2588,54 +2588,54 @@ msgstr "Podproces %s neočekávaně skončil"
msgid "Problem closing the gzip file %s"
msgstr "Problém při zavírání gzip souboru %s"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "Nelze otevřít soubor %s"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, c-format
msgid "Could not open file descriptor %d"
msgstr "Nelze otevřít popisovač souboru %d"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "Nelze vytvořit podproces IPC"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "Nezdařilo se spustit kompresor "
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, c-format
msgid "read, still have %llu to read but none left"
msgstr "čtení, stále mám k přečtení %llu, ale už nic nezbývá"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "zápis, stále mám %llu k zápisu, ale nejde to"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, c-format
msgid "Problem closing the file %s"
msgstr "Problém při zavírání souboru %s"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, c-format
msgid "Problem renaming the file %s to %s"
msgstr "Problém při přejmenování souboru %s na %s"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, c-format
msgid "Problem unlinking the file %s"
msgstr "Problém při odstraňování souboru %s"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "Problém při synchronizování souboru"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "přejmenování selhalo, %s (%s -> %s)."
diff --git a/po/cy.po b/po/cy.po
index db5a11b8b..83c4450f6 100644
--- a/po/cy.po
+++ b/po/cy.po
@@ -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-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -859,9 +859,9 @@ msgstr "Goramser cysylltu"
msgid "Server closed the connection"
msgstr "Caeodd y gweinydd y cysylltiad"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "Gwall darllen"
@@ -874,9 +874,9 @@ msgid "Protocol corruption"
msgstr "Llygr protocol"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "Gwall ysgrifennu"
@@ -1140,7 +1140,7 @@ msgstr "Methodd y cysylltiad"
msgid "Internal error"
msgstr "Gwall mewnol"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2624,56 +2624,56 @@ msgstr "Gorffenodd is-broses %s yn annisgwyl"
msgid "Problem closing the gzip file %s"
msgstr "Gwall wrth gau'r ffeil"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "Methwyd agor ffeil %s"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, fuzzy, c-format
msgid "Could not open file descriptor %d"
msgstr "Methwyd agor pibell ar gyfer %s"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "Methwyd creu isbroses IPC"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "Methwyd gweithredu cywasgydd "
# FIXME
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, fuzzy, c-format
msgid "read, still have %llu to read but none left"
msgstr "o hyd %lu i ddarllen ond dim ar ôl"
# FIXME
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, fuzzy, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "o hyd %lu i ysgrifennu ond methwyd"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, fuzzy, c-format
msgid "Problem closing the file %s"
msgstr "Gwall wrth gau'r ffeil"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, fuzzy, c-format
msgid "Problem renaming the file %s to %s"
msgstr "Gwall wrth gyfamseru'r ffeil"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, fuzzy, c-format
msgid "Problem unlinking the file %s"
msgstr "Gwall wrth dadgysylltu'r ffeil"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "Gwall wrth gyfamseru'r ffeil"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "methwyd ailenwi, %s (%s -> %s)."
diff --git a/po/da.po b/po/da.po
index 2d60bd666..4a6c64d9e 100644
--- a/po/da.po
+++ b/po/da.po
@@ -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-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -878,9 +878,9 @@ msgstr "Tidsudløb på forbindelsen"
msgid "Server closed the connection"
msgstr "Serveren lukkede forbindelsen"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "Læsefejl"
@@ -893,9 +893,9 @@ msgid "Protocol corruption"
msgstr "Protokolfejl"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "Skrivefejl"
@@ -1157,7 +1157,7 @@ msgid "Internal error"
msgstr "Intern fejl"
# måske visning, kategorisering
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr "Listing"
@@ -2622,54 +2622,54 @@ msgstr "Underprocessen %s afsluttedes uventet"
msgid "Problem closing the gzip file %s"
msgstr "Problem under lukning af gzip-filen %s"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "Kunne ikke åbne filen %s"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, c-format
msgid "Could not open file descriptor %d"
msgstr "Kunne ikke åbne filbeskrivelse %d"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "Kunne ikke oprette underproces IPC"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "Kunne ikke udføre komprimeringsprogram "
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, c-format
msgid "read, still have %llu to read but none left"
msgstr "læs, mangler stadig at læse %llu men der er ikke flere"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "skriv, mangler stadig at skrive %llu men kunne ikke"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, c-format
msgid "Problem closing the file %s"
msgstr "Problem under lukning af filen %s"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, c-format
msgid "Problem renaming the file %s to %s"
msgstr "Problem under omdøbning af filen %s til %s"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, c-format
msgid "Problem unlinking the file %s"
msgstr "Fejl ved frigivelse af filen %s"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "Problem under synkronisering af fil"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "omdøbning mislykkedes, %s (%s -> %s)."
diff --git a/po/de.po b/po/de.po
index a822e23f9..aaa08def6 100644
--- a/po/de.po
+++ b/po/de.po
@@ -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-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -889,9 +889,9 @@ msgstr "Zeitüberschreitung der Verbindung"
msgid "Server closed the connection"
msgstr "Verbindung durch Server geschlossen"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "Lesefehler"
@@ -904,9 +904,9 @@ msgid "Protocol corruption"
msgstr "Protokoll beschädigt"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "Schreibfehler"
@@ -1176,7 +1176,7 @@ msgstr "Verbindung fehlgeschlagen"
msgid "Internal error"
msgstr "Interner Fehler"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2670,58 +2670,58 @@ msgstr "Unterprozess %s unerwartet beendet"
msgid "Problem closing the gzip file %s"
msgstr "Problem beim Schließen der gzip-Datei %s"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "Datei %s konnte nicht geöffnet werden."
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, c-format
msgid "Could not open file descriptor %d"
msgstr "Datei-Deskriptor %d konnte nicht geöffnet werden."
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr ""
"Interprozesskommunikation mit Unterprozess konnte nicht aufgebaut werden."
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "Fehler beim Ausführen von Komprimierer "
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, c-format
msgid "read, still have %llu to read but none left"
msgstr ""
"Lesevorgang: es verbleiben noch %llu zu lesen, jedoch ist nichts mehr übrig."
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, c-format
msgid "write, still have %llu to write but couldn't"
msgstr ""
"Schreibvorgang: es verbleiben noch %llu zu schreiben, Schreiben ist jedoch "
"nicht möglich."
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, c-format
msgid "Problem closing the file %s"
msgstr "Problem beim Schließen der Datei %s"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, c-format
msgid "Problem renaming the file %s to %s"
msgstr "Problem beim Umbenennen der Datei %s nach %s"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, c-format
msgid "Problem unlinking the file %s"
msgstr "Problem beim Entfernen (unlink) der Datei %s"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "Problem beim Synchronisieren der Datei"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "Umbenennen fehlgeschlagen, %s (%s -> %s)."
diff --git a/po/dz.po b/po/dz.po
index eab302182..8090b9d43 100644
--- a/po/dz.po
+++ b/po/dz.po
@@ -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-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -833,9 +833,9 @@ msgstr "མཐུད་ལམ་ངལ་མཚམས"
msgid "Server closed the connection"
msgstr "སར་བར་གྱིས་མཐུད་ལམ་འདི་ཁ་བསྡམས་ཏེ་ཡོདཔ་ཨིན།"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "འཛོལ་བ་ལྷབ།"
@@ -848,9 +848,9 @@ msgid "Protocol corruption"
msgstr "གནད་སྤེལ་ལམ་ལུགས་ ངན་ཅན།"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "འཛོལ་བ་འབྲི།"
@@ -1109,7 +1109,7 @@ msgstr "བཐུད་ལམ་འཐུས་ཤོར་བྱུང་ཡོ
msgid "Internal error"
msgstr "ནང་འཁོད་འཛོལ་བ།"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2575,54 +2575,54 @@ msgstr "ཡན་ལག་ལས་སྦྱོར་་%s་གིས་རེ
msgid "Problem closing the gzip file %s"
msgstr "ཡིག་སྣོད་འདི་ཁ་བསྡམས་པའི་བསྒང་དཀའ་ངལ།"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "%s་ཡིག་སྣོད་འདི་ཁ་ཕྱེ་མ་ཚུགས།"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, fuzzy, c-format
msgid "Could not open file descriptor %d"
msgstr "%s་གི་དོན་ལུ་རྒྱུད་དུང་འདི་ཁ་ཕྱེ་མ་ཚུགས།"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "ཡན་ལག་ལས་སྦྱོར་ ཨའི་པི་སི་ གསར་བསྐྲུན་འབད་ནི་ལུ་འཐུས་ཤོར་བྱུང་ཡོད།"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "ཨེབ་འཕྲུལ་ལག་ལེན་འཐབ་ནི་ལུ་འཐུས་ཤོར་བྱུང་ཡོད།"
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, fuzzy, c-format
msgid "read, still have %llu to read but none left"
msgstr "ལྷག་ ད་ལྟོ་ཡང་ལྷག་ནི་ལུ་%lu་ཡོད་འདི་འབདཝ་ད་ཅི་ཡང་ལྷག་ལུས་མིན་འདུག"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, fuzzy, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "འབྲི་ ད་ལྟོ་ཡང་འབྲི་ནི་ལུ་%lu་ཡོད་འདི་འདབཝ་ད་འབད་མ་ཚུགས།"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, fuzzy, c-format
msgid "Problem closing the file %s"
msgstr "ཡིག་སྣོད་འདི་ཁ་བསྡམས་པའི་བསྒང་དཀའ་ངལ།"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, fuzzy, c-format
msgid "Problem renaming the file %s to %s"
msgstr "ཡིག་སྣོད་མཉམ་བྱུང་འབདཝ་ད་དཀའ་ངལ།"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, fuzzy, c-format
msgid "Problem unlinking the file %s"
msgstr "ཡིག་སྣོད་འདི་འབྲེལལམ་མེདཔ་བཟོ་བའི་བསྒང་དཀའ་ངལ།"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "ཡིག་སྣོད་མཉམ་བྱུང་འབདཝ་ད་དཀའ་ངལ།"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "%s (%s -> %s)བསྐྱར་མིང་བཏགས་ནི་འདི་འཐུས་ཤོར་བྱུང་ཡོདཔ་ཨིན།"
diff --git a/po/el.po b/po/el.po
index 9a7d05cfb..761435e57 100644
--- a/po/el.po
+++ b/po/el.po
@@ -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-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -846,9 +846,9 @@ msgstr "Λήξη χρόνου σύνδεσης"
msgid "Server closed the connection"
msgstr "Ο διακομιστής έκλεισε την σύνδεση"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "Σφάλμα ανάγνωσης"
@@ -861,9 +861,9 @@ msgid "Protocol corruption"
msgstr "Αλλοίωση του πρωτοκόλλου"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "Σφάλμα εγγραφής"
@@ -1125,7 +1125,7 @@ msgstr "Η σύνδεση απέτυχε"
msgid "Internal error"
msgstr "Εσωτερικό Σφάλμα"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2601,54 +2601,54 @@ msgstr "Η υποδιεργασία %s εγκατέλειψε απρόσμενα
msgid "Problem closing the gzip file %s"
msgstr "Πρόβλημα κατά το κλείσιμο του αρχείου"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "Αδύνατο το άνοιγμα του αρχείου %s"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, fuzzy, c-format
msgid "Could not open file descriptor %d"
msgstr "Αδύνατο το άνοιγμα διασωλήνωσης για το %s"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "Αποτυχία δημιουργίας IPC στην υποδιεργασία"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "Αποτυχία εκτέλεσης του συμπιεστή "
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, fuzzy, c-format
msgid "read, still have %llu to read but none left"
msgstr "αναγνώστηκαν, απομένουν ακόμη %lu για ανάγνωση αλλά δεν απομένουν άλλα"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, fuzzy, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "γράφτηκαν, απομένουν %lu για εγγραφή αλλά χωρίς επιτυχία"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, fuzzy, c-format
msgid "Problem closing the file %s"
msgstr "Πρόβλημα κατά το κλείσιμο του αρχείου"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, fuzzy, c-format
msgid "Problem renaming the file %s to %s"
msgstr "Πρόβλημα κατά τον συγχρονισμό του αρχείου"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, fuzzy, c-format
msgid "Problem unlinking the file %s"
msgstr "Πρόβλημα κατά την διαγραφή του αρχείου"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "Πρόβλημα κατά τον συγχρονισμό του αρχείου"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "απέτυχε η μετονομασία, %s (%s -> %s)."
diff --git a/po/es.po b/po/es.po
index 7dd6ef6fd..8b6a05561 100644
--- a/po/es.po
+++ b/po/es.po
@@ -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-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -904,9 +904,9 @@ msgstr "La conexión expiró"
msgid "Server closed the connection"
msgstr "El servidor cerró la conexión"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "Error de lectura"
@@ -919,9 +919,9 @@ msgid "Protocol corruption"
msgstr "Fallo del protocolo"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "Error de escritura"
@@ -1180,7 +1180,7 @@ msgstr "Fallo la conexión"
msgid "Internal error"
msgstr "Error interno"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2671,54 +2671,54 @@ msgstr "El subproceso %s terminó de forma inesperada"
msgid "Problem closing the gzip file %s"
msgstr "Se produjo un problema al cerrar el fichero gzip %s"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "No pude abrir el fichero %s"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, c-format
msgid "Could not open file descriptor %d"
msgstr "No se pudo abrir el descriptor de fichero %d"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "No se pudo crear el subproceso IPC"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "No se pudo ejecutar el compresor "
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, fuzzy, c-format
msgid "read, still have %llu to read but none left"
msgstr "leídos, todavía debía leer %lu pero no queda nada"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, fuzzy, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "escritos, todavía tenía que escribir %lu pero no pude hacerlo"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, c-format
msgid "Problem closing the file %s"
msgstr "Se produjo un problema al cerrar el fichero %s"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, c-format
msgid "Problem renaming the file %s to %s"
msgstr "Se produjo un problema al renombrar el fichero %s a %s"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, c-format
msgid "Problem unlinking the file %s"
msgstr "Se produjo un problema al desligar el fichero %s"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "Se produjo un problema al sincronizar el fichero"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "falló el cambio de nombre, %s (%s -> %s)."
diff --git a/po/eu.po b/po/eu.po
index de7e906a6..fd266e49e 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -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-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -834,9 +834,9 @@ msgstr "Konexioa denboraz kanpo"
msgid "Server closed the connection"
msgstr "Zerbitzariak konexioa itxi du"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "Irakurketa errorea"
@@ -849,9 +849,9 @@ msgid "Protocol corruption"
msgstr "Protokolo hondatzea"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "Idazketa errorea"
@@ -1110,7 +1110,7 @@ msgstr "Konexioak huts egin du"
msgid "Internal error"
msgstr "Barne errorea"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2578,54 +2578,54 @@ msgstr "%s azpiprozesua ustekabean amaitu da"
msgid "Problem closing the gzip file %s"
msgstr "Arazoa fitxategia ixtean"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "%s fitxategia ezin izan da ireki"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, fuzzy, c-format
msgid "Could not open file descriptor %d"
msgstr "Ezin izan da %s(r)en kanalizazioa ireki"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "Huts egin du IPC azpiprozesua sortzean"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "Huts egin du konpresorea exekutatzean "
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, fuzzy, c-format
msgid "read, still have %llu to read but none left"
msgstr "irakurrita; oraindik %lu irakurtzeke, baina ez da ezer geratzen"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, fuzzy, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "idatzita; oraindik %lu idazteke, baina ezin da"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, fuzzy, c-format
msgid "Problem closing the file %s"
msgstr "Arazoa fitxategia ixtean"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, fuzzy, c-format
msgid "Problem renaming the file %s to %s"
msgstr "Arazoa fitxategia sinkronizatzean"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, fuzzy, c-format
msgid "Problem unlinking the file %s"
msgstr "Arazoa fitxategia desestekatzean"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "Arazoa fitxategia sinkronizatzean"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "huts egin du izen-aldaketak, %s (%s -> %s)."
diff --git a/po/fi.po b/po/fi.po
index 0d7d68bb5..8e9835466 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 0.5.26\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2014-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -826,9 +826,9 @@ msgstr "Yhteys aikakatkaistiin"
msgid "Server closed the connection"
msgstr "Palvelin sulki yhteyden"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "Lukuvirhe"
@@ -841,9 +841,9 @@ msgid "Protocol corruption"
msgstr "Yhteyskäytäntö on turmeltunut"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "Virhe kirjoitettaessa"
@@ -1102,7 +1102,7 @@ msgstr "Yhteys ei toiminut"
msgid "Internal error"
msgstr "Sisäinen virhe"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2569,54 +2569,54 @@ msgstr "Aliprosessi %s lopetti odottamatta"
msgid "Problem closing the gzip file %s"
msgstr "Pulmia tiedoston sulkemisessa"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "Tiedostoa %s ei voitu avata"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, fuzzy, c-format
msgid "Could not open file descriptor %d"
msgstr "Putkea %s ei voitu avata"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "Prosessien välistä kommunikaatiota aliprosessiin ei saatu luotua"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "Pakkaajan käynnistäminen ei onnistunut"
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, fuzzy, c-format
msgid "read, still have %llu to read but none left"
msgstr "read, vielä %lu lukematta mutta tiedosto loppui"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, fuzzy, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "write, vielä %lu kirjoittamatta mutta epäonnistui"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, fuzzy, c-format
msgid "Problem closing the file %s"
msgstr "Pulmia tiedoston sulkemisessa"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, fuzzy, c-format
msgid "Problem renaming the file %s to %s"
msgstr "Pulmia tehtäessä tiedostolle sync"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, fuzzy, c-format
msgid "Problem unlinking the file %s"
msgstr "Pulmia tehtäessä tiedostolle unlink"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "Pulmia tehtäessä tiedostolle sync"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "nimen vaihto ei onnistunut, %s (%s -> %s)."
diff --git a/po/fr.po b/po/fr.po
index 29a2271bc..9541eee46 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -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-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -892,9 +892,9 @@ msgstr "Dépassement du délai de connexion"
msgid "Server closed the connection"
msgstr "Le serveur a fermé la connexion"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "Erreur de lecture"
@@ -907,9 +907,9 @@ msgid "Protocol corruption"
msgstr "Corruption du protocole"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "Erreur d'écriture"
@@ -1174,7 +1174,7 @@ msgstr "Échec de la connexion"
msgid "Internal error"
msgstr "Erreur interne"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2681,54 +2681,54 @@ msgstr "Le sous-processus %s s'est arrêté prématurément"
msgid "Problem closing the gzip file %s"
msgstr "Problème de fermeture du fichier gzip %s"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "Impossible d'ouvrir le fichier %s"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, c-format
msgid "Could not open file descriptor %d"
msgstr "Impossible d'ouvrir le descripteur de fichier %d"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "Impossible de créer un sous-processus IPC"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "Impossible d'exécuter la compression "
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, c-format
msgid "read, still have %llu to read but none left"
msgstr "lu(s), %llu restant à lire, mais rien n'est disponible"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "écrit(s), %llu restant à écrire, mais l'écriture est impossible"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, c-format
msgid "Problem closing the file %s"
msgstr "Problème de fermeture du fichier %s"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, c-format
msgid "Problem renaming the file %s to %s"
msgstr "Problème de renommage du fichier %s en %s"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, c-format
msgid "Problem unlinking the file %s"
msgstr "Problème de suppression du lien %s"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "Problème de synchronisation du fichier"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "impossible de changer le nom, %s (%s -> %s)."
diff --git a/po/gl.po b/po/gl.po
index fb586a3a3..7738a566e 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -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-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -849,9 +849,9 @@ msgstr "Esgotouse o tempo para a conexión"
msgid "Server closed the connection"
msgstr "O servidor pechou a conexión"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "Produciuse un erro de lectura"
@@ -864,9 +864,9 @@ msgid "Protocol corruption"
msgstr "Dano no protocolo"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "Produciuse un erro de escritura"
@@ -1129,7 +1129,7 @@ msgstr "Produciuse un fallo na conexión"
msgid "Internal error"
msgstr "Produciuse un erro interno"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2618,54 +2618,54 @@ msgstr "O subproceso %s saíu de xeito inesperado"
msgid "Problem closing the gzip file %s"
msgstr "Produciuse un problema ao pechar o arquivo gzip %s"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "Non foi posíbel abrir o ficheiro %s"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, c-format
msgid "Could not open file descriptor %d"
msgstr "Non foi posíbel abrir o descritor de ficheiro %d"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "Non foi posíbel crear o IPC do subproceso"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "Non foi posíbel executar o compresor "
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, fuzzy, c-format
msgid "read, still have %llu to read but none left"
msgstr "lectura, aínda hai %lu para ler pero non queda ningún"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, fuzzy, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "escritura, aínda hai %lu para escribir pero non se puido"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, c-format
msgid "Problem closing the file %s"
msgstr "Produciuse un problema ao pechar o ficheiro %s"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, c-format
msgid "Problem renaming the file %s to %s"
msgstr "Produciuse un problema ao renomear o ficheiro %s a %s"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, c-format
msgid "Problem unlinking the file %s"
msgstr "Produciuse un problema ao desligar o ficheiro %s"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "Produciuse un problema ao sincronizar o ficheiro"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "non foi posíbel cambiar o nome, %s (%s -> %s)."
diff --git a/po/hu.po b/po/hu.po
index 323cab75f..c8892d7c0 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -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-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -869,9 +869,9 @@ msgstr "Időtúllépés a kapcsolatban"
msgid "Server closed the connection"
msgstr "A kiszolgáló lezárta a kapcsolatot"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "Olvasási hiba"
@@ -884,9 +884,9 @@ msgid "Protocol corruption"
msgstr "Protokollhiba"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "Írási hiba"
@@ -1144,7 +1144,7 @@ msgstr "Sikertelen kapcsolódás"
msgid "Internal error"
msgstr "Belső hiba"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2621,54 +2621,54 @@ msgstr "%s alfolyamat váratlanul kilépett"
msgid "Problem closing the gzip file %s"
msgstr "Hiba a(z) %s gzip fájl bezárásakor"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "Nem lehet megnyitni a(z) %s fájlt"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, c-format
msgid "Could not open file descriptor %d"
msgstr "Nem lehet megnyitni a(z) %d fájlleírót"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "Nem sikerült az alfolyamat IPC-t létrehozni"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "Nem sikerült elindítani a tömörítőt "
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, c-format
msgid "read, still have %llu to read but none left"
msgstr "olvasás, még kellene %llu, de már az összes elfogyott"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "írás, még kiírandó %llu, de ez nem lehetséges"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, c-format
msgid "Problem closing the file %s"
msgstr "Hiba a(z) %s fájl bezárásakor"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, c-format
msgid "Problem renaming the file %s to %s"
msgstr "Hiba a(z) %s fájl átnevezésekor erre: %s"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, c-format
msgid "Problem unlinking the file %s"
msgstr "Hiba a(z) %s fájl törlésekor"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "Hiba a fájl szinkronizálásakor"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "sikertelen átnevezés, %s (%s -> %s)."
diff --git a/po/it.po b/po/it.po
index 9856bf486..03a114bde 100644
--- a/po/it.po
+++ b/po/it.po
@@ -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-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -882,9 +882,9 @@ msgstr "Connessione scaduta"
msgid "Server closed the connection"
msgstr "Il server ha chiuso la connessione"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "Errore di lettura"
@@ -897,9 +897,9 @@ msgid "Protocol corruption"
msgstr "Protocollo danneggiato"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "Errore di scrittura"
@@ -1163,7 +1163,7 @@ msgstr "Connessione non riuscita"
msgid "Internal error"
msgstr "Errore interno"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2663,54 +2663,54 @@ msgstr "Il sottoprocesso %s è uscito inaspettatamente"
msgid "Problem closing the gzip file %s"
msgstr "Si è verificato un problema nel chiudere il file gzip %s"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "Impossibile aprire il file %s"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, c-format
msgid "Could not open file descriptor %d"
msgstr "Impossibile aprire il descrittore del file %d"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "Creazione di un sottoprocesso IPC non riuscita"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "Esecuzione non riuscita del compressore "
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, c-format
msgid "read, still have %llu to read but none left"
msgstr "lettura, ancora %llu da leggere, ma non è stato trovato nulla"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "scrittura, ancora %llu da scrivere, ma non è possibile"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, c-format
msgid "Problem closing the file %s"
msgstr "Si è verificato un problema nel chiudere il file %s"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, c-format
msgid "Problem renaming the file %s to %s"
msgstr "Si è verificato un problema nel rinominare il file %s in %s"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, c-format
msgid "Problem unlinking the file %s"
msgstr "Si è verificato un problema nell'eseguire l'unlink del file %s"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "Si è verificato un problema nel sincronizzare il file"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "rename() non riuscita: %s (%s -> %s)."
diff --git a/po/ja.po b/po/ja.po
index 439af8f7f..bd2261781 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"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-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -903,9 +903,9 @@ msgstr "接続タイムアウト"
msgid "Server closed the connection"
msgstr "サーバが接続を切断しました"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "読み込みエラー"
@@ -918,9 +918,9 @@ msgid "Protocol corruption"
msgstr "プロトコルが壊れています"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "書き込みエラー"
@@ -1178,7 +1178,7 @@ msgstr "接続失敗"
msgid "Internal error"
msgstr "内部エラー"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr "一覧表示"
@@ -2640,54 +2640,54 @@ msgstr "子プロセス %s が予期せず終了しました"
msgid "Problem closing the gzip file %s"
msgstr "gzip ファイル %s のクローズ中に問題が発生しました"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "ファイル %s をオープンできませんでした"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, c-format
msgid "Could not open file descriptor %d"
msgstr "ファイルデスクリプタ %d を開けませんでした"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "子プロセス IPC の生成に失敗しました"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "以下の圧縮ツールの実行に失敗しました: "
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, c-format
msgid "read, still have %llu to read but none left"
msgstr "読み込みが %llu 残っているはずですが、何も残っていません"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "あと %llu 書き込む必要がありますが、書き込むことができませんでした"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, c-format
msgid "Problem closing the file %s"
msgstr "ファイル %s のクローズ中に問題が発生しました"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, c-format
msgid "Problem renaming the file %s to %s"
msgstr "%s から %s へのファイル名変更中に問題が発生しました"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, c-format
msgid "Problem unlinking the file %s"
msgstr "ファイル %s の削除中に問題が発生しました"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "ファイルの同期中に問題が発生しました"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "名前の変更に失敗しました。%s (%s -> %s)"
diff --git a/po/km.po b/po/km.po
index 98f874066..dcd1541d6 100644
--- a/po/km.po
+++ b/po/km.po
@@ -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-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -823,9 +823,9 @@ msgstr "អស់ពេល​ក្នុងការតភ្ជាប់​"
msgid "Server closed the connection"
msgstr "ម៉ាស៊ីន​បម្រើ​បាន​បិទ​ការតភ្ជាប់​"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "ការអាន​មានកំហុស"
@@ -838,9 +838,9 @@ msgid "Protocol corruption"
msgstr "ការបង្ខូច​ពិធីការ​"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "ការសរសេរ​មានកំហុស"
@@ -1095,7 +1095,7 @@ msgstr "ការតភ្ជាប់​បាន​បរាជ័យ​"
msgid "Internal error"
msgstr "កំហុស​ខាង​ក្នុង​"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2547,54 +2547,54 @@ msgstr "ដំណើរការ​រង​ %s បានចេញ ដោយ​
msgid "Problem closing the gzip file %s"
msgstr "មាន​បញ្ហា​ក្នុងការ​បិទ​ឯកសារ"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "មិន​អាច​បើក​ឯកសារ​ %s បានឡើយ"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, fuzzy, c-format
msgid "Could not open file descriptor %d"
msgstr "មិន​អាច​បើក​បំពុង​សម្រាប់​ %s បានឡើយ"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "បរាជ័យ​ក្នុង​ការ​បង្កើត​ដំណើរការ​រង​ IPC"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "បរាជ័យ​ក្នុង​ការ​ប្រតិបត្តិ​កម្មវិធី​បង្ហាប់ "
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, fuzzy, c-format
msgid "read, still have %llu to read but none left"
msgstr "អាន​, នៅតែ​មាន %lu ដើម្បី​អាន​ ប៉ុន្តែ​គ្មាន​អ្វី​នៅសល់"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, fuzzy, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "សរសេរ​, នៅតែមាន​ %lu ដើម្បី​សរសេរ​ ប៉ុន្តែ​មិន​អាច​"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, fuzzy, c-format
msgid "Problem closing the file %s"
msgstr "មាន​បញ្ហា​ក្នុងការ​បិទ​ឯកសារ"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, fuzzy, c-format
msgid "Problem renaming the file %s to %s"
msgstr "មានបញ្ហា​ក្នុង​ការធ្វើ​សមកាលកម្មឯកសារ​"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, fuzzy, c-format
msgid "Problem unlinking the file %s"
msgstr "មានបញ្ហា​ក្នុងការ​ផ្ដាច់តំណ​ឯកសារ"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "មានបញ្ហា​ក្នុង​ការធ្វើ​សមកាលកម្មឯកសារ​"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "ប្តូរ​ឈ្មោះ​បានបរាជ័យ​, %s (%s -> %s) ។"
diff --git a/po/ko.po b/po/ko.po
index ed4168b59..c41d2ca48 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -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-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -831,9 +831,9 @@ msgstr "연결 시간 초과"
msgid "Server closed the connection"
msgstr "서버에서 연결을 닫았습니다"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "읽기 오류"
@@ -846,9 +846,9 @@ msgid "Protocol corruption"
msgstr "프로토콜이 틀렸습니다"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "쓰기 오류"
@@ -1103,7 +1103,7 @@ msgstr "연결이 실패했습니다"
msgid "Internal error"
msgstr "내부 오류"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2563,54 +2563,54 @@ msgstr "하위 프로세스 %s 프로세스가 예상치 못하게 끝났습니
msgid "Problem closing the gzip file %s"
msgstr "%s gzip 파일을 닫는데 문제가 있습니다"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "%s 파일을 열 수 없습니다"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, c-format
msgid "Could not open file descriptor %d"
msgstr "%d 파일 디스크립터를 열 수 없습니다"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "하위 프로세스 IPC를 만드는데 실패했습니다"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "다음 압축 프로그램을 실행하는데 실패했습니다: "
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, fuzzy, c-format
msgid "read, still have %llu to read but none left"
msgstr "%lu만큼 더 읽어야 하지만 더 이상 읽을 데이터가 없습니다"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, fuzzy, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "%lu만큼 더 써야 하지만 더 이상 쓸 수 없습니다"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, c-format
msgid "Problem closing the file %s"
msgstr "%s 파일을 닫는데 문제가 있습니다"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, c-format
msgid "Problem renaming the file %s to %s"
msgstr "%s 파일을 %s(으)로 이름을 바꾸는데 문제가 있습니다"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, c-format
msgid "Problem unlinking the file %s"
msgstr "%s 파일을 삭제하는데 문제가 있습니다"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "파일을 동기화하는데 문제가 있습니다"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "이름 바꾸기가 실패했습니다. %s (%s -> %s)."
diff --git a/po/ku.po b/po/ku.po
index c198f1730..cb6e20aaa 100644
--- a/po/ku.po
+++ b/po/ku.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt-ku\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2014-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\n"
"PO-Revision-Date: 2008-05-08 12:48+0200\n"
"Last-Translator: Erdal Ronahi <erdal dot ronahi at gmail dot com>\n"
"Language-Team: ku <ubuntu-l10n-kur@lists.ubuntu.com>\n"
@@ -742,9 +742,9 @@ msgstr ""
msgid "Server closed the connection"
msgstr ""
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "Çewiya xwendinê"
@@ -757,9 +757,9 @@ msgid "Protocol corruption"
msgstr ""
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "Çewtiya nivîsînê"
@@ -1016,7 +1016,7 @@ msgstr "Girêdan pêk nehatiye"
msgid "Internal error"
msgstr "Çewtiya hundirîn"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2391,54 +2391,54 @@ msgstr ""
msgid "Problem closing the gzip file %s"
msgstr "Di girtina pelî de pirsgirêkek derket"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "Nikarî pelê %s veke"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, fuzzy, c-format
msgid "Could not open file descriptor %d"
msgstr "Nikarî pelê %s veke"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, c-format
msgid "read, still have %llu to read but none left"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, c-format
msgid "write, still have %llu to write but couldn't"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, fuzzy, c-format
msgid "Problem closing the file %s"
msgstr "Di girtina pelî de pirsgirêkek derket"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, fuzzy, c-format
msgid "Problem renaming the file %s to %s"
msgstr "Di girtina pelî de pirsgirêkek derket"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, fuzzy, c-format
msgid "Problem unlinking the file %s"
msgstr "Di girtina pelî de pirsgirêkek derket"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "nav guherandin biserneket, %s (%s -> %s)"
diff --git a/po/lt.po b/po/lt.po
index d950560a4..0488f39cd 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -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-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -746,9 +746,9 @@ msgstr "Jungiamasi per ilgai"
msgid "Server closed the connection"
msgstr ""
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "Skaitymo klaida"
@@ -761,9 +761,9 @@ msgid "Protocol corruption"
msgstr ""
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "Rašymo klaida"
@@ -1017,7 +1017,7 @@ msgstr "Prisijungti nepavyko"
msgid "Internal error"
msgstr "Vidinė klaida"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2481,54 +2481,54 @@ msgstr "Procesas %s netikėtai išėjo"
msgid "Problem closing the gzip file %s"
msgstr "Klaida užveriant failą"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "Nepavyko atverti failo %s"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, fuzzy, c-format
msgid "Could not open file descriptor %d"
msgstr "Nepavyko atverti failo %s"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "Nepavyko sukurti subproceso IPC"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "Nepavyko paleisti suspaudėjo "
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, c-format
msgid "read, still have %llu to read but none left"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, c-format
msgid "write, still have %llu to write but couldn't"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, fuzzy, c-format
msgid "Problem closing the file %s"
msgstr "Klaida užveriant failą"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, fuzzy, c-format
msgid "Problem renaming the file %s to %s"
msgstr "Klaida sinchronizuojant failą"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, fuzzy, c-format
msgid "Problem unlinking the file %s"
msgstr "Klaida užveriant failą"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "Klaida sinchronizuojant failą"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr ""
diff --git a/po/mr.po b/po/mr.po
index fc4b5a1a3..c7ac9664a 100644
--- a/po/mr.po
+++ b/po/mr.po
@@ -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-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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 "
@@ -820,9 +820,9 @@ msgstr "वेळेअभावी संबंध जोडता येत
msgid "Server closed the connection"
msgstr "सर्व्हरने संबंध जोडणी बंद केली"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "त्रुटी वाचा"
@@ -835,9 +835,9 @@ msgid "Protocol corruption"
msgstr "प्रोटोकॉल खराब झाले"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "लिहिण्यात त्रुटी"
@@ -1093,7 +1093,7 @@ msgstr "जोडणी अयशस्वी"
msgid "Internal error"
msgstr "अंतर्गत त्रुटी"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2552,54 +2552,54 @@ msgstr "%s उपक्रिया अचानकपणे बाहेर प
msgid "Problem closing the gzip file %s"
msgstr "फाईल बंद करण्यात अडचण"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "%s फाईल उघडता येत नाही"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, fuzzy, c-format
msgid "Could not open file descriptor %d"
msgstr "%s साठी पाईप उघडता येत नाही"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "आयपीसी उपक्रिया तयार करण्यास असमर्थ"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "दाबक(संकलितकर्ता) कर्यान्वित करण्यास असमर्थ"
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, fuzzy, c-format
msgid "read, still have %llu to read but none left"
msgstr "वाचा, %lu अजूनही वाचण्यासाठी आहे पण आता काही उरली नाही"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, fuzzy, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "लिहा, %lu अजूनही लिहिण्यासाठी आहे पण लिहिता येत नाही"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, fuzzy, c-format
msgid "Problem closing the file %s"
msgstr "फाईल बंद करण्यात अडचण"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, fuzzy, c-format
msgid "Problem renaming the file %s to %s"
msgstr "संचिकेची syncing समस्या"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, fuzzy, c-format
msgid "Problem unlinking the file %s"
msgstr "फाईल अनलिंकिंग करण्यात अडचण"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "संचिकेची syncing समस्या"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "पुनर्नामांकन अयशस्वी, %s (%s -> %s)."
diff --git a/po/nb.po b/po/nb.po
index 08379c91f..5600dca35 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -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-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -837,9 +837,9 @@ msgstr "Tidsavbrudd på forbindelsen"
msgid "Server closed the connection"
msgstr "Tjeneren lukket forbindelsen"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "Lesefeil"
@@ -852,9 +852,9 @@ msgid "Protocol corruption"
msgstr "Protokollødeleggelse"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "Skrivefeil"
@@ -1111,7 +1111,7 @@ msgstr "Forbindelsen mislykkes"
msgid "Internal error"
msgstr "Intern feil"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2582,54 +2582,54 @@ msgstr "Underprosessen %s avsluttet uventet"
msgid "Problem closing the gzip file %s"
msgstr "Problem ved låsing av gzip-fila %s"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "Klarte ikke åpne fila %s"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, c-format
msgid "Could not open file descriptor %d"
msgstr "Klarte ikke åpne fildeskriptor %d"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "Klarte ikke å opprette underprosessen IPC"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "Klarte ikke å kjøre komprimeringen"
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, fuzzy, c-format
msgid "read, still have %llu to read but none left"
msgstr "lese, har fremdeles %lu igjen å lese, men ingen igjen"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, fuzzy, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "skrive, har fremdeles %lu igjen å skrive, men klarte ikke å"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, c-format
msgid "Problem closing the file %s"
msgstr "Problem ved låsing av fila %s"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, c-format
msgid "Problem renaming the file %s to %s"
msgstr "Problem ved endring av navn på fila %s til %s"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, c-format
msgid "Problem unlinking the file %s"
msgstr "Problem ved oppheving av lenke til fila %s"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "Problem ved oppdatering av fila"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "klarte ikke å endre navnet, %s (%s -> %s)."
diff --git a/po/ne.po b/po/ne.po
index ff59e0502..0e13dd90d 100644
--- a/po/ne.po
+++ b/po/ne.po
@@ -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-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -822,9 +822,9 @@ msgstr "जडान समय सकियो"
msgid "Server closed the connection"
msgstr "सर्भरले जडान बन्द गर्यो"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "त्रुटि पढ्नुहोस्"
@@ -837,9 +837,9 @@ msgid "Protocol corruption"
msgstr "प्रोटोकल दूषित"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "त्रुटि लेख्नुहोस्"
@@ -1094,7 +1094,7 @@ msgstr "जडान असफल भयो"
msgid "Internal error"
msgstr "आन्तरिक त्रुटि"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2549,54 +2549,54 @@ msgstr "सहायक प्रक्रिया %s अनपेक्षि
msgid "Problem closing the gzip file %s"
msgstr "फाइल बन्द गर्दा समस्या"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "फाइल %s खोल्न सकिएन"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, fuzzy, c-format
msgid "Could not open file descriptor %d"
msgstr "%s को लागि पाइप खोल्न सकिएन"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "सहायक प्रक्रिया IPC सिर्जना गर्न असफल"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "सङ्कुचनकर्ता कार्यान्वयन गर्न असफल भयो"
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, fuzzy, c-format
msgid "read, still have %llu to read but none left"
msgstr "पड्नुहोस्, अहिले सम्म %lu पढ्न छ तर कुनै बाँकी छैन"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, fuzzy, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "लेख्नुहोस्, अहिले सम्म %lu लेख्न छ तर सकिदैन "
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, fuzzy, c-format
msgid "Problem closing the file %s"
msgstr "फाइल बन्द गर्दा समस्या"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, fuzzy, c-format
msgid "Problem renaming the file %s to %s"
msgstr "फाइल गुप्तिकरण गर्दा समस्या"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, fuzzy, c-format
msgid "Problem unlinking the file %s"
msgstr "फाइल अनलिङ्क गर्दा समस्या"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "फाइल गुप्तिकरण गर्दा समस्या"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "पुन:नामकरण असफल गरियो, %s (%s -> %s) ।"
diff --git a/po/nl.po b/po/nl.po
index a079c9819..dbd5bf934 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -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-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -850,9 +850,9 @@ msgstr "Verbinding is verlopen"
msgid "Server closed the connection"
msgstr "Verbinding is verbroken door de server"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "Leesfout"
@@ -865,9 +865,9 @@ msgid "Protocol corruption"
msgstr "Protocolcorruptie"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "Schrijffout"
@@ -1130,7 +1130,7 @@ msgstr "Verbinding mislukt"
msgid "Internal error"
msgstr "Interne fout"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2618,54 +2618,54 @@ msgstr "Subproces %s sloot onverwacht af"
msgid "Problem closing the gzip file %s"
msgstr "Probleem bij het afsluiten van het gzip-bestand %s"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "Kon het bestand %s niet openen"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, c-format
msgid "Could not open file descriptor %d"
msgstr "Kon de bestandsindicator %d niet openen"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "Aanmaken subproces-IPC is mislukt"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "Uitvoeren van de compressor is mislukt "
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, fuzzy, c-format
msgid "read, still have %llu to read but none left"
msgstr "lees, de laatste te lezen %lu zijn niet beschikbaar"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, fuzzy, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "schrijf, de laatste %lu konden niet weggeschreven worden"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, c-format
msgid "Problem closing the file %s"
msgstr "Probleem bij het afsluiten van het bestand %s"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, c-format
msgid "Problem renaming the file %s to %s"
msgstr "Probleem bij het hernoemen van '%s' naar '%s'"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, c-format
msgid "Problem unlinking the file %s"
msgstr "Probleem bij het ontlinken van het bestand %s"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "Probleem bij het synchroniseren van het bestand"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "herbenoeming is mislukt, %s (%s -> %s)."
diff --git a/po/nn.po b/po/nn.po
index 5220b6d66..b4df6ba8c 100644
--- a/po/nn.po
+++ b/po/nn.po
@@ -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-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -831,9 +831,9 @@ msgstr "Tidsavbrot p samband"
msgid "Server closed the connection"
msgstr "Tenaren lukka sambandet"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "Lesefeil"
@@ -846,9 +846,9 @@ msgid "Protocol corruption"
msgstr "Protokollydeleggjing"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "Skrivefeil"
@@ -1103,7 +1103,7 @@ msgstr "Sambandet mislukkast"
msgid "Internal error"
msgstr "Intern feil"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2555,54 +2555,54 @@ msgstr "Underprosessen %s avslutta uventa"
msgid "Problem closing the gzip file %s"
msgstr "Problem ved lsing av fila"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "Klarte ikkje opna fila %s"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, fuzzy, c-format
msgid "Could not open file descriptor %d"
msgstr "Klarte ikkje opna ryr for %s"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "Klarte ikkje oppretta underprosessen IPC"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "Klarte ikkje kyra komprimeringa "
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, fuzzy, c-format
msgid "read, still have %llu to read but none left"
msgstr "lese, har framleis %lu att lesa, men ingen att"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, fuzzy, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "skrive, har framleis %lu att skrive, men klarte ikkje"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, fuzzy, c-format
msgid "Problem closing the file %s"
msgstr "Problem ved lsing av fila"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, fuzzy, c-format
msgid "Problem renaming the file %s to %s"
msgstr "Problem ved synkronisering av fila"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, fuzzy, c-format
msgid "Problem unlinking the file %s"
msgstr "Problem ved oppheving av lenkje til fila"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "Problem ved synkronisering av fila"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "endring av namn mislukkast, %s (%s -> %s)."
diff --git a/po/pl.po b/po/pl.po
index 5cc96f2eb..3b81f0657 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 0.9.7.3\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2014-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -879,9 +879,9 @@ msgstr "Przekroczenie czasu połączenia"
msgid "Server closed the connection"
msgstr "Serwer zamknął połączenie"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "Błąd odczytu"
@@ -894,9 +894,9 @@ msgid "Protocol corruption"
msgstr "Naruszenie zasad protokołu"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "Błąd zapisu"
@@ -1155,7 +1155,7 @@ msgstr "Połączenie nie powiodło się"
msgid "Internal error"
msgstr "Błąd wewnętrzny"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2654,54 +2654,54 @@ msgstr "Podproces %s zakończył się niespodziewanie"
msgid "Problem closing the gzip file %s"
msgstr "Problem przy zamykaniu pliku gzip %s"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "Nie udało się otworzyć pliku %s"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, c-format
msgid "Could not open file descriptor %d"
msgstr "Nie udało się otworzyć deskryptora pliku %d"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "Nie udało się utworzyć IPC z podprocesem"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "Nie udało się uruchomić kompresora "
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, c-format
msgid "read, still have %llu to read but none left"
msgstr "należało przeczytać jeszcze %llu, ale nic nie zostało"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "należało zapisać jeszcze %llu, ale nie udało się to"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, c-format
msgid "Problem closing the file %s"
msgstr "Problem przy zamykaniu pliku %s"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, c-format
msgid "Problem renaming the file %s to %s"
msgstr "Problem przy zapisywaniu pliku %s w %s"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, c-format
msgid "Problem unlinking the file %s"
msgstr "Problem przy odlinkowywaniu pliku %s"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "Problem przy zapisywaniu pliku na dysk"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "nie udało się zmienić nazwy, %s (%s -> %s)"
diff --git a/po/pt.po b/po/pt.po
index 3e49fc625..b89bb27e6 100644
--- a/po/pt.po
+++ b/po/pt.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-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -868,9 +868,9 @@ msgstr "Foi atingido o tempo limite de ligação"
msgid "Server closed the connection"
msgstr "O servidor fechou a ligação"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "Erro de leitura"
@@ -883,9 +883,9 @@ msgid "Protocol corruption"
msgstr "Corrupção de protocolo"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "Erro de escrita"
@@ -1145,7 +1145,7 @@ msgstr "A ligação falhou"
msgid "Internal error"
msgstr "Erro interno"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2628,54 +2628,54 @@ msgstr "O sub-processo %s terminou inesperadamente"
msgid "Problem closing the gzip file %s"
msgstr "Problema ao fechar o ficheiro gzip %s"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "Não foi possível abrir ficheiro o %s"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, c-format
msgid "Could not open file descriptor %d"
msgstr "Não foi possível abrir o descritor de ficheiro %d"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "Falhou criar subprocesso IPC"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "Falhou executar compactador "
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, c-format
msgid "read, still have %llu to read but none left"
msgstr "lidos, ainda restam %llu para serem lidos mas não resta nenhum"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "escritos, ainda restam %llu para escrever mas não foi possível"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, c-format
msgid "Problem closing the file %s"
msgstr "Problema ao fechar o ficheiro %s"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, c-format
msgid "Problem renaming the file %s to %s"
msgstr "Problema ao renomear o ficheiro %s para %s"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, c-format
msgid "Problem unlinking the file %s"
msgstr "Problema ao remover o link do ficheiro %s"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "Problema sincronizando o ficheiro"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "falhou renomear, %s (%s -> %s)."
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 9b7255ab7..b52558a89 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-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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."
@@ -839,9 +839,9 @@ msgstr "Conexão expirou"
msgid "Server closed the connection"
msgstr "Servidor fechou a conexão"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "Erro de leitura"
@@ -854,9 +854,9 @@ msgid "Protocol corruption"
msgstr "Corrupção de protocolo"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "Erro de escrita"
@@ -1117,7 +1117,7 @@ msgstr "Conexão falhou"
msgid "Internal error"
msgstr "Erro interno"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2594,54 +2594,54 @@ msgstr "Sub-processo %s finalizou inesperadamente"
msgid "Problem closing the gzip file %s"
msgstr "Problema fechando o arquivo"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "Não foi possível abrir arquivo %s"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, fuzzy, c-format
msgid "Could not open file descriptor %d"
msgstr "Não foi possível abrir \"pipe\" para %s"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "Falhou ao criar sub-processo IPC"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "Falhou ao executar compactador "
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, fuzzy, c-format
msgid "read, still have %llu to read but none left"
msgstr "leitura, ainda restam %lu para serem lidos mas nenhum deixado"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, fuzzy, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "escrita, ainda restam %lu para gravar mas não foi possível"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, fuzzy, c-format
msgid "Problem closing the file %s"
msgstr "Problema fechando o arquivo"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, fuzzy, c-format
msgid "Problem renaming the file %s to %s"
msgstr "Problema sincronizando o arquivo"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, fuzzy, c-format
msgid "Problem unlinking the file %s"
msgstr "Problema removendo o arquivo"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "Problema sincronizando o arquivo"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "renomeação falhou, %s (%s -> %s)."
diff --git a/po/ro.po b/po/ro.po
index e003560c1..72c0404b3 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -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-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -838,9 +838,9 @@ msgstr "Timpul de conectare a expirat"
msgid "Server closed the connection"
msgstr "Serverul a închis conexiunea"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "Eroare de citire"
@@ -853,9 +853,9 @@ msgid "Protocol corruption"
msgstr "Protocol corupt"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "Eroare de scriere"
@@ -1119,7 +1119,7 @@ msgstr "Conectare eșuată"
msgid "Internal error"
msgstr "Eroare internă"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2604,54 +2604,54 @@ msgstr "Subprocesul %s s-a terminat brusc"
msgid "Problem closing the gzip file %s"
msgstr "Problemă la închiderea fișierului"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "Nu s-a putut deschide fișierul %s"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, fuzzy, c-format
msgid "Could not open file descriptor %d"
msgstr "Nu s-a putut deschide conexiunea pentru %s"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "Eșec la crearea IPC-ului pentru subproces"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "Eșec la executarea compresorului"
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, fuzzy, c-format
msgid "read, still have %llu to read but none left"
msgstr "citire, încă mai am %lu de citit dar n-a mai rămas nimic"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, fuzzy, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "scriere, încă mai am %lu de scris dar nu pot"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, fuzzy, c-format
msgid "Problem closing the file %s"
msgstr "Problemă la închiderea fișierului"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, fuzzy, c-format
msgid "Problem renaming the file %s to %s"
msgstr "Problemă în timpul sincronizării fișierului"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, fuzzy, c-format
msgid "Problem unlinking the file %s"
msgstr "Problemă la dezlegarea fișierului"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "Problemă în timpul sincronizării fișierului"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "redenumire eșuată, %s (%s -> %s)."
diff --git a/po/ru.po b/po/ru.po
index c9559661c..3120a381b 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -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-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -876,9 +876,9 @@ msgstr "Допустимое время ожидания для соединен
msgid "Server closed the connection"
msgstr "Сервер прервал соединение"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "Ошибка чтения"
@@ -891,9 +891,9 @@ msgid "Protocol corruption"
msgstr "Искажение протокола"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "Ошибка записи"
@@ -1153,7 +1153,7 @@ msgstr "Соединение разорвано"
msgid "Internal error"
msgstr "Внутренняя ошибка"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2653,55 +2653,55 @@ msgstr "Порождённый процесс %s неожиданно завер
msgid "Problem closing the gzip file %s"
msgstr "Проблема закрытия gzip-файла %s"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "Не удалось открыть файл %s"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, c-format
msgid "Could not open file descriptor %d"
msgstr "Не удалось открыть файловый дескриптор %d"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "Не удалось создать IPC с порождённым процессом"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "Не удалось выполнить компрессор "
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, c-format
msgid "read, still have %llu to read but none left"
msgstr ""
"ошибка при чтении; собирались прочесть ещё %llu байт, но ничего больше нет"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "ошибка при записи; собирались записать ещё %llu байт, но не смогли"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, c-format
msgid "Problem closing the file %s"
msgstr "Проблема закрытия файла %s"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, c-format
msgid "Problem renaming the file %s to %s"
msgstr "Проблема при переименовании файла %s в %s"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, c-format
msgid "Problem unlinking the file %s"
msgstr "Проблема при удалении файла %s"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "Проблема при синхронизации файла"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "переименовать не удалось, %s (%s -> %s)."
diff --git a/po/sk.po b/po/sk.po
index 8f09fcd0c..cb394a91c 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -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-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -859,9 +859,9 @@ msgstr "Uplynul čas spojenia"
msgid "Server closed the connection"
msgstr "Server ukončil spojenie"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "Chyba pri čítaní"
@@ -874,9 +874,9 @@ msgid "Protocol corruption"
msgstr "Narušenie protokolu"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "Chyba pri zápise"
@@ -1132,7 +1132,7 @@ msgstr "Spojenie zlyhalo"
msgid "Internal error"
msgstr "Vnútorná chyba"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2608,54 +2608,54 @@ msgstr "Podproces %s neočakávane skončil"
msgid "Problem closing the gzip file %s"
msgstr "Problém pri zatváraní gzip súboru %s"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "Nedá sa otvoriť súbor %s"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, c-format
msgid "Could not open file descriptor %d"
msgstr "Nedá sa otvoriť popisovač súboru %d"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "Nedá sa vytvoriť podproces IPC"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "Nepodarilo sa spustiť kompresor "
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, c-format
msgid "read, still have %llu to read but none left"
msgstr "čítanie, treba prečítať ešte %llu, ale už nič neostáva"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "zápis, treba zapísať ešte %llu, no nedá sa to"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, c-format
msgid "Problem closing the file %s"
msgstr "Problém pri zatváraní súboru %s"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, c-format
msgid "Problem renaming the file %s to %s"
msgstr "Problém pri synchronizovaní súboru %s na %s"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, c-format
msgid "Problem unlinking the file %s"
msgstr "Problém pri odstraňovaní súboru %s"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "Problém pri synchronizovaní súboru"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "premenovanie zlyhalo, %s (%s -> %s)."
diff --git a/po/sl.po b/po/sl.po
index d36795470..683a05b1c 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -4,7 +4,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 0.5.5\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2014-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -855,9 +855,9 @@ msgstr "Povezava je zakasnela"
msgid "Server closed the connection"
msgstr "Strežnik je zaprl povezavo"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "Napaka branja"
@@ -870,9 +870,9 @@ msgid "Protocol corruption"
msgstr "Okvara protokola"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "Napaka pisanja"
@@ -1128,7 +1128,7 @@ msgstr "Povezava ni uspela"
msgid "Internal error"
msgstr "Notranja napaka"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2611,54 +2611,54 @@ msgstr "Pod-opravilo %s se je nepričakovano zaključilo"
msgid "Problem closing the gzip file %s"
msgstr "Težava med zapiranjem gzip datoteke %s"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "Ni mogoče odpreti datoteke %s"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, c-format
msgid "Could not open file descriptor %d"
msgstr "Ni mogoče odpreti opisnika datotek %d"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "Ni mogoče ustvariti podopravila IPD"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "Ni mogoče izvesti stiskanja "
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, c-format
msgid "read, still have %llu to read but none left"
msgstr "Prebrano, še vedno je treba prebrati %llu bajtov, vendar ni nič ostalo"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "pisanje, preostalo je še %llu za pisanje, vendar ni bilo mogoče pisati"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, c-format
msgid "Problem closing the file %s"
msgstr "Težava med zapiranjem datoteke %s"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, c-format
msgid "Problem renaming the file %s to %s"
msgstr "Težava med preimenovanje datoteke %s v %s"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, c-format
msgid "Problem unlinking the file %s"
msgstr "Težava med razvezovanjem datoteke %s"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "Težava med usklajevanjem datoteke"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "preimenovanje je spodletelo, %s (%s -> %s)."
diff --git a/po/sv.po b/po/sv.po
index 3bed88e94..13c08231f 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -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-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -838,9 +838,9 @@ msgstr "Tidsgränsen för anslutningen överskreds"
msgid "Server closed the connection"
msgstr "Servern stängde anslutningen"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "Läsfel"
@@ -853,9 +853,9 @@ msgid "Protocol corruption"
msgstr "Protokollet skadat"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "Skrivfel"
@@ -1119,7 +1119,7 @@ msgstr "Anslutningen misslyckades"
msgid "Internal error"
msgstr "Internt fel"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2605,54 +2605,54 @@ msgstr "Underprocessen %s avslutades oväntat"
msgid "Problem closing the gzip file %s"
msgstr "Problem med att stänga gzip-filen %s"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "Kunde inte öppna filen %s"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, c-format
msgid "Could not open file descriptor %d"
msgstr "Kunde inte öppna filhandtag %d"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "Misslyckades med att skapa underprocess-IPC"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "Misslyckades med att starta komprimerare "
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, fuzzy, c-format
msgid "read, still have %llu to read but none left"
msgstr "läsning, har fortfarande %lu att läsa men ingenting finns kvar"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, fuzzy, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "skrivning, har fortfarande %lu att skriva men kunde inte"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, c-format
msgid "Problem closing the file %s"
msgstr "Problem med att stänga filen %s"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, c-format
msgid "Problem renaming the file %s to %s"
msgstr "Problem med att byta namn på filen %s till %s"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, c-format
msgid "Problem unlinking the file %s"
msgstr "Problem med att avlänka filen %s"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "Problem med att synkronisera filen"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "namnbyte misslyckades, %s (%s -> %s)."
diff --git a/po/th.po b/po/th.po
index 03ecffa05..c3e2cefbc 100644
--- a/po/th.po
+++ b/po/th.po
@@ -1,16 +1,16 @@
# Thai translation of apt.
-# Copyright (C) 2007-2012 Free Software Foundation, Inc.
+# Copyright (C) 2007-2014 Free Software Foundation, Inc.
# This file is distributed under the same license as the apt package.
-# Theppiak Karoonboonyanan <thep@linux.thai.net>, 2007-2008, 2012.
+# Theppiak Karoonboonyanan <thep@debian.org>, 2007-2008, 2012, 2014.
# Arthit Suriyawongkul <arthit@gmail.com>, 2008.
#
msgid ""
msgstr ""
"Project-Id-Version: apt\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2014-04-01 15:51+0200\n"
-"PO-Revision-Date: 2012-10-27 22:44+0700\n"
-"Last-Translator: Theppitak Karoonboonyanan <thep@linux.thai.net>\n"
+"POT-Creation-Date: 2014-04-18 16:21+0200\n"
+"PO-Revision-Date: 2014-04-20 09:38+0700\n"
+"Last-Translator: Theppitak Karoonboonyanan <thep@debian.org>\n"
"Language-Team: Thai <thai-l10n@googlegroups.com>\n"
"Language: th\n"
"MIME-Version: 1.0\n"
@@ -254,6 +254,9 @@ msgid ""
"See 'man apt-cdrom' for more information about the CD-ROM auto-detection and "
"mount point."
msgstr ""
+"การตรวจซีดีรอมอัตโนมัติไม่พบซีดีรอมใดที่จุดเมานท์ปริยาย\n"
+"คุณอาจลองใช้ตัวเลือก --cdrom เพื่อกำหนดจุดเมานท์ของซีดีรอมได้\n"
+"อ่านข้อมูลเพิ่มเติมเกี่ยวกับการตรวจซีดีรอมอัตโนมัติและจุดเมานท์ได้จาก 'man apt-cdrom'"
#: cmdline/apt-cdrom.cc:182
msgid "Repeat this process for the rest of the CDs in your set."
@@ -292,19 +295,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 "ไม่พบแพกเกจ '%s' ที่มีชุดจัดแจกเป็น '%s'"
#: cmdline/apt-get.cc:367
#, c-format
@@ -312,9 +315,9 @@ msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "จะเลือก '%s' เป็นแพกเกจซอร์สแทน '%s'\n"
#: cmdline/apt-get.cc:423
-#, fuzzy, c-format
+#, c-format
msgid "Can not find version '%s' of package '%s'"
-msgstr "จะละเลยรุ่น '%s' ที่ไม่มีอยู่ของแพกเกจ '%s'"
+msgstr "ไม่พบรุ่น '%s' ของแพกเกจ '%s'"
#: cmdline/apt-get.cc:454
#, c-format
@@ -610,13 +613,12 @@ msgstr ""
" APT นี้มีพลังของ Super Cow\n"
#: cmdline/apt-helper.cc:35
-#, fuzzy
msgid "Must specify at least one pair url/filename"
-msgstr "ต้องระบุแพกเกจอย่างน้อยหนึ่งแพกเกจที่จะดาวน์โหลดซอร์สโค้ด"
+msgstr "ต้องระบุคู่ URL, ชื่อแฟ้ม อย่างน้อยหนึ่งคู่"
#: cmdline/apt-helper.cc:52
msgid "Download Failed"
-msgstr ""
+msgstr "ดาวน์โหลดไม่สำเร็จ"
#: cmdline/apt-helper.cc:65
msgid ""
@@ -630,6 +632,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 นี้มีพลัง Super Meep\n"
#: cmdline/apt-mark.cc:68
#, c-format
@@ -678,7 +689,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"
@@ -712,6 +722,12 @@ msgstr ""
"คำสั่ง:\n"
" auto - ทำเครื่องหมายแพกเกจที่กำหนดให้เป็นการติดตั้งแบบอัตโนมัติ\n"
" manual - ทำเครื่องหมายแพกเกจที่กำหนดให้เป็นการติดตั้งแบบเลือกเอง\n"
+" hold - ทำเครื่องหมายแพกเกจที่กำหนดให้เป็นการคงรุ่น\n"
+" unhold - ลบการทำเครื่องหมายการคงรุ่นจากแพกเกจที่กำหนด\n"
+" showauto - แสดงรายชื่อของแพกเกจที่ติดตั้งแบบอัตโนมัติ\n"
+" showmanual - แสดงรายชื่อของแพกเกจที่ติดตั้งแบบเลือกเอง\n"
+" showhold - แสดงรายชื่อของแพกเกจที่คงรุ่นอยู่\n"
+"\n"
"ตัวเลือก:\n"
" -h แสดงข้อความช่วยเหลือนี้\n"
" -q แสดงผลลัพธ์แบบบันทึกลงแฟ้มได้ - ไม่ต้องแสดงความคืบหน้า\n"
@@ -743,6 +759,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
@@ -838,9 +871,9 @@ msgstr "หมดเวลารอเชื่อมต่อ"
msgid "Server closed the connection"
msgstr "เซิร์ฟเวอร์ปิดการเชื่อมต่อ"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1478
+#: apt-pkg/contrib/fileutl.cc:1487 apt-pkg/contrib/fileutl.cc:1492
+#: apt-pkg/contrib/fileutl.cc:1494
msgid "Read error"
msgstr "การอ่านข้อมูลผิดพลาด"
@@ -853,9 +886,9 @@ msgid "Protocol corruption"
msgstr "มีความเสียหายของโพรโทคอล"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1600 apt-pkg/contrib/fileutl.cc:1609
+#: apt-pkg/contrib/fileutl.cc:1614 apt-pkg/contrib/fileutl.cc:1616
+#: apt-pkg/contrib/fileutl.cc:1641
msgid "Write error"
msgstr "การเขียนข้อมูลผิดพลาด"
@@ -985,12 +1018,12 @@ msgstr "ไม่สามารถเปิดหาที่อยู่ '%s'"
#: methods/connect.cc:205
#, c-format
msgid "Temporary failure resolving '%s'"
-msgstr "เกิดข้อผิดพลาดชั่วคราวขณะเปิดหาที่อยู่ '%s'"
+msgstr "เกิดความล้มเหลวชั่วคราวขณะเปิดหาที่อยู่ '%s'"
#: methods/connect.cc:209
-#, fuzzy, c-format
+#, c-format
msgid "System error resolving '%s:%s'"
-msgstr "เกิดปัญหาร้ายแรงบางอย่างขณะเปิดหาที่อยู่ '%s:%s' (%i - %s)"
+msgstr "เกิดข้อผิดพลาดในระบบขณะเปิดหาที่อยู่ '%s:%s'"
#: methods/connect.cc:211
#, c-format
@@ -1022,6 +1055,8 @@ msgid ""
"Clearsigned file isn't valid, got '%s' (does the network require "
"authentication?)"
msgstr ""
+"แฟ้มที่เซ็นกำกับครอบข้อความมีเนื้อหาไม่ถูกต้อง ได้รับผลลัพธ์ "
+"'%s' (เครือข่ายต้องยืนยันตัวบุคคลหรือไม่?)"
#: methods/gpgv.cc:184
msgid "Unknown error executing gpgv"
@@ -1109,9 +1144,99 @@ msgstr "เชื่อมต่อไม่สำเร็จ"
msgid "Internal error"
msgstr "ข้อผิดพลาดภายใน"
-#: apt-private/private-list.cc:132
-msgid "Listing"
+#: apt-private/acqprogress.cc:66
+msgid "Hit "
+msgstr "เจอ "
+
+#: apt-private/acqprogress.cc:90
+msgid "Get:"
+msgstr "ดึง:"
+
+#: apt-private/acqprogress.cc:121
+msgid "Ign "
+msgstr "ข้าม "
+
+#: apt-private/acqprogress.cc:125
+msgid "Err "
+msgstr "ปัญหา "
+
+#: apt-private/acqprogress.cc:146
+#, c-format
+msgid "Fetched %sB in %s (%sB/s)\n"
+msgstr "ดาวน์โหลด %sB ใน %s (%sB/s)\n"
+
+#: apt-private/acqprogress.cc:236
+#, c-format
+msgid " [Working]"
+msgstr " [กำลังทำงาน]"
+
+#: apt-private/acqprogress.cc:297
+#, c-format
+msgid ""
+"Media change: please insert the disc labeled\n"
+" '%s'\n"
+"in the drive '%s' and press enter\n"
msgstr ""
+"เปลี่ยนแผ่น: กรุณาใส่แผ่นชื่อ\n"
+" '%s'\n"
+"ลงในไดรว์ %s แล้วกด enter\n"
+
+#: apt-private/private-cachefile.cc:93
+msgid "Correcting dependencies..."
+msgstr "กำลังแก้ปัญหาความขึ้นต่อกันระหว่างแพกเกจ..."
+
+#: apt-private/private-cachefile.cc:96
+msgid " failed."
+msgstr " ล้มเหลว"
+
+#: apt-private/private-cachefile.cc:99
+msgid "Unable to correct dependencies"
+msgstr "ไม่สามารถแก้ปัญหาความขึ้นต่อกันระหว่างแพกเกจได้"
+
+#: apt-private/private-cachefile.cc:102
+msgid "Unable to minimize the upgrade set"
+msgstr "ไม่สามารถจำกัดรายการปรับรุ่นให้น้อยที่สุดได้"
+
+#: apt-private/private-cachefile.cc:104
+msgid " Done"
+msgstr " เสร็จแล้ว"
+
+#: apt-private/private-cachefile.cc:108
+msgid "You might want to run 'apt-get -f install' to correct these."
+msgstr "คุณอาจต้องเรียก 'apt-get -f install' เพื่อแก้ปัญหาเหล่านี้"
+
+#: apt-private/private-cachefile.cc:111
+msgid "Unmet dependencies. Try using -f."
+msgstr "รายการแพกเกจที่ต้องใช้ไม่ครบ กรุณาลองใช้ตัวเลือก -f"
+
+#: apt-private/private-cacheset.cc:35 apt-private/private-search.cc:47
+msgid "Sorting"
+msgstr "กำลังเรียงลำดับ"
+
+#: apt-private/private-download.cc:31
+msgid "WARNING: The following packages cannot be authenticated!"
+msgstr "*คำเตือน*: แพกเกจต่อไปนี้ไม่สามารถยืนยันแหล่งต้นตอได้!"
+
+#: apt-private/private-download.cc:35
+msgid "Authentication warning overridden.\n"
+msgstr "จะข้ามการเตือนเกี่ยวกับการยืนยันแหล่งต้นตอ\n"
+
+#: apt-private/private-download.cc:40 apt-private/private-download.cc:47
+msgid "Some packages could not be authenticated"
+msgstr "มีบางแพกเกจไม่สามารถยืนยันแหล่งต้นตอได้"
+
+#: apt-private/private-download.cc:45
+msgid "Install these packages without verification?"
+msgstr "จะติดตั้งแพกเกจเหล่านี้โดยไม่ตรวจสอบหรือไม่?"
+
+#: apt-private/private-download.cc:54 apt-private/private-install.cc:209
+msgid "There are problems and -y was used without --force-yes"
+msgstr "มีปัญหาบางประการ และมีการใช้ -y โดยไม่ระบุ --force-yes"
+
+#: apt-private/private-download.cc:86 apt-pkg/update.cc:77
+#, c-format
+msgid "Failed to fetch %s %s\n"
+msgstr "ไม่สามารถดาวน์โหลด %s %s\n"
#: apt-private/private-install.cc:81
msgid "Internal error, InstallPackages was called with broken packages!"
@@ -1162,10 +1287,6 @@ msgstr "หลังจากการกระทำนี้ เนื้อ
msgid "You don't have enough free space in %s."
msgstr "คุณมีพื้นที่ว่างเหลือไม่พอใน %s"
-#: apt-private/private-install.cc:209 apt-private/private-download.cc:54
-msgid "There are problems and -y was used without --force-yes"
-msgstr "มีปัญหาบางประการ และมีการใช้ -y โดยไม่ระบุ --force-yes"
-
#: apt-private/private-install.cc:215 apt-private/private-install.cc:237
msgid "Trivial Only specified but this is not a trivial operation."
msgstr "Trivial Only ถูกกำหนดไว้ แต่คำสั่งนี้ไม่ใช่คำสั่งเล็กน้อย"
@@ -1323,129 +1444,128 @@ msgstr "แพกเกจที่แนะนำ:"
msgid "Recommended packages:"
msgstr "แพกเกจที่ควรใช้ร่วมกัน:"
-#: apt-private/private-download.cc:31
-msgid "WARNING: The following packages cannot be authenticated!"
-msgstr "*คำเตือน*: แพกเกจต่อไปนี้ไม่สามารถยืนยันแหล่งต้นตอได้!"
-
-#: apt-private/private-download.cc:35
-msgid "Authentication warning overridden.\n"
-msgstr "จะข้ามการเตือนเกี่ยวกับการยืนยันแหล่งต้นตอ\n"
-
-#: apt-private/private-download.cc:40 apt-private/private-download.cc:47
-msgid "Some packages could not be authenticated"
-msgstr "มีบางแพกเกจไม่สามารถยืนยันแหล่งต้นตอได้"
-
-#: apt-private/private-download.cc:45
-msgid "Install these packages without verification?"
-msgstr "จะติดตั้งแพกเกจเหล่านี้โดยไม่ตรวจสอบหรือไม่?"
+#: apt-private/private-list.cc:131
+msgid "Listing"
+msgstr "กำลังแสดงรายชื่อ"
-#: apt-private/private-download.cc:86 apt-pkg/update.cc:77
+#: apt-private/private-list.cc:164
#, c-format
-msgid "Failed to fetch %s %s\n"
-msgstr "ไม่สามารถดาวน์โหลด %s %s\n"
+msgid "There is %i additional version. Please use the '-a' switch to see it"
+msgid_plural ""
+"There are %i additional versions. Please use the '-a' switch to see them."
+msgstr[0] "มีอีก %i รุ่น กรุณาใช้ตัวเลือก '-a' หากต้องการดูเพิ่ม"
+
+#: apt-private/private-main.cc:23
+msgid ""
+"NOTE: This is only a simulation!\n"
+" apt-get needs root privileges for real execution.\n"
+" Keep also in mind that locking is deactivated,\n"
+" so don't depend on the relevance to the real current situation!"
+msgstr ""
+"หมายเหตุ: นี่เป็นเพียงการจำลองการทำงานเท่านั้น!\n"
+" การทำงานจริงของ apt-get ต้องอาศัยสิทธิ์ผู้ดูแลระบบ\n"
+" อย่าลืมด้วยว่าการล็อคก็ไม่ทำงานเช่นกัน\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
+#: apt-private/private-output.cc:211
+#, c-format
msgid "[installed,upgradable to: %s]"
-msgstr " [ติดตั้งอยู่]"
+msgstr "[ติดตั้งอยู่,สามารถปรับรุ่นเป็น: %s]"
-#: apt-private/private-output.cc:211
-#, fuzzy
+#: apt-private/private-output.cc:215
msgid "[installed,local]"
-msgstr " [ติดตั้งอยู่]"
+msgstr "[ติดตั้งอยู่,ในเครื่อง]"
-#: apt-private/private-output.cc:214
+#: apt-private/private-output.cc:218
msgid "[installed,auto-removable]"
-msgstr ""
+msgstr "[ติดตั้งอยู่,ถอดถอนอัตโนมัติได้]"
-#: apt-private/private-output.cc:216
-#, fuzzy
+#: apt-private/private-output.cc:220
msgid "[installed,automatic]"
-msgstr " [ติดตั้งอยู่]"
+msgstr "[ติดตั้งอยู่,อัตโนมัติ]"
-#: apt-private/private-output.cc:218
-#, fuzzy
+#: apt-private/private-output.cc:222
msgid "[installed]"
-msgstr " [ติดตั้งอยู่]"
+msgstr "[ติดตั้งอยู่]"
-#: apt-private/private-output.cc:222
+#: apt-private/private-output.cc:226
#, c-format
msgid "[upgradable from: %s]"
-msgstr ""
+msgstr "[สามารถปรับรุ่นจาก: %s]"
-#: apt-private/private-output.cc:226
+#: apt-private/private-output.cc:230
msgid "[residual-config]"
-msgstr ""
+msgstr "[ค่าตั้งตกค้าง]"
-#: apt-private/private-output.cc:326
+#: apt-private/private-output.cc:330
msgid "The following packages have unmet dependencies:"
msgstr "แพกเกจต่อไปนี้ขาดแพกเกจที่ต้องใช้:"
-#: apt-private/private-output.cc:416
+#: apt-private/private-output.cc:420
#, c-format
msgid "but %s is installed"
msgstr "แต่รุ่นที่ติดตั้งไว้คือ %s"
-#: apt-private/private-output.cc:418
+#: apt-private/private-output.cc:422
#, c-format
msgid "but %s is to be installed"
msgstr "แต่รุ่นที่จะติดตั้งคือ %s"
-#: apt-private/private-output.cc:425
+#: apt-private/private-output.cc:429
msgid "but it is not installable"
msgstr "แต่ไม่สามารถติดตั้งได้"
-#: apt-private/private-output.cc:427
+#: apt-private/private-output.cc:431
msgid "but it is a virtual package"
msgstr "แต่แพกเกจนี้เป็นแพกเกจเสมือน"
-#: apt-private/private-output.cc:430
+#: apt-private/private-output.cc:434
msgid "but it is not installed"
msgstr "แต่ได้ติดตั้งไว้"
-#: apt-private/private-output.cc:430
+#: apt-private/private-output.cc:434
msgid "but it is not going to be installed"
msgstr "แต่แพกเกจนี้จะไม่ถูกติดตั้ง"
-#: apt-private/private-output.cc:435
+#: apt-private/private-output.cc:439
msgid " or"
msgstr " หรือ"
-#: apt-private/private-output.cc:464
+#: apt-private/private-output.cc:468
msgid "The following NEW packages will be installed:"
msgstr "จะติดตั้งแพกเกจ *ใหม่* ต่อไปนี้:"
-#: apt-private/private-output.cc:490
+#: apt-private/private-output.cc:494
msgid "The following packages will be REMOVED:"
msgstr "จะ *ลบ* แพกเกจต่อไปนี้:"
-#: apt-private/private-output.cc:512
+#: apt-private/private-output.cc:516
msgid "The following packages have been kept back:"
msgstr "จะคงรุ่นแพกเกจต่อไปนี้:"
-#: apt-private/private-output.cc:533
+#: apt-private/private-output.cc:537
msgid "The following packages will be upgraded:"
msgstr "จะปรับรุ่นแพกเกจต่อไปนี้ขึ้น:"
-#: apt-private/private-output.cc:554
+#: apt-private/private-output.cc:558
msgid "The following packages will be DOWNGRADED:"
msgstr "จะปรับรุ่นแพกเกจต่อไปนี้ *ลง*:"
-#: apt-private/private-output.cc:574
+#: apt-private/private-output.cc:578
msgid "The following held packages will be changed:"
msgstr "จะเปลี่ยนแปลงรายการคงรุ่นแพกเกจต่อไปนี้:"
-#: apt-private/private-output.cc:629
+#: apt-private/private-output.cc:633
#, c-format
msgid "%s (due to %s) "
msgstr "%s (เนื่องจาก %s) "
-#: apt-private/private-output.cc:637
+#: apt-private/private-output.cc:641
msgid ""
"WARNING: The following essential packages will be removed.\n"
"This should NOT be done unless you know exactly what you are doing!"
@@ -1453,27 +1573,27 @@ msgstr ""
"*คำเตือน*: แพกเกจที่จำเป็นต่อไปนี้จะถูกถอดถอน\n"
"คุณ *ไม่ควร* ทำเช่นนี้ นอกจากคุณเข้าใจสิ่งที่จะทำ!"
-#: apt-private/private-output.cc:668
+#: apt-private/private-output.cc:672
#, c-format
msgid "%lu upgraded, %lu newly installed, "
msgstr "ปรับรุ่นขึ้น %lu, ติดตั้งใหม่ %lu, "
-#: apt-private/private-output.cc:672
+#: apt-private/private-output.cc:676
#, c-format
msgid "%lu reinstalled, "
msgstr "ติดตั้งซ้ำ %lu, "
-#: apt-private/private-output.cc:674
+#: apt-private/private-output.cc:678
#, c-format
msgid "%lu downgraded, "
msgstr "ปรับรุ่นลง %lu, "
-#: apt-private/private-output.cc:676
+#: apt-private/private-output.cc:680
#, c-format
msgid "%lu to remove and %lu not upgraded.\n"
msgstr "ถอดถอน %lu และไม่ปรับรุ่น %lu\n"
-#: apt-private/private-output.cc:680
+#: apt-private/private-output.cc:684
#, c-format
msgid "%lu not fully installed or removed.\n"
msgstr "ติดตั้งหรือถอดถอนไม่ครบ %lu\n"
@@ -1482,171 +1602,89 @@ msgstr "ติดตั้งหรือถอดถอนไม่ครบ %l
#. e.g. "Do you want to continue? [Y/n] "
#. The user has to answer with an input matching the
#. YESEXPR/NOEXPR defined in your l10n.
-#: apt-private/private-output.cc:702
+#: apt-private/private-output.cc:706
msgid "[Y/n]"
-msgstr ""
+msgstr "[Y/n]"
#. TRANSLATOR: Yes/No question help-text: defaulting to N[o]
#. e.g. "Should this file be removed? [y/N] "
#. The user has to answer with an input matching the
#. YESEXPR/NOEXPR defined in your l10n.
-#: apt-private/private-output.cc:708
+#: apt-private/private-output.cc:712
msgid "[y/N]"
-msgstr ""
+msgstr "[y/N]"
#. TRANSLATOR: "Yes" answer printed for a yes/no question if --assume-yes is set
-#: apt-private/private-output.cc:719
+#: apt-private/private-output.cc:723
msgid "Y"
-msgstr ""
+msgstr "Y"
#. TRANSLATOR: "No" answer printed for a yes/no question if --assume-no is set
-#: apt-private/private-output.cc:725
+#: apt-private/private-output.cc:729
msgid "N"
-msgstr ""
+msgstr "N"
-#: apt-private/private-output.cc:747 apt-pkg/cachefilter.cc:35
+#: apt-private/private-output.cc:751 apt-pkg/cachefilter.cc:35
#, c-format
msgid "Regex compilation error - %s"
msgstr "คอมไพล์นิพจน์เรกิวลาร์ไม่สำเร็จ - %s"
-#: apt-private/private-cachefile.cc:93
-msgid "Correcting dependencies..."
-msgstr "กำลังแก้ปัญหาความขึ้นต่อกันระหว่างแพกเกจ..."
-
-#: apt-private/private-cachefile.cc:96
-msgid " failed."
-msgstr " ล้มเหลว"
-
-#: apt-private/private-cachefile.cc:99
-msgid "Unable to correct dependencies"
-msgstr "ไม่สามารถแก้ปัญหาความขึ้นต่อกันระหว่างแพกเกจได้"
-
-#: apt-private/private-cachefile.cc:102
-msgid "Unable to minimize the upgrade set"
-msgstr "ไม่สามารถจำกัดรายการปรับรุ่นให้น้อยที่สุดได้"
-
-#: apt-private/private-cachefile.cc:104
-msgid " Done"
-msgstr " เสร็จแล้ว"
-
-#: apt-private/private-cachefile.cc:108
-msgid "You might want to run 'apt-get -f install' to correct these."
-msgstr "คุณอาจต้องเรียก 'apt-get -f install' เพื่อแก้ปัญหาเหล่านี้"
-
-#: apt-private/private-cachefile.cc:111
-msgid "Unmet dependencies. Try using -f."
-msgstr "รายการแพกเกจที่ต้องใช้ไม่ครบ กรุณาลองใช้ตัวเลือก -f"
-
-#: apt-private/private-cacheset.cc:35 apt-private/private-search.cc:47
-msgid "Sorting"
-msgstr ""
-
-#: apt-private/private-update.cc:31
-msgid "The update command takes no arguments"
-msgstr "คำสั่ง update ไม่รับอาร์กิวเมนต์เพิ่ม"
-
-#: apt-private/private-upgrade.cc:25
-msgid "Calculating upgrade... "
-msgstr "กำลังคำนวณการปรับรุ่น... "
-
-#: apt-private/private-upgrade.cc:30
-#, fuzzy
-msgid "Internal error, Upgrade broke stuff"
-msgstr "เกิดข้อผิดพลาดภายใน: AllUpgrade ทำความเสียหาย"
-
-#: apt-private/private-upgrade.cc:32
-msgid "Done"
-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 ""
-
-#: apt-private/private-main.cc:23
-msgid ""
-"NOTE: This is only a simulation!\n"
-" apt-get needs root privileges for real execution.\n"
-" Keep also in mind that locking is deactivated,\n"
-" so don't depend on the relevance to the real current situation!"
-msgstr ""
-"หมายเหตุ: นี่เป็นเพียงการจำลองการทำงานเท่านั้น!\n"
-" การทำงานจริงของ apt-get ต้องอาศัยสิทธิ์ผู้ดูแลระบบ\n"
-" อย่าลืมด้วยว่าการล็อคก็ไม่ทำงานเช่นกัน\n"
-" ดังนั้น อย่าถือผลลัพธ์นี้ว่าตรงกับสภาพความเป็นจริงของระบบ!"
+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 ""
-
-#: apt-private/acqprogress.cc:66
-msgid "Hit "
-msgstr "เจอ "
-
-#: apt-private/acqprogress.cc:90
-msgid "Get:"
-msgstr "ดึง:"
+msgstr "แฟ้ม '%s' ของคุณมีการเปลี่ยนแปลง กรุณาเรียก 'apt-get update'"
-#: apt-private/acqprogress.cc:121
-msgid "Ign "
-msgstr "ข้าม "
-
-#: apt-private/acqprogress.cc:125
-msgid "Err "
-msgstr "ปัญหา "
+#: apt-private/private-update.cc:31
+msgid "The update command takes no arguments"
+msgstr "คำสั่ง update ไม่รับอาร์กิวเมนต์เพิ่ม"
-#: apt-private/acqprogress.cc:146
-#, c-format
-msgid "Fetched %sB in %s (%sB/s)\n"
-msgstr "ดาวน์โหลด %sB ใน %s (%sB/s)\n"
+#: apt-private/private-upgrade.cc:25
+msgid "Calculating upgrade... "
+msgstr "กำลังคำนวณการปรับรุ่น... "
-#: apt-private/acqprogress.cc:236
-#, c-format
-msgid " [Working]"
-msgstr " [กำลังทำงาน]"
+#: apt-private/private-upgrade.cc:30
+msgid "Internal error, Upgrade broke stuff"
+msgstr "เกิดข้อผิดพลาดภายใน: การปรับรุ่นทำความเสียหาย"
-#: apt-private/acqprogress.cc:297
-#, c-format
-msgid ""
-"Media change: please insert the disc labeled\n"
-" '%s'\n"
-"in the drive '%s' and press enter\n"
-msgstr ""
-"เปลี่ยนแผ่น: กรุณาใส่แผ่นชื่อ\n"
-" '%s'\n"
-"ลงในไดรว์ %s แล้วกด enter\n"
+#: apt-private/private-upgrade.cc:32
+msgid "Done"
+msgstr "เสร็จแล้ว"
#. Only warn if there are no sources.list.d.
#. Only warn if there is no sources.list file.
-#: methods/mirror.cc:95 apt-inst/extract.cc:471
+#: methods/mirror.cc:95 apt-inst/extract.cc:471 apt-pkg/acquire.cc:491
+#: apt-pkg/clean.cc:40 apt-pkg/init.cc:102 apt-pkg/init.cc:110
+#: apt-pkg/policy.cc:381 apt-pkg/sourcelist.cc:280 apt-pkg/sourcelist.cc:286
#: apt-pkg/contrib/cdromutl.cc:205 apt-pkg/contrib/fileutl.cc:371
-#: apt-pkg/contrib/fileutl.cc:484 apt-pkg/sourcelist.cc:280
-#: apt-pkg/sourcelist.cc:286 apt-pkg/acquire.cc:491 apt-pkg/init.cc:102
-#: apt-pkg/init.cc:110 apt-pkg/clean.cc:40 apt-pkg/policy.cc:381
+#: apt-pkg/contrib/fileutl.cc:484
#, c-format
msgid "Unable to read %s"
msgstr "ไม่สามารถอ่าน %s"
-#: methods/mirror.cc:101 methods/mirror.cc:130 apt-pkg/contrib/cdromutl.cc:201
-#: apt-pkg/contrib/cdromutl.cc:235 apt-pkg/acquire.cc:497
+#: methods/mirror.cc:101 methods/mirror.cc:130 apt-pkg/acquire.cc:497
#: apt-pkg/acquire.cc:522 apt-pkg/clean.cc:46 apt-pkg/clean.cc:64
-#: apt-pkg/clean.cc:127
+#: apt-pkg/clean.cc:127 apt-pkg/contrib/cdromutl.cc:201
+#: apt-pkg/contrib/cdromutl.cc:235
#, c-format
msgid "Unable to change to %s"
msgstr "ไม่สามารถเปลี่ยนไดเรกทอรีไปยัง %s"
@@ -1666,9 +1704,9 @@ msgid "Can not read mirror file '%s'"
msgstr "ไม่สามารถอ่านแฟ้มแหล่งสำเนา '%s'"
#: methods/mirror.cc:315
-#, fuzzy, c-format
+#, c-format
msgid "No entry found in mirror file '%s'"
-msgstr "ไม่สามารถอ่านแฟ้มแหล่งสำเนา '%s'"
+msgstr "ไม่พบรายการในแฟ้มแหล่งสำเนา '%s'"
#: methods/mirror.cc:445
#, c-format
@@ -1742,9 +1780,9 @@ msgstr ""
" -o=? กำหนดตัวเลือกค่าตั้งเป็นรายตัว เช่น -o dir::cache=/tmp\n"
#: cmdline/apt-extracttemplates.cc:254
-#, fuzzy, c-format
+#, c-format
msgid "Unable to mkstemp %s"
-msgstr "ไม่สามารถ stat %s"
+msgstr "ไม่สามารถ mkstemp %s"
#: cmdline/apt-extracttemplates.cc:259 apt-pkg/pkgcachegen.cc:1400
#, c-format
@@ -1997,9 +2035,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
@@ -2119,83 +2157,6 @@ msgstr ""
" -c=? อ่านแฟ้มค่าตั้งนี้\n"
" -o=? กำหนดตัวเลือกค่าตั้งเป็นรายตัว เช่น -o dir::cache=/tmp\n"
-#: apt-inst/contrib/extracttar.cc:124
-msgid "Failed to create pipes"
-msgstr "สร้างไปป์ไม่สำเร็จ"
-
-#: apt-inst/contrib/extracttar.cc:151
-msgid "Failed to exec gzip "
-msgstr "เรียก gzip ไม่สำเร็จ"
-
-#: apt-inst/contrib/extracttar.cc:188 apt-inst/contrib/extracttar.cc:218
-msgid "Corrupted archive"
-msgstr "แฟ้มจัดเก็บเสียหาย"
-
-#: apt-inst/contrib/extracttar.cc:203
-msgid "Tar checksum failed, archive corrupted"
-msgstr "checksum ของแฟ้ม tar ผิดพลาด แฟ้มจัดเก็บเสียหาย"
-
-#: apt-inst/contrib/extracttar.cc:308
-#, c-format
-msgid "Unknown TAR header type %u, member %s"
-msgstr "พบชนิด %u ของข้อมูลส่วนหัว TAR ที่ไม่รู้จัก ที่สมาชิก %s"
-
-#: apt-inst/contrib/arfile.cc:76
-msgid "Invalid archive signature"
-msgstr "เอกลักษณ์ของแฟ้มจัดเก็บไม่ถูกต้อง"
-
-#: apt-inst/contrib/arfile.cc:84
-msgid "Error reading archive member header"
-msgstr "เกิดข้อผิดพลาดขณะอ่านข้อมูลส่วนหัวของสมาชิกแฟ้มจัดเก็บ"
-
-#: apt-inst/contrib/arfile.cc:96
-#, c-format
-msgid "Invalid archive member header %s"
-msgstr "ข้อมูลส่วนหัว %s ของสมาชิกแฟ้มจัดเก็บไม่ถูกต้อง"
-
-#: apt-inst/contrib/arfile.cc:108
-msgid "Invalid archive member header"
-msgstr "ข้อมูลส่วนหัวของสมาชิกแฟ้มจัดเก็บไม่ถูกต้อง"
-
-#: apt-inst/contrib/arfile.cc:137
-msgid "Archive is too short"
-msgstr "แฟ้มจัดเก็บสั้นเกินไป"
-
-#: apt-inst/contrib/arfile.cc:141
-msgid "Failed to read the archive headers"
-msgstr "อ่านข้อมูลส่วนหัวของแฟ้มจัดเก็บไม่สำเร็จ"
-
-#: apt-inst/filelist.cc:380
-msgid "DropNode called on still linked node"
-msgstr "DropNode ถูกเรียกใช้กับโหนดที่ยังลิงก์อยู่"
-
-#: apt-inst/filelist.cc:412
-msgid "Failed to locate the hash element!"
-msgstr "หาสมาชิกในตารางแฮชไม่สำเร็จ!"
-
-#: apt-inst/filelist.cc:459
-msgid "Failed to allocate diversion"
-msgstr "จองเนื้อที่สำหรับ diversion ไม่สำเร็จ"
-
-#: apt-inst/filelist.cc:464
-msgid "Internal error in AddDiversion"
-msgstr "ข้อผิดพลาดภายในที่ AddDiversion"
-
-#: apt-inst/filelist.cc:477
-#, c-format
-msgid "Trying to overwrite a diversion, %s -> %s and %s/%s"
-msgstr "พยายามเขียนทับ diversion: %s -> %s กับ %s/%s"
-
-#: apt-inst/filelist.cc:506
-#, c-format
-msgid "Double add of diversion %s -> %s"
-msgstr "เพิ่ม diversion %s -> %s ซ้ำสอง"
-
-#: apt-inst/filelist.cc:549
-#, c-format
-msgid "Duplicate conf file %s/%s"
-msgstr "แฟ้มค่าตั้ง %s/%s ซ้ำ"
-
#: apt-inst/dirstream.cc:42 apt-inst/dirstream.cc:49 apt-inst/dirstream.cc:54
#, c-format
msgid "Failed to write file %s"
@@ -2224,11 +2185,11 @@ msgstr "ไดเรกทอรี %s ถูก divert"
#: apt-inst/extract.cc:152
#, c-format
msgid "The package is trying to write to the diversion target %s/%s"
-msgstr "แพกเกจนี้พยายามเขียนลงปลายทางของ diversion %s/%s"
+msgstr "แพกเกจนี้พยายามเขียนลงปลายทางของการเบนแฟ้ม %s/%s"
#: apt-inst/extract.cc:162 apt-inst/extract.cc:306
msgid "The diversion path is too long"
-msgstr "พาธของ diversion ยาวเกินไป"
+msgstr "พาธของการเบนแฟ้มยาวเกินไป"
#: apt-inst/extract.cc:249
#, c-format
@@ -2258,6 +2219,83 @@ msgstr "แฟ้ม %s/%s เขียนทับแฟ้มในแพก
msgid "Unable to stat %s"
msgstr "ไม่สามารถ stat %s"
+#: apt-inst/filelist.cc:380
+msgid "DropNode called on still linked node"
+msgstr "DropNode ถูกเรียกใช้กับโหนดที่ยังลิงก์อยู่"
+
+#: apt-inst/filelist.cc:412
+msgid "Failed to locate the hash element!"
+msgstr "หาสมาชิกในตารางแฮชไม่สำเร็จ!"
+
+#: apt-inst/filelist.cc:459
+msgid "Failed to allocate diversion"
+msgstr "จองเนื้อที่สำหรับการเบนแฟ้มไม่สำเร็จ"
+
+#: apt-inst/filelist.cc:464
+msgid "Internal error in AddDiversion"
+msgstr "ข้อผิดพลาดภายในที่ AddDiversion"
+
+#: apt-inst/filelist.cc:477
+#, c-format
+msgid "Trying to overwrite a diversion, %s -> %s and %s/%s"
+msgstr "พยายามเขียนทับการเบนแฟ้ม: %s -> %s กับ %s/%s"
+
+#: apt-inst/filelist.cc:506
+#, c-format
+msgid "Double add of diversion %s -> %s"
+msgstr "เพิ่มการเบนแฟ้ม %s -> %s ซ้ำสอง"
+
+#: apt-inst/filelist.cc:549
+#, c-format
+msgid "Duplicate conf file %s/%s"
+msgstr "แฟ้มค่าตั้ง %s/%s ซ้ำ"
+
+#: apt-inst/contrib/arfile.cc:76
+msgid "Invalid archive signature"
+msgstr "เอกลักษณ์ของแฟ้มจัดเก็บไม่ถูกต้อง"
+
+#: apt-inst/contrib/arfile.cc:84
+msgid "Error reading archive member header"
+msgstr "เกิดข้อผิดพลาดขณะอ่านข้อมูลส่วนหัวของสมาชิกแฟ้มจัดเก็บ"
+
+#: apt-inst/contrib/arfile.cc:96
+#, c-format
+msgid "Invalid archive member header %s"
+msgstr "ข้อมูลส่วนหัว %s ของสมาชิกแฟ้มจัดเก็บไม่ถูกต้อง"
+
+#: apt-inst/contrib/arfile.cc:108
+msgid "Invalid archive member header"
+msgstr "ข้อมูลส่วนหัวของสมาชิกแฟ้มจัดเก็บไม่ถูกต้อง"
+
+#: apt-inst/contrib/arfile.cc:137
+msgid "Archive is too short"
+msgstr "แฟ้มจัดเก็บสั้นเกินไป"
+
+#: apt-inst/contrib/arfile.cc:141
+msgid "Failed to read the archive headers"
+msgstr "อ่านข้อมูลส่วนหัวของแฟ้มจัดเก็บไม่สำเร็จ"
+
+#: apt-inst/contrib/extracttar.cc:124
+msgid "Failed to create pipes"
+msgstr "สร้างไปป์ไม่สำเร็จ"
+
+#: apt-inst/contrib/extracttar.cc:151
+msgid "Failed to exec gzip "
+msgstr "เรียก gzip ไม่สำเร็จ"
+
+#: apt-inst/contrib/extracttar.cc:188 apt-inst/contrib/extracttar.cc:218
+msgid "Corrupted archive"
+msgstr "แฟ้มจัดเก็บเสียหาย"
+
+#: apt-inst/contrib/extracttar.cc:203
+msgid "Tar checksum failed, archive corrupted"
+msgstr "checksum ของแฟ้ม tar ผิดพลาด แฟ้มจัดเก็บเสียหาย"
+
+#: apt-inst/contrib/extracttar.cc:308
+#, c-format
+msgid "Unknown TAR header type %u, member %s"
+msgstr "พบชนิด %u ของข้อมูลส่วนหัว TAR ที่ไม่รู้จัก ที่สมาชิก %s"
+
#: apt-inst/deb/debfile.cc:47 apt-inst/deb/debfile.cc:54
#: apt-inst/deb/debfile.cc:63
#, c-format
@@ -2273,340 +2311,447 @@ msgstr "ข้อผิดพลาดภายใน: ไม่พบสมา
msgid "Unparsable control file"
msgstr "ไม่สามารถแจงแฟ้มควบคุมได้"
-#: apt-pkg/contrib/mmap.cc:79
-msgid "Can't mmap an empty file"
-msgstr "ไม่สามารถ mmap แฟ้มเปล่า"
+#: apt-pkg/acquire.cc:87 apt-pkg/cdrom.cc:816
+#, c-format
+msgid "List directory %spartial is missing."
+msgstr "ไม่มีไดเรกทอรีรายชื่อแพกเกจ %spartial"
-#: apt-pkg/contrib/mmap.cc:111
+#: apt-pkg/acquire.cc:91
#, c-format
-msgid "Couldn't duplicate file descriptor %i"
-msgstr "ไม่สามารถทำซ้ำ file descriptor %i"
+msgid "Archives directory %spartial is missing."
+msgstr "ไม่มีไดเรกทอรีแพกเกจ %spartial"
-#: apt-pkg/contrib/mmap.cc:119
+#: apt-pkg/acquire.cc:99
#, c-format
-msgid "Couldn't make mmap of %llu bytes"
-msgstr "ไม่สามารถสร้าง mmap ขนาด %llu ไบต์"
+msgid "Unable to lock directory %s"
+msgstr "ไม่สามารถล็อคไดเรกทอรี %s"
-#: apt-pkg/contrib/mmap.cc:146
-msgid "Unable to close mmap"
-msgstr "ไม่สามารถปิด mmap"
+#. only show the ETA if it makes sense
+#. two days
+#: apt-pkg/acquire.cc:899
+#, c-format
+msgid "Retrieving file %li of %li (%s remaining)"
+msgstr "กำลังดาวน์โหลดแฟ้มที่ %li จาก %li (เหลืออีก %s)"
-#: apt-pkg/contrib/mmap.cc:174 apt-pkg/contrib/mmap.cc:202
-msgid "Unable to synchronize mmap"
-msgstr "ไม่สามารถปรับ mmap ให้ตรงกัน"
+#: apt-pkg/acquire.cc:901
+#, c-format
+msgid "Retrieving file %li of %li"
+msgstr "กำลังดาวน์โหลดแฟ้มที่ %li จาก %li"
-#: apt-pkg/contrib/mmap.cc:290
+#: apt-pkg/acquire-item.cc:148 apt-pkg/contrib/fileutl.cc:2054
#, c-format
-msgid "Couldn't make mmap of %lu bytes"
-msgstr "ไม่สามารถสร้าง mmap ขนาด %lu ไบต์"
+msgid "rename failed, %s (%s -> %s)."
+msgstr "เปลี่ยนชื่อไม่สำเร็จ: %s (%s -> %s)"
-#: apt-pkg/contrib/mmap.cc:322
-msgid "Failed to truncate file"
-msgstr "ไม่สามารถตัดท้ายแฟ้ม"
+#: apt-pkg/acquire-item.cc:163
+msgid "Hash Sum mismatch"
+msgstr "ผลรวมแฮชไม่ตรงกัน"
-#: apt-pkg/contrib/mmap.cc:341
+#: apt-pkg/acquire-item.cc:168
+msgid "Size mismatch"
+msgstr "ขนาดไม่ตรงกัน"
+
+#: apt-pkg/acquire-item.cc:173
+msgid "Invalid file format"
+msgstr "รูปแบบของแฟ้มไม่ถูกต้อง"
+
+#: apt-pkg/acquire-item.cc:1579
#, c-format
msgid ""
-"Dynamic MMap ran out of room. Please increase the size of APT::Cache-Start. "
-"Current value: %lu. (man 5 apt.conf)"
+"Unable to find expected entry '%s' in Release file (Wrong sources.list entry "
+"or malformed file)"
msgstr ""
-"MMap แบบพลวัตมีเนื้อที่ไม่พอ กรุณาเพิ่มขนาดของ APT::Cache-Start ค่าปัจจุบัน: %lu (man 5 "
-"apt.conf)"
+"ไม่พบรายการ '%s' ที่ต้องการในแฟ้ม Release (รายการ sources.list ไม่ถูกต้อง "
+"หรือแฟ้มผิดรูปแบบ)"
-#: apt-pkg/contrib/mmap.cc:446
+#: apt-pkg/acquire-item.cc:1595
#, c-format
-msgid ""
-"Unable to increase the size of the MMap as the limit of %lu bytes is already "
-"reached."
-msgstr "ไม่สามารถเพิ่มขนาดของ MMap เนื่องจากถึงขีดจำกัด %lu ไบต์แล้ว"
+msgid "Unable to find hash sum for '%s' in Release file"
+msgstr "ไม่พบผลรวมแฮชสำหรับ '%s' ในแฟ้ม Release"
-#: apt-pkg/contrib/mmap.cc:449
-msgid ""
-"Unable to increase size of the MMap as automatic growing is disabled by user."
-msgstr "ไม่สามารถเพิ่มขนาดของ MMap เนื่องจากผู้ใช้ปิดการขยายขนาดอัตโนมัติ"
+#: apt-pkg/acquire-item.cc:1637
+msgid "There is no public key available for the following key IDs:\n"
+msgstr "ไม่มีกุญแจสาธารณะสำหรับกุญแจหมายเลขต่อไปนี้:\n"
-#. d means days, h means hours, min means minutes, s means seconds
-#: apt-pkg/contrib/strutl.cc:406
+#: apt-pkg/acquire-item.cc:1675
#, c-format
-msgid "%lid %lih %limin %lis"
-msgstr "%liวัน %liชม. %liนาที %liวิ"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
+msgstr ""
+"แฟ้ม Release สำหรับ %s หมดอายุแล้ว (ตั้งแต่ %s ที่แล้ว) จะไม่ใช้รายการปรับรุ่นต่างๆ "
+"ของคลังแพกเกจนี้"
-#. h means hours, min means minutes, s means seconds
-#: apt-pkg/contrib/strutl.cc:413
+#: apt-pkg/acquire-item.cc:1697
#, c-format
-msgid "%lih %limin %lis"
-msgstr "%liชม. %liนาที %liวิ"
+msgid "Conflicting distribution: %s (expected %s but got %s)"
+msgstr "ชุดจัดแจกขัดแย้งกัน: %s (ต้องการ %s แต่พบ %s)"
-#. min means minutes, s means seconds
-#: apt-pkg/contrib/strutl.cc:420
+#: apt-pkg/acquire-item.cc:1727
#, c-format
-msgid "%limin %lis"
-msgstr "%liนาที %liวิ"
+msgid ""
+"An error occurred during the signature verification. The repository is not "
+"updated and the previous index files will be used. GPG error: %s: %s\n"
+msgstr ""
+"เกิดข้อผิดพลาดขณะตรวจสอบลายเซ็น จะไม่ปรับข้อมูลคลังแพกเกจนี้ และจะใช้แฟ้มดัชนีเก่า "
+"ข้อผิดพลาดจาก GPG: %s: %s\n"
-#. s means seconds
-#: apt-pkg/contrib/strutl.cc:425
+#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
+#: apt-pkg/acquire-item.cc:1737 apt-pkg/acquire-item.cc:1742
#, c-format
-msgid "%lis"
-msgstr "%liวิ"
+msgid "GPG error: %s: %s"
+msgstr "ข้อผิดพลาดจาก GPG: %s: %s"
-#: apt-pkg/contrib/strutl.cc:1236
+#: apt-pkg/acquire-item.cc:1865
#, c-format
-msgid "Selection %s not found"
-msgstr "ไม่พบรายการเลือก %s"
+msgid ""
+"I wasn't able to locate a file for the %s package. This might mean you need "
+"to manually fix this package. (due to missing arch)"
+msgstr "ไม่พบแฟ้มสำหรับแพกเกจ %s คุณอาจต้องแก้ปัญหาแพกเกจนี้เอง (ไม่มี arch)"
-#: apt-pkg/contrib/configuration.cc:519
+#: apt-pkg/acquire-item.cc:1931
#, c-format
-msgid "Unrecognized type abbreviation: '%c'"
-msgstr "พบตัวย่อของชนิดที่ข้อมูลไม่รู้จัก: '%c'"
+msgid "Can't find a source to download version '%s' of '%s'"
+msgstr "ไม่พบแหล่งที่จะดาวน์โหลดรุ่น '%s' ของ '%s' ได้"
-#: apt-pkg/contrib/configuration.cc:633
+#: apt-pkg/acquire-item.cc:1989
#, c-format
-msgid "Opening configuration file %s"
-msgstr "ขณะเปิดแฟ้มค่าตั้ง %s"
+msgid ""
+"The package index files are corrupted. No Filename: field for package %s."
+msgstr "แฟ้มดัชนีแพกเกจเสียหาย ไม่มีข้อมูล Filename: (ชื่อแฟ้ม) สำหรับแพกเกจ %s"
-#: apt-pkg/contrib/configuration.cc:801
+#: apt-pkg/acquire-worker.cc:116
#, c-format
-msgid "Syntax error %s:%u: Block starts with no name."
-msgstr "ไวยากรณ์ผิดพลาด %s:%u: เริ่มบล็อคโดยไม่มีชื่อ"
+msgid "The method driver %s could not be found."
+msgstr "ไม่พบไดรเวอร์สำหรับวิธีการ %s"
-#: apt-pkg/contrib/configuration.cc:820
+#: apt-pkg/acquire-worker.cc:118
#, c-format
-msgid "Syntax error %s:%u: Malformed tag"
-msgstr "ไวยากรณ์ผิดพลาด %s:%u: แท็กผิดรูปแบบ"
+msgid "Is the package %s installed?"
+msgstr "ได้ติดตั้งแพกเกจ %s ไว้หรือไม่?"
-#: apt-pkg/contrib/configuration.cc:837
+#: apt-pkg/acquire-worker.cc:169
#, c-format
-msgid "Syntax error %s:%u: Extra junk after value"
-msgstr "ไวยากรณ์ผิดพลาด %s:%u: มีขยะเกินหลังค่า"
+msgid "Method %s did not start correctly"
+msgstr "ไม่สามารถเรียกทำงานวิธีการ %s"
-#: apt-pkg/contrib/configuration.cc:877
+#: apt-pkg/acquire-worker.cc:455
#, c-format
-msgid "Syntax error %s:%u: Directives can only be done at the top level"
-msgstr "ไวยากรณ์ผิดพลาด %s:%u: สามารถใช้ directive ที่ระดับบนสุดได้เท่านั้น"
+msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
+msgstr "กรุณาใส่แผ่นชื่อ: '%s' ลงในไดรว์ '%s' แล้วกด enter"
-#: apt-pkg/contrib/configuration.cc:884
+#: apt-pkg/algorithms.cc:265
#, c-format
-msgid "Syntax error %s:%u: Too many nested includes"
-msgstr "ไวยากรณ์ผิดพลาด %s:%u: ใช้ include ซ้อนกันมากเกินไป"
+msgid ""
+"The package %s needs to be reinstalled, but I can't find an archive for it."
+msgstr "จำเป็นต้องติดตั้งแพกเกจ %s ซ้ำ แต่หาตัวแพกเกจไม่พบ"
-#: apt-pkg/contrib/configuration.cc:888 apt-pkg/contrib/configuration.cc:893
+#: apt-pkg/algorithms.cc:1086
+msgid ""
+"Error, pkgProblemResolver::Resolve generated breaks, this may be caused by "
+"held packages."
+msgstr ""
+"ข้อผิดพลาด: pkgProblemResolver::Resolve สร้างคำตอบที่ทำให้เกิดแพกเกจเสีย "
+"อาจเกิดจากแพกเกจที่ถูกกำหนดให้คงรุ่นไว้"
+
+#: apt-pkg/algorithms.cc:1088
+msgid "Unable to correct problems, you have held broken packages."
+msgstr "ไม่สามารถแก้ปัญหาได้ คุณได้คงรุ่นแพกเกจที่เสียอยู่ไว้"
+
+#: apt-pkg/cachefile.cc:94
+msgid "The package lists or status file could not be parsed or opened."
+msgstr "ไม่สามารถแจงหรือเปิดรายชื่อแพกเกจหรือสถานะแพกเกจได้"
+
+#: apt-pkg/cachefile.cc:98
+msgid "You may want to run apt-get update to correct these problems"
+msgstr "คุณอาจเรียก `apt-get update' เพื่อแก้ปัญหาเหล่านี้ได้"
+
+#: apt-pkg/cachefile.cc:116
+msgid "The list of sources could not be read."
+msgstr "ไม่สามารถอ่านรายชื่อแหล่งแพกเกจได้"
+
+#: apt-pkg/cacheset.cc:487
#, c-format
-msgid "Syntax error %s:%u: Included from here"
-msgstr "ไวยากรณ์ผิดพลาด %s:%u: include จากที่นี่"
+msgid "Release '%s' for '%s' was not found"
+msgstr "ไม่พบรุ่นย่อย '%s' ของ '%s'"
-#: apt-pkg/contrib/configuration.cc:897
+#: apt-pkg/cacheset.cc:490
#, c-format
-msgid "Syntax error %s:%u: Unsupported directive '%s'"
-msgstr "ไวยากรณ์ผิดพลาด %s:%u: พบ directive '%s' ที่ไม่รองรับ"
+msgid "Version '%s' for '%s' was not found"
+msgstr "ไม่พบรุ่น '%s' ของ '%s'"
-#: apt-pkg/contrib/configuration.cc:900
+#: apt-pkg/cacheset.cc:601
#, c-format
-msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
-msgstr "ไวยากรณ์ผิดพลาด %s:%u: directive 'clear' ต้องมีอาร์กิวเมนต์เป็นลำดับชั้นตัวเลือก"
+msgid "Couldn't find task '%s'"
+msgstr "ไม่พบงานติดตั้ง '%s'"
-#: apt-pkg/contrib/configuration.cc:950
+#: apt-pkg/cacheset.cc:607
#, c-format
-msgid "Syntax error %s:%u: Extra junk at end of file"
-msgstr "ไวยากรณ์ผิดพลาด %s:%u: มีขยะเกินหลังจบแฟ้ม"
+msgid "Couldn't find any package by regex '%s'"
+msgstr "ไม่พบแพกเกจที่ตรงกับนิพจน์เรกิวลาร์ '%s'"
-#: apt-pkg/contrib/progress.cc:148
+#: apt-pkg/cacheset.cc:613
#, c-format
-msgid "%c%s... Error!"
-msgstr "%c%s... ผิดพลาด!"
+msgid "Couldn't find any package by glob '%s'"
+msgstr "ไม่พบแพกเกจที่ตรงกับ glob '%s'"
-#: apt-pkg/contrib/progress.cc:150
+#: apt-pkg/cacheset.cc:624
#, c-format
-msgid "%c%s... Done"
-msgstr "%c%s... เสร็จแล้ว"
+msgid "Can't select versions from package '%s' as it is purely virtual"
+msgstr "ไม่สามารถเลือกรุ่นต่างๆ ของแพกเกจ '%s' ได้ เนื่องจากเป็นแพกเกจเสมือนอย่างแท้จริง"
-#: apt-pkg/contrib/progress.cc:181
-msgid "..."
+#: apt-pkg/cacheset.cc:631 apt-pkg/cacheset.cc:638
+#, c-format
+msgid ""
+"Can't select installed nor candidate version from package '%s' as it has "
+"neither of them"
msgstr ""
+"ไม่สามารถเลือกรุ่นที่ติดตั้งไว้หรือรุ่นสำหรับติดตั้งของแพกเกจ '%s' ได้ เนื่องจากไม่มีทั้งสองอย่าง"
-#. Print the spinner
-#: apt-pkg/contrib/progress.cc:197
-#, fuzzy, c-format
-msgid "%c%s... %u%%"
-msgstr "%c%s... เสร็จแล้ว"
-
-#: apt-pkg/contrib/cmndline.cc:121
+#: apt-pkg/cacheset.cc:645
#, c-format
-msgid "Command line option '%c' [from %s] is not known."
-msgstr "ไม่รู้จักตัวเลือกบรรทัดคำสั่ง '%c' [จาก %s]"
+msgid "Can't select newest version from package '%s' as it is purely virtual"
+msgstr "ไม่สามารถเลือกรุ่นใหม่ที่สุดของแพกเกจ '%s' ได้ เนื่องจากเป็นแพกเกจเสมือนอย่างแท้จริง"
-#: apt-pkg/contrib/cmndline.cc:146 apt-pkg/contrib/cmndline.cc:155
-#: apt-pkg/contrib/cmndline.cc:163
+#: apt-pkg/cacheset.cc:653
#, c-format
-msgid "Command line option %s is not understood"
-msgstr "ไม่เข้าใจตัวเลือกบรรทัดคำสั่ง %s"
+msgid "Can't select candidate version from package %s as it has no candidate"
+msgstr "ไม่สามารถเลือกรุ่นสำหรับติดตั้งของแพกเกจ '%s' ได้ เนื่องจากไม่มีรุ่นสำหรับติดตั้ง"
-#: apt-pkg/contrib/cmndline.cc:168
+#: apt-pkg/cacheset.cc:661
#, c-format
-msgid "Command line option %s is not boolean"
-msgstr "ตัวเลือกบรรทัดคำสั่ง %s ไม่ได้เป็นค่าบูลีน"
+msgid "Can't select installed version from package %s as it is not installed"
+msgstr "ไม่สามารถเลือกรุ่นที่ติดตั้งไว้ของแพกเกจ '%s' ได้ เนื่องจากแพกเกจไม่ได้ติดตั้งไว้"
-#: apt-pkg/contrib/cmndline.cc:209 apt-pkg/contrib/cmndline.cc:230
+#: apt-pkg/cdrom.cc:497 apt-pkg/sourcelist.cc:347
#, c-format
-msgid "Option %s requires an argument."
-msgstr "ตัวเลือก %s ต้องมีอาร์กิวเมนต์"
+msgid "Line %u too long in source list %s."
+msgstr "บรรทัด %u ในแฟ้มรายชื่อแหล่งแพกเกจ %s ยาวเกินไป"
-#: apt-pkg/contrib/cmndline.cc:243 apt-pkg/contrib/cmndline.cc:249
+#: apt-pkg/cdrom.cc:577
#, c-format
-msgid "Option %s: Configuration item specification must have an =<val>."
-msgstr "ตัวเลือก %s: การกำหนดรายการค่าตั้งต้องมี =<val>"
+msgid "Using CD-ROM mount point %s\n"
+msgstr "กำลังใช้จุดเมานท์ซีดีรอม %s\n"
-#: apt-pkg/contrib/cmndline.cc:278
-#, c-format
-msgid "Option %s requires an integer argument, not '%s'"
-msgstr "ตัวเลือก %s ต้องการอาร์กิวเมนต์จำนวนเต็ม ไม่ใช่ '%s'"
+#: apt-pkg/cdrom.cc:587 apt-pkg/cdrom.cc:657 apt-pkg/cdrom.cc:893
+msgid "Unmounting CD-ROM...\n"
+msgstr "กำลังเลิกเมานท์ซีดีรอม...\n"
-#: apt-pkg/contrib/cmndline.cc:309
-#, c-format
-msgid "Option '%s' is too long"
-msgstr "ตัวเลือก '%s' ยาวเกินไป"
+#: apt-pkg/cdrom.cc:592
+msgid "Waiting for disc...\n"
+msgstr "กำลังรอแผ่น...\n"
-#: apt-pkg/contrib/cmndline.cc:341
-#, c-format
-msgid "Sense %s is not understood, try true or false."
-msgstr "ไม่เข้าใจค่าบูลีน %s กรุณาลองใช้ true หรือ false"
+#: apt-pkg/cdrom.cc:602
+msgid "Mounting CD-ROM...\n"
+msgstr "กำลังเมานท์ซีดีรอม...\n"
-#: apt-pkg/contrib/cmndline.cc:391
-#, c-format
-msgid "Invalid operation %s"
-msgstr "ไม่รู้จักคำสั่ง %s"
+#: apt-pkg/cdrom.cc:610
+msgid "Identifying... "
+msgstr "กำลังตรวจสอบชื่อแผ่น... "
-#: apt-pkg/contrib/cdromutl.cc:65
+#: apt-pkg/cdrom.cc:648
#, c-format
-msgid "Unable to stat the mount point %s"
-msgstr "ไม่สามารถ stat จุดเมานท์ %s"
+msgid "Stored label: %s\n"
+msgstr "ชื่อที่เก็บไว้: %s\n"
-#: apt-pkg/contrib/cdromutl.cc:246
-msgid "Failed to stat the cdrom"
-msgstr "ไม่สามารถ stat ซีดีรอม"
+#: apt-pkg/cdrom.cc:672
+msgid "Scanning disc for index files...\n"
+msgstr "กำลังสำรวจข้อมูลในแผ่นเพื่อหาแฟ้มดัชนี...\n"
-#: apt-pkg/contrib/fileutl.cc:193
+#: apt-pkg/cdrom.cc:722
#, c-format
-msgid "Not using locking for read only lock file %s"
-msgstr "จะไม่ใช้การล็อคกับแฟ้มล็อค %s ที่อ่านได้อย่างเดียว"
+msgid ""
+"Found %zu package indexes, %zu source indexes, %zu translation indexes and "
+"%zu signatures\n"
+msgstr ""
+"พบดัชนีแพกเกจ %zu รายการ, ดัชนีซอร์ส %zu รายการ, ดัชนีคำแปล %zu รายการ และลายเซ็น "
+"%zu รายการ\n"
-#: apt-pkg/contrib/fileutl.cc:198
-#, c-format
-msgid "Could not open lock file %s"
-msgstr "ไม่สามารถเปิดแฟ้มล็อค %s"
+#: apt-pkg/cdrom.cc:733
+msgid ""
+"Unable to locate any package files, perhaps this is not a Debian Disc or the "
+"wrong architecture?"
+msgstr "ไม่พบแฟ้มแพกเกจใดๆ บางทีแผ่นนี้อาจจะไม่ใช่แผ่นเดเบียน หรือสถาปัตยกรรมอาจไม่ถูกต้อง"
-#: apt-pkg/contrib/fileutl.cc:221
+#: apt-pkg/cdrom.cc:760
#, c-format
-msgid "Not using locking for nfs mounted lock file %s"
-msgstr "จะไม่ใช้การล็อคกับแฟ้มล็อค %s ที่เมานท์ผ่าน nfs"
+msgid "Found label '%s'\n"
+msgstr "พบชื่อแผ่น '%s'\n"
-#: apt-pkg/contrib/fileutl.cc:226
-#, c-format
-msgid "Could not get lock %s"
-msgstr "ไม่สามารถล็อค %s"
+#: apt-pkg/cdrom.cc:789
+msgid "That is not a valid name, try again.\n"
+msgstr "ไม่ใช่ชื่อที่ใช้ได้ กรุณาลองใหม่\n"
-#: apt-pkg/contrib/fileutl.cc:363 apt-pkg/contrib/fileutl.cc:477
+#: apt-pkg/cdrom.cc:806
#, c-format
-msgid "List of files can't be created as '%s' is not a directory"
-msgstr "ไม่สามารถสร้างรายชื่อแฟ้มได้ เนื่องจาก '%s' ไม่ใช่ไดเรกทอรี"
+msgid ""
+"This disc is called: \n"
+"'%s'\n"
+msgstr ""
+"แผ่นนี้เรียกชื่อว่า:\n"
+"'%s'\n"
-#: apt-pkg/contrib/fileutl.cc:397
-#, c-format
-msgid "Ignoring '%s' in directory '%s' as it is not a regular file"
-msgstr "จะละเลย '%s' ในไดเรกทอรี '%s' เนื่องจากไม่ใช่แฟ้มธรรมดา"
+#: apt-pkg/cdrom.cc:808
+msgid "Copying package lists..."
+msgstr "กำลังคัดลอกรายชื่อแพกเกจ..."
-#: apt-pkg/contrib/fileutl.cc:415
+#: apt-pkg/cdrom.cc:843
+msgid "Writing new source list\n"
+msgstr "กำลังเขียนรายชื่อแหล่งแพกเกจแหล่งใหม่\n"
+
+#: apt-pkg/cdrom.cc:851
+msgid "Source list entries for this disc are:\n"
+msgstr "บรรทัดรายชื่อแหล่งแพกเกจสำหรับแผ่นนี้คือ:\n"
+
+#: apt-pkg/clean.cc:61
#, c-format
-msgid "Ignoring file '%s' in directory '%s' as it has no filename extension"
-msgstr "จะละเลย '%s' ในไดเรกทอรี '%s' เนื่องจากไม่มีส่วนขยายในชื่อแฟ้ม"
+msgid "Unable to stat %s."
+msgstr "ไม่สามารถ stat %s"
-#: apt-pkg/contrib/fileutl.cc:424
+#: apt-pkg/depcache.cc:138 apt-pkg/depcache.cc:167
+msgid "Building dependency tree"
+msgstr "กำลังสร้างโครงสร้างลำดับความสัมพันธ์"
+
+#: apt-pkg/depcache.cc:139
+msgid "Candidate versions"
+msgstr "รุ่นแพกเกจที่มี"
+
+#: apt-pkg/depcache.cc:168
+msgid "Dependency generation"
+msgstr "สร้างลำดับความสัมพันธ์"
+
+#: apt-pkg/depcache.cc:188 apt-pkg/depcache.cc:221 apt-pkg/depcache.cc:225
+msgid "Reading state information"
+msgstr "กำลังอ่านข้อมูลสถานะ"
+
+#: apt-pkg/depcache.cc:250
#, c-format
-msgid ""
-"Ignoring file '%s' in directory '%s' as it has an invalid filename extension"
-msgstr "จะละเลย '%s' ในไดเรกทอรี '%s' เนื่องจากส่วนขยายในชื่อแฟ้มไม่สามารถใช้การได้"
+msgid "Failed to open StateFile %s"
+msgstr "ไม่สามารถเปิดแฟ้มสถานะ %s"
-#: apt-pkg/contrib/fileutl.cc:827
+#: apt-pkg/depcache.cc:256
#, c-format
-msgid "Sub-process %s received a segmentation fault."
-msgstr "โพรเซสย่อย %s เกิดข้อผิดพลาดของการใช้ย่านหน่วยความจำ (segmentation fault)"
+msgid "Failed to write temporary StateFile %s"
+msgstr "ไม่สามารถเขียนแฟ้มสถานะชั่วคราว %s"
-#: apt-pkg/contrib/fileutl.cc:829
+#: apt-pkg/edsp.cc:50 apt-pkg/edsp.cc:70
+msgid "Send scenario to solver"
+msgstr "ส่งสภาวการณ์ไปยังกลไกการแก้ปัญหา"
+
+#: apt-pkg/edsp.cc:216
+msgid "Send request to solver"
+msgstr "ส่งคำสั่งไปยังกลไกการแก้ปัญหา"
+
+#: apt-pkg/edsp.cc:286
+msgid "Prepare for receiving solution"
+msgstr "เตรียมรับคำตอบ"
+
+#: apt-pkg/edsp.cc:293
+msgid "External solver failed without a proper error message"
+msgstr "กลไกการแก้ปัญหาภายนอกทำงานล้มเหลวโดยไม่มีข้อความข้อผิดพลาดที่เหมาะสม"
+
+#: apt-pkg/edsp.cc:563 apt-pkg/edsp.cc:566 apt-pkg/edsp.cc:571
+msgid "Execute external solver"
+msgstr "เรียกกลไกการแก้ปัญหาภายนอก"
+
+#: apt-pkg/indexcopy.cc:236 apt-pkg/indexcopy.cc:773
#, c-format
-msgid "Sub-process %s received signal %u."
-msgstr "โพรเซสย่อย %s ได้รับสัญญาณ %u"
+msgid "Wrote %i records.\n"
+msgstr "เขียนแล้ว %i ระเบียน\n"
-#: apt-pkg/contrib/fileutl.cc:833 apt-pkg/contrib/gpgv.cc:239
+#: apt-pkg/indexcopy.cc:238 apt-pkg/indexcopy.cc:775
#, c-format
-msgid "Sub-process %s returned an error code (%u)"
-msgstr "โพรเซสย่อย %s คืนค่าข้อผิดพลาด (%u)"
+msgid "Wrote %i records with %i missing files.\n"
+msgstr "เขียนแล้ว %i ระเบียน โดยมีแฟ้มขาดหาย %i แฟ้ม\n"
-#: apt-pkg/contrib/fileutl.cc:835 apt-pkg/contrib/gpgv.cc:232
+#: apt-pkg/indexcopy.cc:241 apt-pkg/indexcopy.cc:778
#, c-format
-msgid "Sub-process %s exited unexpectedly"
-msgstr "โพรเซสย่อย %s จบการทำงานกะทันหัน"
+msgid "Wrote %i records with %i mismatched files\n"
+msgstr "เขียนแล้ว %i ระเบียน โดยมีแฟ้มผิดขนาด %i แฟ้ม\n"
-#: apt-pkg/contrib/fileutl.cc:916
+#: apt-pkg/indexcopy.cc:244 apt-pkg/indexcopy.cc:781
#, c-format
-msgid "Problem closing the gzip file %s"
-msgstr "เกิดปัญหาขณะปิดแฟ้ม gzip %s"
+msgid "Wrote %i records with %i missing files and %i mismatched files\n"
+msgstr "เขียนแล้ว %i ระเบียน โดยมีแฟ้มขาดหาย %i แฟ้ม และแฟ้มผิดขนาด %i แฟ้ม\n"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/indexcopy.cc:515
#, c-format
-msgid "Could not open file %s"
-msgstr "ไม่สามารถเปิดแฟ้ม %s"
+msgid "Can't find authentication record for: %s"
+msgstr "ไม่พบระเบียนยืนยันความแท้สำหรับ: %s"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/indexcopy.cc:521
#, c-format
-msgid "Could not open file descriptor %d"
-msgstr "ไม่สามารถเปิด file destriptor %d"
+msgid "Hash mismatch for: %s"
+msgstr "แฮชไม่ตรงกันสำหรับ: %s"
-#: apt-pkg/contrib/fileutl.cc:1310
-msgid "Failed to create subprocess IPC"
-msgstr "สร้าง IPC ของโพรเซสย่อยไม่สำเร็จ"
+#: apt-pkg/indexrecords.cc:78
+#, c-format
+msgid "Unable to parse Release file %s"
+msgstr "ไม่สามารถแจงแฟ้ม Release %s"
-#: apt-pkg/contrib/fileutl.cc:1365
-msgid "Failed to exec compressor "
-msgstr "เรียกทำงานตัวบีบอัดไม่สำเร็จ"
+#: apt-pkg/indexrecords.cc:86
+#, c-format
+msgid "No sections in Release file %s"
+msgstr "ไม่มีหัวข้อย่อยในแฟ้ม Release %s"
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/indexrecords.cc:117
#, c-format
-msgid "read, still have %llu to read but none left"
-msgstr "read: ยังเหลือ %llu ที่ยังไม่ได้อ่าน แต่ข้อมูลหมดแล้ว"
+msgid "No Hash entry in Release file %s"
+msgstr "ไม่มีรายการแฮชในแฟ้ม Release %s"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/indexrecords.cc:130
#, c-format
-msgid "write, still have %llu to write but couldn't"
-msgstr "write: ยังเหลือ %llu ที่ยังไม่ได้เขียน แต่ไม่สามารถเขียนได้"
+msgid "Invalid 'Valid-Until' entry in Release file %s"
+msgstr "รายการ 'Valid-Until' ไม่ถูกต้องในแฟ้ม Release %s"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/indexrecords.cc:149
#, c-format
-msgid "Problem closing the file %s"
-msgstr "เกิดปัญหาขณะปิดแฟ้ม %s"
+msgid "Invalid 'Date' entry in Release file %s"
+msgstr "รายการ 'Date' ไม่ถูกต้องในแฟ้ม Release %s"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/init.cc:145
#, c-format
-msgid "Problem renaming the file %s to %s"
-msgstr "เกิดปัญหาขณะเปลี่ยนชื่อแฟ้ม %s ไปเป็น %s"
+msgid "Packaging system '%s' is not supported"
+msgstr "ไม่รองรับระบบแพกเกจ '%s'"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/init.cc:161
+msgid "Unable to determine a suitable packaging system type"
+msgstr "ไม่สามารถระบุชนิดของระบบแพกเกจที่เหมาะสมได้"
+
+#: apt-pkg/install-progress.cc:57
#, c-format
-msgid "Problem unlinking the file %s"
-msgstr "เกิดปัญหาขณะลบแฟ้ม %s"
+msgid "Progress: [%3i%%]"
+msgstr "ความคืบหน้า: [%3i%%]"
-#: apt-pkg/contrib/fileutl.cc:1947
-msgid "Problem syncing the file"
-msgstr "เกิดปัญหาขณะ sync แฟ้ม"
+#: apt-pkg/install-progress.cc:91 apt-pkg/install-progress.cc:174
+msgid "Running dpkg"
+msgstr "กำลังเรียก dpkg"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/packagemanager.cc:303 apt-pkg/packagemanager.cc:932
#, c-format
-msgid "rename failed, %s (%s -> %s)."
-msgstr "เปลี่ยนชื่อไม่สำเร็จ: %s (%s -> %s)"
+msgid ""
+"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
+"under APT::Immediate-Configure for details. (%d)"
+msgstr ""
+"ไม่สามารถตั้งค่า '%s' แบบทันทีได้ กรุณาอ่านรายละเอียดเพิ่มเติมจาก man 5 apt.conf ที่หัวข้อ "
+"APT::Immediate-Configure (%d)"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: apt-pkg/contrib/gpgv.cc:72
+#: apt-pkg/packagemanager.cc:504 apt-pkg/packagemanager.cc:535
#, c-format
-msgid "No keyring installed in %s."
-msgstr "ไม่มีพวงกุญแจติดตั้งไว้ใน %s"
+msgid "Could not configure '%s'. "
+msgstr "ไม่สามารถตั้งค่า '%s'"
+
+#: apt-pkg/packagemanager.cc:577
+#, c-format
+msgid ""
+"This installation run will require temporarily removing the essential "
+"package %s due to a Conflicts/Pre-Depends loop. This is often bad, but if "
+"you really want to do it, activate the APT::Force-LoopBreak option."
+msgstr ""
+"การติดตั้งครั้งนี้จำเป็นต้องลบแพกเกจ %s ชั่วคราว "
+"อันเนื่องมาจากความขัดแย้งหรือความขึ้นต่อกันระหว่างติดตั้งที่เป็นวงรอบ "
+"ซึ่งแพกเกจดังกล่าวเป็นแพกเกจที่จำเป็นสำหรับระบบ การลบดังกล่าวมักเป็นอันตราย "
+"แต่ถ้าคุณต้องการทำเช่นนั้นจริงๆ ก็ให้เปิดตัวเลือก APT::Force-LoopBreak"
#: apt-pkg/pkgcache.cc:155
msgid "Empty package cache"
@@ -2689,46 +2834,94 @@ msgstr "ตัวเลือก"
msgid "extra"
msgstr "ส่วนเสริม"
-#: apt-pkg/depcache.cc:138 apt-pkg/depcache.cc:167
-msgid "Building dependency tree"
-msgstr "กำลังสร้างโครงสร้างลำดับความสัมพันธ์"
+#: apt-pkg/pkgcachegen.cc:93
+msgid "Cache has an incompatible versioning system"
+msgstr "แคชมีระบบนับรุ่นที่ไม่ตรงกัน"
-#: apt-pkg/depcache.cc:139
-msgid "Candidate versions"
-msgstr "รุ่นแพกเกจที่มี"
+#. TRANSLATOR: The first placeholder is a package name,
+#. the other two should be copied verbatim as they include debug info
+#: apt-pkg/pkgcachegen.cc:224 apt-pkg/pkgcachegen.cc:234
+#: apt-pkg/pkgcachegen.cc:300 apt-pkg/pkgcachegen.cc:327
+#: apt-pkg/pkgcachegen.cc:340 apt-pkg/pkgcachegen.cc:382
+#: apt-pkg/pkgcachegen.cc:386 apt-pkg/pkgcachegen.cc:403
+#: apt-pkg/pkgcachegen.cc:411 apt-pkg/pkgcachegen.cc:415
+#: apt-pkg/pkgcachegen.cc:419 apt-pkg/pkgcachegen.cc:440
+#: apt-pkg/pkgcachegen.cc:479 apt-pkg/pkgcachegen.cc:517
+#: apt-pkg/pkgcachegen.cc:524 apt-pkg/pkgcachegen.cc:555
+#: apt-pkg/pkgcachegen.cc:569
+#, c-format
+msgid "Error occurred while processing %s (%s%d)"
+msgstr "เกิดข้อผิดพลาดขณะประมวลผล %s (%s%d)"
-#: apt-pkg/depcache.cc:168
-msgid "Dependency generation"
-msgstr "สร้างลำดับความสัมพันธ์"
+#: apt-pkg/pkgcachegen.cc:257
+msgid "Wow, you exceeded the number of package names this APT is capable of."
+msgstr "โอ้ คุณมาถึงขีดจำกัดจำนวนชื่อแพกเกจที่ APT สามารถรองรับได้แล้ว"
-#: apt-pkg/depcache.cc:188 apt-pkg/depcache.cc:221 apt-pkg/depcache.cc:225
-msgid "Reading state information"
-msgstr "กำลังอ่านข้อมูลสถานะ"
+#: apt-pkg/pkgcachegen.cc:260
+msgid "Wow, you exceeded the number of versions this APT is capable of."
+msgstr "โอ้ คุณมาถึงขีดจำกัดจำนวนรุ่นแพกเกจที่ APT สามารถรองรับได้แล้ว"
-#: apt-pkg/depcache.cc:250
+#: apt-pkg/pkgcachegen.cc:263
+msgid "Wow, you exceeded the number of descriptions this APT is capable of."
+msgstr "โอ้ คุณมาถึงขีดจำกัดจำนวนคำบรรยายแพกเกจที่ APT สามารถรองรับได้แล้ว"
+
+#: apt-pkg/pkgcachegen.cc:266
+msgid "Wow, you exceeded the number of dependencies this APT is capable of."
+msgstr "โอ้ คุณมาถึงขีดจำกัดจำนวนความสัมพันธ์ระหว่างแพกเกจที่ APT สามารถรองรับได้แล้ว"
+
+#: apt-pkg/pkgcachegen.cc:576
#, c-format
-msgid "Failed to open StateFile %s"
-msgstr "ไม่สามารถเปิดแฟ้มสถานะ %s"
+msgid "Package %s %s was not found while processing file dependencies"
+msgstr "ไม่พบแพกเกจ %s %s ขณะประมวลผลความขึ้นต่อแฟ้ม"
-#: apt-pkg/depcache.cc:256
+#: apt-pkg/pkgcachegen.cc:1211
#, c-format
-msgid "Failed to write temporary StateFile %s"
-msgstr "ไม่สามารถเขียนแฟ้มสถานะชั่วคราว %s"
+msgid "Couldn't stat source package list %s"
+msgstr "ไม่สามารถ stat รายการแพกเกจซอร์ส %s"
-#: apt-pkg/tagfile.cc:140
+#: apt-pkg/pkgcachegen.cc:1299 apt-pkg/pkgcachegen.cc:1403
+#: apt-pkg/pkgcachegen.cc:1409 apt-pkg/pkgcachegen.cc:1566
+msgid "Reading package lists"
+msgstr "กำลังอ่านรายชื่อแพกเกจ"
+
+#: apt-pkg/pkgcachegen.cc:1316
+msgid "Collecting File Provides"
+msgstr "กำลังเก็บข้อมูลแฟ้มที่ตระเตรียมให้"
+
+#: apt-pkg/pkgcachegen.cc:1508 apt-pkg/pkgcachegen.cc:1515
+msgid "IO Error saving source cache"
+msgstr "เกิดข้อผิดพลาด IO ขณะบันทึกแคชของซอร์ส"
+
+#: apt-pkg/pkgrecords.cc:38
#, c-format
-msgid "Unable to parse package file %s (1)"
-msgstr "ไม่สามารถแจงแฟ้มแพกเกจ %s (1)"
+msgid "Index file type '%s' is not supported"
+msgstr "ไม่รองรับแฟ้มดัชนีชนิด '%s'"
-#: apt-pkg/tagfile.cc:237
+#: apt-pkg/policy.cc:83
#, c-format
-msgid "Unable to parse package file %s (2)"
-msgstr "ไม่สามารถแจงแฟ้มแพกเกจ %s (2)"
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr "ค่า '%s' ไม่สามารถใช้กับ APT::Default-Release ได้ เนื่องจากรุ่นดังกล่าวไม่มีในแหล่ง"
+
+#: apt-pkg/policy.cc:422
+#, c-format
+msgid "Invalid record in the preferences file %s, no Package header"
+msgstr "ระเบียนผิดรูปแบบในแฟ้มค่าปรับแต่ง %s: ไม่มีข้อมูลส่วนหัว 'Package'"
+
+#: apt-pkg/policy.cc:444
+#, c-format
+msgid "Did not understand pin type %s"
+msgstr "ไม่เข้าใจชนิดการตรึง %s"
+
+#: apt-pkg/policy.cc:452
+msgid "No priority (or zero) specified for pin"
+msgstr "ไม่ได้ระบุลำดับความสำคัญ (หรือค่าศูนย์) สำหรับการตรึง"
#: apt-pkg/sourcelist.cc:127
-#, fuzzy, c-format
+#, c-format
msgid "Malformed stanza %u in source list %s (URI parse)"
-msgstr "บรรทัด %lu ในแฟ้มรายชื่อแหล่งแพกเกจ %s ผิดรูปแบบ (ขณะแจง URI)"
+msgstr "วรรคที่ %u ในแฟ้มรายชื่อแหล่งแพกเกจ %s ผิดรูปแบบ (ขณะแจง URI)"
#: apt-pkg/sourcelist.cc:170
#, c-format
@@ -2785,11 +2978,6 @@ msgstr "บรรทัด %lu ในแฟ้มรายชื่อแหล
msgid "Opening %s"
msgstr "กำลังเปิด %s"
-#: apt-pkg/sourcelist.cc:347 apt-pkg/cdrom.cc:497
-#, c-format
-msgid "Line %u too long in source list %s."
-msgstr "บรรทัด %u ในแฟ้มรายชื่อแหล่งแพกเกจ %s ยาวเกินไป"
-
#: apt-pkg/sourcelist.cc:371
#, c-format
msgid "Malformed line %u in source list %s (type)"
@@ -2801,515 +2989,388 @@ msgid "Type '%s' is not known on line %u in source list %s"
msgstr "ไม่รู้จักชนิด '%s' ที่บรรทัด %u ในแฟ้มรายชื่อแหล่งแพกเกจ %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 "ไม่รู้จักชนิด '%s' ที่บรรทัด %u ในแฟ้มรายชื่อแหล่งแพกเกจ %s"
+msgstr "ไม่รู้จักชนิด '%s' ที่วรรคที่ %u ในแฟ้มรายชื่อแหล่งแพกเกจ %s"
-#: apt-pkg/packagemanager.cc:303 apt-pkg/packagemanager.cc:932
-#, c-format
-msgid ""
-"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
-"under APT::Immediate-Configure for details. (%d)"
-msgstr ""
-"ไม่สามารถตั้งค่า '%s' แบบทันทีได้ กรุณาอ่านรายละเอียดเพิ่มเติมจาก man 5 apt.conf ที่หัวข้อ "
-"APT::Immediate-Configure (%d)"
+#: apt-pkg/srcrecords.cc:52
+msgid "You must put some 'source' URIs in your sources.list"
+msgstr "คุณต้องเพิ่ม URI ชนิด 'source' ใน sources.list ของคุณด้วย"
-#: apt-pkg/packagemanager.cc:504 apt-pkg/packagemanager.cc:535
+#: apt-pkg/tagfile.cc:140
#, c-format
-msgid "Could not configure '%s'. "
-msgstr "ไม่สามารถตั้งค่า '%s'"
+msgid "Unable to parse package file %s (1)"
+msgstr "ไม่สามารถแจงแฟ้มแพกเกจ %s (1)"
-#: apt-pkg/packagemanager.cc:577
+#: apt-pkg/tagfile.cc:237
#, c-format
+msgid "Unable to parse package file %s (2)"
+msgstr "ไม่สามารถแจงแฟ้มแพกเกจ %s (2)"
+
+#: apt-pkg/update.cc:103 apt-pkg/update.cc:105
msgid ""
-"This installation run will require temporarily removing the essential "
-"package %s due to a Conflicts/Pre-Depends loop. This is often bad, but if "
-"you really want to do it, activate the APT::Force-LoopBreak option."
-msgstr ""
-"การติดตั้งครั้งนี้จำเป็นต้องลบแพกเกจ %s ชั่วคราว "
-"อันเนื่องมาจากความขัดแย้งหรือความขึ้นต่อกันระหว่างติดตั้งที่เป็นวงรอบ "
-"ซึ่งแพกเกจดังกล่าวเป็นแพกเกจที่จำเป็นสำหรับระบบ การลบดังกล่าวมักเป็นอันตราย "
-"แต่ถ้าคุณต้องการทำเช่นนั้นจริงๆ ก็ให้เปิดตัวเลือก APT::Force-LoopBreak"
+"Some index files failed to download. They have been ignored, or old ones "
+"used instead."
+msgstr "ดาวน์โหลดแฟ้มดัชนีบางแฟ้มไม่สำเร็จ จะข้ามรายการดังกล่าวไป หรือใช้ข้อมูลเก่าแทน"
-#: apt-pkg/pkgrecords.cc:38
+#: apt-pkg/vendorlist.cc:85
#, c-format
-msgid "Index file type '%s' is not supported"
-msgstr "ไม่รองรับแฟ้มดัชนีชนิด '%s'"
+msgid "Vendor block %s contains no fingerprint"
+msgstr "บล็อคผู้ผลิต %s ไม่มีลายนิ้วมือ"
-#: apt-pkg/algorithms.cc:265
+#: apt-pkg/contrib/cdromutl.cc:65
#, c-format
-msgid ""
-"The package %s needs to be reinstalled, but I can't find an archive for it."
-msgstr "จำเป็นต้องติดตั้งแพกเกจ %s ซ้ำ แต่หาตัวแพกเกจไม่พบ"
-
-#: apt-pkg/algorithms.cc:1083
-msgid ""
-"Error, pkgProblemResolver::Resolve generated breaks, this may be caused by "
-"held packages."
-msgstr ""
-"ข้อผิดพลาด: pkgProblemResolver::Resolve สร้างคำตอบที่ทำให้เกิดแพกเกจเสีย "
-"อาจเกิดจากแพกเกจที่ถูกกำหนดให้คงรุ่นไว้"
+msgid "Unable to stat the mount point %s"
+msgstr "ไม่สามารถ stat จุดเมานท์ %s"
-#: apt-pkg/algorithms.cc:1085
-msgid "Unable to correct problems, you have held broken packages."
-msgstr "ไม่สามารถแก้ปัญหาได้ คุณได้คงรุ่นแพกเกจที่เสียอยู่ไว้"
+#: apt-pkg/contrib/cdromutl.cc:246
+msgid "Failed to stat the cdrom"
+msgstr "ไม่สามารถ stat ซีดีรอม"
-#: apt-pkg/acquire.cc:87 apt-pkg/cdrom.cc:816
+#: apt-pkg/contrib/cmndline.cc:121
#, c-format
-msgid "List directory %spartial is missing."
-msgstr "ไม่มีไดเรกทอรีรายชื่อแพกเกจ %spartial"
+msgid "Command line option '%c' [from %s] is not known."
+msgstr "ไม่รู้จักตัวเลือกบรรทัดคำสั่ง '%c' [จาก %s]"
-#: apt-pkg/acquire.cc:91
+#: apt-pkg/contrib/cmndline.cc:146 apt-pkg/contrib/cmndline.cc:155
+#: apt-pkg/contrib/cmndline.cc:163
#, c-format
-msgid "Archives directory %spartial is missing."
-msgstr "ไม่มีไดเรกทอรีแพกเกจ %spartial"
+msgid "Command line option %s is not understood"
+msgstr "ไม่เข้าใจตัวเลือกบรรทัดคำสั่ง %s"
-#: apt-pkg/acquire.cc:99
+#: apt-pkg/contrib/cmndline.cc:168
#, c-format
-msgid "Unable to lock directory %s"
-msgstr "ไม่สามารถล็อคไดเรกทอรี %s"
+msgid "Command line option %s is not boolean"
+msgstr "ตัวเลือกบรรทัดคำสั่ง %s ไม่ได้เป็นค่าบูลีน"
-#. only show the ETA if it makes sense
-#. two days
-#: apt-pkg/acquire.cc:899
+#: apt-pkg/contrib/cmndline.cc:209 apt-pkg/contrib/cmndline.cc:230
#, c-format
-msgid "Retrieving file %li of %li (%s remaining)"
-msgstr "กำลังดาวน์โหลดแฟ้มที่ %li จาก %li (เหลืออีก %s)"
+msgid "Option %s requires an argument."
+msgstr "ตัวเลือก %s ต้องมีอาร์กิวเมนต์"
-#: apt-pkg/acquire.cc:901
+#: apt-pkg/contrib/cmndline.cc:243 apt-pkg/contrib/cmndline.cc:249
#, c-format
-msgid "Retrieving file %li of %li"
-msgstr "กำลังดาวน์โหลดแฟ้มที่ %li จาก %li"
+msgid "Option %s: Configuration item specification must have an =<val>."
+msgstr "ตัวเลือก %s: การกำหนดรายการค่าตั้งต้องมี =<val>"
-#: apt-pkg/acquire-worker.cc:116
+#: apt-pkg/contrib/cmndline.cc:278
#, c-format
-msgid "The method driver %s could not be found."
-msgstr "ไม่พบไดรเวอร์สำหรับวิธีการ %s"
-
-#: apt-pkg/acquire-worker.cc:118
-#, fuzzy, c-format
-msgid "Is the package %s installed?"
-msgstr "กรุณาตรวจสอบว่าได้ติดตั้งแพกเกจ 'dpkg-dev' แล้ว\n"
+msgid "Option %s requires an integer argument, not '%s'"
+msgstr "ตัวเลือก %s ต้องการอาร์กิวเมนต์จำนวนเต็ม ไม่ใช่ '%s'"
-#: apt-pkg/acquire-worker.cc:169
+#: apt-pkg/contrib/cmndline.cc:309
#, c-format
-msgid "Method %s did not start correctly"
-msgstr "ไม่สามารถเรียกทำงานวิธีการ %s"
+msgid "Option '%s' is too long"
+msgstr "ตัวเลือก '%s' ยาวเกินไป"
-#: apt-pkg/acquire-worker.cc:455
+#: apt-pkg/contrib/cmndline.cc:341
#, c-format
-msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
-msgstr "กรุณาใส่แผ่นชื่อ: '%s' ลงในไดรว์ '%s' แล้วกด enter"
+msgid "Sense %s is not understood, try true or false."
+msgstr "ไม่เข้าใจค่าบูลีน %s กรุณาลองใช้ true หรือ false"
-#: apt-pkg/init.cc:145
+#: apt-pkg/contrib/cmndline.cc:391
#, c-format
-msgid "Packaging system '%s' is not supported"
-msgstr "ไม่รองรับระบบแพกเกจ '%s'"
-
-#: apt-pkg/init.cc:161
-msgid "Unable to determine a suitable packaging system type"
-msgstr "ไม่สามารถระบุชนิดของระบบแพกเกจที่เหมาะสมได้"
+msgid "Invalid operation %s"
+msgstr "ไม่รู้จักคำสั่ง %s"
-#: apt-pkg/clean.cc:61
+#: apt-pkg/contrib/configuration.cc:519
#, c-format
-msgid "Unable to stat %s."
-msgstr "ไม่สามารถ stat %s"
-
-#: apt-pkg/srcrecords.cc:52
-msgid "You must put some 'source' URIs in your sources.list"
-msgstr "คุณต้องเพิ่ม URI ชนิด 'source' ใน sources.list ของคุณด้วย"
-
-#: apt-pkg/cachefile.cc:94
-msgid "The package lists or status file could not be parsed or opened."
-msgstr "ไม่สามารถแจงหรือเปิดรายชื่อแพกเกจหรือสถานะแพกเกจได้"
-
-#: apt-pkg/cachefile.cc:98
-msgid "You may want to run apt-get update to correct these problems"
-msgstr "คุณอาจเรียก `apt-get update' เพื่อแก้ปัญหาเหล่านี้ได้"
-
-#: apt-pkg/cachefile.cc:116
-msgid "The list of sources could not be read."
-msgstr "ไม่สามารถอ่านรายชื่อแหล่งแพกเกจได้"
+msgid "Unrecognized type abbreviation: '%c'"
+msgstr "พบตัวย่อของชนิดที่ข้อมูลไม่รู้จัก: '%c'"
-#: apt-pkg/policy.cc:83
+#: apt-pkg/contrib/configuration.cc:633
#, c-format
-msgid ""
-"The value '%s' is invalid for APT::Default-Release as such a release is not "
-"available in the sources"
-msgstr "ค่า '%s' ไม่สามารถใช้กับ APT::Default-Release ได้ เนื่องจากรุ่นดังกล่าวไม่มีในแหล่ง"
+msgid "Opening configuration file %s"
+msgstr "ขณะเปิดแฟ้มค่าตั้ง %s"
-#: apt-pkg/policy.cc:422
+#: apt-pkg/contrib/configuration.cc:801
#, c-format
-msgid "Invalid record in the preferences file %s, no Package header"
-msgstr "ระเบียนผิดรูปแบบในแฟ้มค่าปรับแต่ง %s: ไม่มีข้อมูลส่วนหัว 'Package'"
+msgid "Syntax error %s:%u: Block starts with no name."
+msgstr "ไวยากรณ์ผิดพลาด %s:%u: เริ่มบล็อคโดยไม่มีชื่อ"
-#: apt-pkg/policy.cc:444
+#: apt-pkg/contrib/configuration.cc:820
#, c-format
-msgid "Did not understand pin type %s"
-msgstr "ไม่เข้าใจชนิดการตรึง %s"
-
-#: apt-pkg/policy.cc:452
-msgid "No priority (or zero) specified for pin"
-msgstr "ไม่ได้ระบุลำดับความสำคัญ (หรือค่าศูนย์) สำหรับการตรึง"
-
-#: apt-pkg/pkgcachegen.cc:93
-msgid "Cache has an incompatible versioning system"
-msgstr "แคชมีระบบนับรุ่นที่ไม่ตรงกัน"
+msgid "Syntax error %s:%u: Malformed tag"
+msgstr "ไวยากรณ์ผิดพลาด %s:%u: แท็กผิดรูปแบบ"
-#. TRANSLATOR: The first placeholder is a package name,
-#. the other two should be copied verbatim as they include debug info
-#: apt-pkg/pkgcachegen.cc:224 apt-pkg/pkgcachegen.cc:234
-#: apt-pkg/pkgcachegen.cc:300 apt-pkg/pkgcachegen.cc:327
-#: apt-pkg/pkgcachegen.cc:340 apt-pkg/pkgcachegen.cc:382
-#: apt-pkg/pkgcachegen.cc:386 apt-pkg/pkgcachegen.cc:403
-#: apt-pkg/pkgcachegen.cc:411 apt-pkg/pkgcachegen.cc:415
-#: apt-pkg/pkgcachegen.cc:419 apt-pkg/pkgcachegen.cc:440
-#: apt-pkg/pkgcachegen.cc:479 apt-pkg/pkgcachegen.cc:517
-#: apt-pkg/pkgcachegen.cc:524 apt-pkg/pkgcachegen.cc:555
-#: apt-pkg/pkgcachegen.cc:569
+#: apt-pkg/contrib/configuration.cc:837
#, c-format
-msgid "Error occurred while processing %s (%s%d)"
-msgstr "เกิดข้อผิดพลาดขณะประมวลผล %s (%s%d)"
-
-#: apt-pkg/pkgcachegen.cc:257
-msgid "Wow, you exceeded the number of package names this APT is capable of."
-msgstr "โอ้ คุณมาถึงขีดจำกัดจำนวนชื่อแพกเกจที่ APT สามารถรองรับได้แล้ว"
-
-#: apt-pkg/pkgcachegen.cc:260
-msgid "Wow, you exceeded the number of versions this APT is capable of."
-msgstr "โอ้ คุณมาถึงขีดจำกัดจำนวนรุ่นแพกเกจที่ APT สามารถรองรับได้แล้ว"
-
-#: apt-pkg/pkgcachegen.cc:263
-msgid "Wow, you exceeded the number of descriptions this APT is capable of."
-msgstr "โอ้ คุณมาถึงขีดจำกัดจำนวนคำบรรยายแพกเกจที่ APT สามารถรองรับได้แล้ว"
-
-#: apt-pkg/pkgcachegen.cc:266
-msgid "Wow, you exceeded the number of dependencies this APT is capable of."
-msgstr "โอ้ คุณมาถึงขีดจำกัดจำนวนความสัมพันธ์ระหว่างแพกเกจที่ APT สามารถรองรับได้แล้ว"
+msgid "Syntax error %s:%u: Extra junk after value"
+msgstr "ไวยากรณ์ผิดพลาด %s:%u: มีขยะเกินหลังค่า"
-#: apt-pkg/pkgcachegen.cc:576
+#: apt-pkg/contrib/configuration.cc:877
#, c-format
-msgid "Package %s %s was not found while processing file dependencies"
-msgstr "ไม่พบแพกเกจ %s %s ขณะประมวลผลความขึ้นต่อแฟ้ม"
+msgid "Syntax error %s:%u: Directives can only be done at the top level"
+msgstr "ไวยากรณ์ผิดพลาด %s:%u: สามารถใช้ directive ที่ระดับบนสุดได้เท่านั้น"
-#: apt-pkg/pkgcachegen.cc:1211
+#: apt-pkg/contrib/configuration.cc:884
#, c-format
-msgid "Couldn't stat source package list %s"
-msgstr "ไม่สามารถ stat รายการแพกเกจซอร์ส %s"
-
-#: apt-pkg/pkgcachegen.cc:1299 apt-pkg/pkgcachegen.cc:1403
-#: apt-pkg/pkgcachegen.cc:1409 apt-pkg/pkgcachegen.cc:1566
-msgid "Reading package lists"
-msgstr "กำลังอ่านรายชื่อแพกเกจ"
-
-#: apt-pkg/pkgcachegen.cc:1316
-msgid "Collecting File Provides"
-msgstr "กำลังเก็บข้อมูลแฟ้มที่ตระเตรียมให้"
-
-#: apt-pkg/pkgcachegen.cc:1508 apt-pkg/pkgcachegen.cc:1515
-msgid "IO Error saving source cache"
-msgstr "เกิดข้อผิดพลาด IO ขณะบันทึกแคชของซอร์ส"
-
-#: apt-pkg/acquire-item.cc:163
-msgid "Hash Sum mismatch"
-msgstr "ผลรวมแฮชไม่ตรงกัน"
+msgid "Syntax error %s:%u: Too many nested includes"
+msgstr "ไวยากรณ์ผิดพลาด %s:%u: ใช้ include ซ้อนกันมากเกินไป"
-#: apt-pkg/acquire-item.cc:168
-msgid "Size mismatch"
-msgstr "ขนาดไม่ตรงกัน"
+#: apt-pkg/contrib/configuration.cc:888 apt-pkg/contrib/configuration.cc:893
+#, c-format
+msgid "Syntax error %s:%u: Included from here"
+msgstr "ไวยากรณ์ผิดพลาด %s:%u: include จากที่นี่"
-#: apt-pkg/acquire-item.cc:173
-#, fuzzy
-msgid "Invalid file format"
-msgstr "ไม่รู้จักคำสั่ง %s"
+#: apt-pkg/contrib/configuration.cc:897
+#, c-format
+msgid "Syntax error %s:%u: Unsupported directive '%s'"
+msgstr "ไวยากรณ์ผิดพลาด %s:%u: พบ directive '%s' ที่ไม่รองรับ"
-#: apt-pkg/acquire-item.cc:1579
+#: apt-pkg/contrib/configuration.cc:900
#, c-format
-msgid ""
-"Unable to find expected entry '%s' in Release file (Wrong sources.list entry "
-"or malformed file)"
-msgstr ""
-"ไม่พบรายการ '%s' ที่ต้องการในแฟ้ม Release (รายการ sources.list ไม่ถูกต้อง "
-"หรือแฟ้มผิดรูปแบบ)"
+msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
+msgstr "ไวยากรณ์ผิดพลาด %s:%u: directive 'clear' ต้องมีอาร์กิวเมนต์เป็นลำดับชั้นตัวเลือก"
-#: apt-pkg/acquire-item.cc:1595
+#: apt-pkg/contrib/configuration.cc:950
#, c-format
-msgid "Unable to find hash sum for '%s' in Release file"
-msgstr "ไม่พบผลรวมแฮชสำหรับ '%s' ในแฟ้ม Release"
+msgid "Syntax error %s:%u: Extra junk at end of file"
+msgstr "ไวยากรณ์ผิดพลาด %s:%u: มีขยะเกินหลังจบแฟ้ม"
-#: apt-pkg/acquire-item.cc:1637
-msgid "There is no public key available for the following key IDs:\n"
-msgstr "ไม่มีกุญแจสาธารณะสำหรับกุญแจหมายเลขต่อไปนี้:\n"
+#: apt-pkg/contrib/fileutl.cc:193
+#, c-format
+msgid "Not using locking for read only lock file %s"
+msgstr "จะไม่ใช้การล็อคกับแฟ้มล็อค %s ที่อ่านได้อย่างเดียว"
-#: apt-pkg/acquire-item.cc:1675
+#: apt-pkg/contrib/fileutl.cc:198
#, c-format
-msgid ""
-"Release file for %s is expired (invalid since %s). Updates for this "
-"repository will not be applied."
-msgstr ""
-"แฟ้ม Release สำหรับ %s หมดอายุแล้ว (ตั้งแต่ %s ที่แล้ว) จะไม่ใช้รายการปรับรุ่นต่างๆ "
-"ของคลังแพกเกจนี้"
+msgid "Could not open lock file %s"
+msgstr "ไม่สามารถเปิดแฟ้มล็อค %s"
-#: apt-pkg/acquire-item.cc:1697
+#: apt-pkg/contrib/fileutl.cc:221
#, c-format
-msgid "Conflicting distribution: %s (expected %s but got %s)"
-msgstr "ชุดจัดแจกขัดแย้งกัน: %s (ต้องการ %s แต่พบ %s)"
+msgid "Not using locking for nfs mounted lock file %s"
+msgstr "จะไม่ใช้การล็อคกับแฟ้มล็อค %s ที่เมานท์ผ่าน nfs"
-#: apt-pkg/acquire-item.cc:1727
+#: apt-pkg/contrib/fileutl.cc:226
#, c-format
-msgid ""
-"An error occurred during the signature verification. The repository is not "
-"updated and the previous index files will be used. GPG error: %s: %s\n"
-msgstr ""
-"เกิดข้อผิดพลาดขณะตรวจสอบลายเซ็น จะไม่ปรับข้อมูลคลังแพกเกจนี้ และจะใช้แฟ้มดัชนีเก่า "
-"ข้อผิดพลาดจาก GPG: %s: %s\n"
+msgid "Could not get lock %s"
+msgstr "ไม่สามารถล็อค %s"
-#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1737 apt-pkg/acquire-item.cc:1742
+#: apt-pkg/contrib/fileutl.cc:363 apt-pkg/contrib/fileutl.cc:477
#, c-format
-msgid "GPG error: %s: %s"
-msgstr "ข้อผิดพลาดจาก GPG: %s: %s"
+msgid "List of files can't be created as '%s' is not a directory"
+msgstr "ไม่สามารถสร้างรายชื่อแฟ้มได้ เนื่องจาก '%s' ไม่ใช่ไดเรกทอรี"
-#: apt-pkg/acquire-item.cc:1865
+#: apt-pkg/contrib/fileutl.cc:397
#, c-format
-msgid ""
-"I wasn't able to locate a file for the %s package. This might mean you need "
-"to manually fix this package. (due to missing arch)"
-msgstr "ไม่พบแฟ้มสำหรับแพกเกจ %s คุณอาจต้องแก้ปัญหาแพกเกจนี้เอง (ไม่มี arch)"
+msgid "Ignoring '%s' in directory '%s' as it is not a regular file"
+msgstr "จะละเลย '%s' ในไดเรกทอรี '%s' เนื่องจากไม่ใช่แฟ้มธรรมดา"
-#: apt-pkg/acquire-item.cc:1931
+#: apt-pkg/contrib/fileutl.cc:415
#, c-format
-msgid "Can't find a source to download version '%s' of '%s'"
-msgstr "ไม่พบแหล่งที่จะดาวน์โหลดรุ่น '%s' ของ '%s' ได้"
+msgid "Ignoring file '%s' in directory '%s' as it has no filename extension"
+msgstr "จะละเลย '%s' ในไดเรกทอรี '%s' เนื่องจากไม่มีส่วนขยายในชื่อแฟ้ม"
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/contrib/fileutl.cc:424
#, c-format
msgid ""
-"The package index files are corrupted. No Filename: field for package %s."
-msgstr "แฟ้มดัชนีแพกเกจเสียหาย ไม่มีข้อมูล Filename: (ชื่อแฟ้ม) สำหรับแพกเกจ %s"
+"Ignoring file '%s' in directory '%s' as it has an invalid filename extension"
+msgstr "จะละเลย '%s' ในไดเรกทอรี '%s' เนื่องจากส่วนขยายในชื่อแฟ้มไม่สามารถใช้การได้"
-#: apt-pkg/indexrecords.cc:78
+#: apt-pkg/contrib/fileutl.cc:827
#, c-format
-msgid "Unable to parse Release file %s"
-msgstr "ไม่สามารถแจงแฟ้ม Release %s"
+msgid "Sub-process %s received a segmentation fault."
+msgstr "โพรเซสย่อย %s เกิดข้อผิดพลาดของการใช้ย่านหน่วยความจำ (segmentation fault)"
-#: apt-pkg/indexrecords.cc:86
+#: apt-pkg/contrib/fileutl.cc:829
#, c-format
-msgid "No sections in Release file %s"
-msgstr "ไม่มีหัวข้อย่อยในแฟ้ม Release %s"
+msgid "Sub-process %s received signal %u."
+msgstr "โพรเซสย่อย %s ได้รับสัญญาณ %u"
-#: apt-pkg/indexrecords.cc:117
+#: apt-pkg/contrib/fileutl.cc:833 apt-pkg/contrib/gpgv.cc:239
#, c-format
-msgid "No Hash entry in Release file %s"
-msgstr "ไม่มีรายการแฮชในแฟ้ม Release %s"
+msgid "Sub-process %s returned an error code (%u)"
+msgstr "โพรเซสย่อย %s คืนค่าข้อผิดพลาด (%u)"
-#: apt-pkg/indexrecords.cc:130
+#: apt-pkg/contrib/fileutl.cc:835 apt-pkg/contrib/gpgv.cc:232
#, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
-msgstr "รายการ 'Valid-Until' ไม่ถูกต้องในแฟ้ม Release %s"
+msgid "Sub-process %s exited unexpectedly"
+msgstr "โพรเซสย่อย %s จบการทำงานกะทันหัน"
-#: apt-pkg/indexrecords.cc:149
+#: apt-pkg/contrib/fileutl.cc:916
#, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "รายการ 'Date' ไม่ถูกต้องในแฟ้ม Release %s"
+msgid "Problem closing the gzip file %s"
+msgstr "เกิดปัญหาขณะปิดแฟ้ม gzip %s"
-#: apt-pkg/vendorlist.cc:85
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
-msgid "Vendor block %s contains no fingerprint"
-msgstr "บล็อคผู้ผลิต %s ไม่มีลายนิ้วมือ"
+msgid "Could not open file %s"
+msgstr "ไม่สามารถเปิดแฟ้ม %s"
-#: apt-pkg/cdrom.cc:577
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, c-format
-msgid "Using CD-ROM mount point %s\n"
-msgstr "กำลังใช้จุดเมานท์ซีดีรอม %s\n"
+msgid "Could not open file descriptor %d"
+msgstr "ไม่สามารถเปิด file destriptor %d"
-#: apt-pkg/cdrom.cc:587 apt-pkg/cdrom.cc:657 apt-pkg/cdrom.cc:893
-msgid "Unmounting CD-ROM...\n"
-msgstr "กำลังเลิกเมานท์ซีดีรอม...\n"
+#: apt-pkg/contrib/fileutl.cc:1317
+msgid "Failed to create subprocess IPC"
+msgstr "สร้าง IPC ของโพรเซสย่อยไม่สำเร็จ"
-#: apt-pkg/cdrom.cc:592
-msgid "Waiting for disc...\n"
-msgstr "กำลังรอแผ่น...\n"
+#: apt-pkg/contrib/fileutl.cc:1375
+msgid "Failed to exec compressor "
+msgstr "เรียกทำงานตัวบีบอัดไม่สำเร็จ"
-#: apt-pkg/cdrom.cc:602
-msgid "Mounting CD-ROM...\n"
-msgstr "กำลังเมานท์ซีดีรอม...\n"
+#: apt-pkg/contrib/fileutl.cc:1516
+#, c-format
+msgid "read, still have %llu to read but none left"
+msgstr "read: ยังเหลือ %llu ที่ยังไม่ได้อ่าน แต่ข้อมูลหมดแล้ว"
-#: apt-pkg/cdrom.cc:610
-msgid "Identifying... "
-msgstr "กำลังตรวจสอบชื่อแผ่น... "
+#: apt-pkg/contrib/fileutl.cc:1629 apt-pkg/contrib/fileutl.cc:1651
+#, c-format
+msgid "write, still have %llu to write but couldn't"
+msgstr "write: ยังเหลือ %llu ที่ยังไม่ได้เขียน แต่ไม่สามารถเขียนได้"
-#: apt-pkg/cdrom.cc:648
+#: apt-pkg/contrib/fileutl.cc:1922
#, c-format
-msgid "Stored label: %s\n"
-msgstr "ชื่อที่เก็บไว้: %s\n"
+msgid "Problem closing the file %s"
+msgstr "เกิดปัญหาขณะปิดแฟ้ม %s"
-#: apt-pkg/cdrom.cc:672
-msgid "Scanning disc for index files...\n"
-msgstr "กำลังสำรวจข้อมูลในแผ่นเพื่อหาแฟ้มดัชนี...\n"
+#: apt-pkg/contrib/fileutl.cc:1934
+#, c-format
+msgid "Problem renaming the file %s to %s"
+msgstr "เกิดปัญหาขณะเปลี่ยนชื่อแฟ้ม %s ไปเป็น %s"
-#: apt-pkg/cdrom.cc:722
+#: apt-pkg/contrib/fileutl.cc:1945
#, c-format
-msgid ""
-"Found %zu package indexes, %zu source indexes, %zu translation indexes and "
-"%zu signatures\n"
-msgstr ""
-"พบดัชนีแพกเกจ %zu รายการ, ดัชนีซอร์ส %zu รายการ, ดัชนีคำแปล %zu รายการ และลายเซ็น "
-"%zu รายการ\n"
+msgid "Problem unlinking the file %s"
+msgstr "เกิดปัญหาขณะลบแฟ้ม %s"
-#: apt-pkg/cdrom.cc:733
-msgid ""
-"Unable to locate any package files, perhaps this is not a Debian Disc or the "
-"wrong architecture?"
-msgstr "ไม่พบแฟ้มแพกเกจใดๆ บางทีแผ่นนี้อาจจะไม่ใช่แผ่นเดเบียน หรือสถาปัตยกรรมอาจไม่ถูกต้อง"
+#: apt-pkg/contrib/fileutl.cc:1958
+msgid "Problem syncing the file"
+msgstr "เกิดปัญหาขณะ sync แฟ้ม"
-#: apt-pkg/cdrom.cc:760
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/contrib/gpgv.cc:72
#, c-format
-msgid "Found label '%s'\n"
-msgstr "พบชื่อแผ่น '%s'\n"
+msgid "No keyring installed in %s."
+msgstr "ไม่มีพวงกุญแจติดตั้งไว้ใน %s"
-#: apt-pkg/cdrom.cc:789
-msgid "That is not a valid name, try again.\n"
-msgstr "ไม่ใช่ชื่อที่ใช้ได้ กรุณาลองใหม่\n"
+#: apt-pkg/contrib/mmap.cc:79
+msgid "Can't mmap an empty file"
+msgstr "ไม่สามารถ mmap แฟ้มเปล่า"
-#: apt-pkg/cdrom.cc:806
+#: apt-pkg/contrib/mmap.cc:111
#, c-format
-msgid ""
-"This disc is called: \n"
-"'%s'\n"
-msgstr ""
-"แผ่นนี้เรียกชื่อว่า:\n"
-"'%s'\n"
+msgid "Couldn't duplicate file descriptor %i"
+msgstr "ไม่สามารถทำซ้ำ file descriptor %i"
-#: apt-pkg/cdrom.cc:808
-msgid "Copying package lists..."
-msgstr "กำลังคัดลอกรายชื่อแพกเกจ..."
+#: apt-pkg/contrib/mmap.cc:119
+#, c-format
+msgid "Couldn't make mmap of %llu bytes"
+msgstr "ไม่สามารถสร้าง mmap ขนาด %llu ไบต์"
-#: apt-pkg/cdrom.cc:843
-msgid "Writing new source list\n"
-msgstr "กำลังเขียนรายชื่อแหล่งแพกเกจแหล่งใหม่\n"
+#: apt-pkg/contrib/mmap.cc:146
+msgid "Unable to close mmap"
+msgstr "ไม่สามารถปิด mmap"
-#: apt-pkg/cdrom.cc:851
-msgid "Source list entries for this disc are:\n"
-msgstr "บรรทัดรายชื่อแหล่งแพกเกจสำหรับแผ่นนี้คือ:\n"
+#: apt-pkg/contrib/mmap.cc:174 apt-pkg/contrib/mmap.cc:202
+msgid "Unable to synchronize mmap"
+msgstr "ไม่สามารถปรับ mmap ให้ตรงกัน"
-#: apt-pkg/indexcopy.cc:236 apt-pkg/indexcopy.cc:773
+#: apt-pkg/contrib/mmap.cc:290
#, c-format
-msgid "Wrote %i records.\n"
-msgstr "เขียนแล้ว %i ระเบียน\n"
+msgid "Couldn't make mmap of %lu bytes"
+msgstr "ไม่สามารถสร้าง mmap ขนาด %lu ไบต์"
-#: apt-pkg/indexcopy.cc:238 apt-pkg/indexcopy.cc:775
-#, c-format
-msgid "Wrote %i records with %i missing files.\n"
-msgstr "เขียนแล้ว %i ระเบียน โดยมีแฟ้มขาดหาย %i แฟ้ม\n"
+#: apt-pkg/contrib/mmap.cc:322
+msgid "Failed to truncate file"
+msgstr "ไม่สามารถตัดท้ายแฟ้ม"
-#: apt-pkg/indexcopy.cc:241 apt-pkg/indexcopy.cc:778
+#: apt-pkg/contrib/mmap.cc:341
#, c-format
-msgid "Wrote %i records with %i mismatched files\n"
-msgstr "เขียนแล้ว %i ระเบียน โดยมีแฟ้มผิดขนาด %i แฟ้ม\n"
+msgid ""
+"Dynamic MMap ran out of room. Please increase the size of APT::Cache-Start. "
+"Current value: %lu. (man 5 apt.conf)"
+msgstr ""
+"MMap แบบพลวัตมีเนื้อที่ไม่พอ กรุณาเพิ่มขนาดของ APT::Cache-Start ค่าปัจจุบัน: %lu (man 5 "
+"apt.conf)"
-#: apt-pkg/indexcopy.cc:244 apt-pkg/indexcopy.cc:781
+#: apt-pkg/contrib/mmap.cc:446
#, c-format
-msgid "Wrote %i records with %i missing files and %i mismatched files\n"
-msgstr "เขียนแล้ว %i ระเบียน โดยมีแฟ้มขาดหาย %i แฟ้ม และแฟ้มผิดขนาด %i แฟ้ม\n"
+msgid ""
+"Unable to increase the size of the MMap as the limit of %lu bytes is already "
+"reached."
+msgstr "ไม่สามารถเพิ่มขนาดของ MMap เนื่องจากถึงขีดจำกัด %lu ไบต์แล้ว"
-#: apt-pkg/indexcopy.cc:515
-#, c-format
-msgid "Can't find authentication record for: %s"
-msgstr "ไม่พบระเบียนยืนยันความแท้สำหรับ: %s"
+#: apt-pkg/contrib/mmap.cc:449
+msgid ""
+"Unable to increase size of the MMap as automatic growing is disabled by user."
+msgstr "ไม่สามารถเพิ่มขนาดของ MMap เนื่องจากผู้ใช้ปิดการขยายขนาดอัตโนมัติ"
-#: apt-pkg/indexcopy.cc:521
+#: apt-pkg/contrib/progress.cc:148
#, c-format
-msgid "Hash mismatch for: %s"
-msgstr "แฮชไม่ตรงกันสำหรับ: %s"
+msgid "%c%s... Error!"
+msgstr "%c%s... ผิดพลาด!"
-#: apt-pkg/cacheset.cc:487
+#: apt-pkg/contrib/progress.cc:150
#, c-format
-msgid "Release '%s' for '%s' was not found"
-msgstr "ไม่พบรุ่นย่อย '%s' ของ '%s'"
+msgid "%c%s... Done"
+msgstr "%c%s... เสร็จแล้ว"
-#: apt-pkg/cacheset.cc:490
-#, c-format
-msgid "Version '%s' for '%s' was not found"
-msgstr "ไม่พบรุ่น '%s' ของ '%s'"
+#: apt-pkg/contrib/progress.cc:181
+msgid "..."
+msgstr "..."
-#: apt-pkg/cacheset.cc:601
+#. Print the spinner
+#: apt-pkg/contrib/progress.cc:197
#, c-format
-msgid "Couldn't find task '%s'"
-msgstr "ไม่พบงานติดตั้ง '%s'"
+msgid "%c%s... %u%%"
+msgstr "%c%s... %u%%"
-#: apt-pkg/cacheset.cc:607
+#. d means days, h means hours, min means minutes, s means seconds
+#: apt-pkg/contrib/strutl.cc:406
#, c-format
-msgid "Couldn't find any package by regex '%s'"
-msgstr "ไม่พบแพกเกจที่ตรงกับนิพจน์เรกิวลาร์ '%s'"
-
-#: apt-pkg/cacheset.cc:613
-#, fuzzy, c-format
-msgid "Couldn't find any package by glob '%s'"
-msgstr "ไม่พบแพกเกจที่ตรงกับนิพจน์เรกิวลาร์ '%s'"
+msgid "%lid %lih %limin %lis"
+msgstr "%liวัน %liชม. %liนาที %liวิ"
-#: apt-pkg/cacheset.cc:624
+#. h means hours, min means minutes, s means seconds
+#: apt-pkg/contrib/strutl.cc:413
#, c-format
-msgid "Can't select versions from package '%s' as it is purely virtual"
-msgstr "ไม่สามารถเลือกรุ่นต่างๆ ของแพกเกจ '%s' ได้ เนื่องจากเป็นแพกเกจเสมือนอย่างแท้จริง"
+msgid "%lih %limin %lis"
+msgstr "%liชม. %liนาที %liวิ"
-#: apt-pkg/cacheset.cc:631 apt-pkg/cacheset.cc:638
+#. min means minutes, s means seconds
+#: apt-pkg/contrib/strutl.cc:420
#, c-format
-msgid ""
-"Can't select installed nor candidate version from package '%s' as it has "
-"neither of them"
-msgstr ""
-"ไม่สามารถเลือกรุ่นที่ติดตั้งไว้หรือรุ่นสำหรับติดตั้งของแพกเกจ '%s' ได้ เนื่องจากไม่มีทั้งสองอย่าง"
+msgid "%limin %lis"
+msgstr "%liนาที %liวิ"
-#: apt-pkg/cacheset.cc:645
+#. s means seconds
+#: apt-pkg/contrib/strutl.cc:425
#, c-format
-msgid "Can't select newest version from package '%s' as it is purely virtual"
-msgstr "ไม่สามารถเลือกรุ่นใหม่ที่สุดของแพกเกจ '%s' ได้ เนื่องจากเป็นแพกเกจเสมือนอย่างแท้จริง"
+msgid "%lis"
+msgstr "%liวิ"
-#: apt-pkg/cacheset.cc:653
+#: apt-pkg/contrib/strutl.cc:1236
#, c-format
-msgid "Can't select candidate version from package %s as it has no candidate"
-msgstr "ไม่สามารถเลือกรุ่นสำหรับติดตั้งของแพกเกจ '%s' ได้ เนื่องจากไม่มีรุ่นสำหรับติดตั้ง"
+msgid "Selection %s not found"
+msgstr "ไม่พบรายการเลือก %s"
-#: apt-pkg/cacheset.cc:661
+#: apt-pkg/deb/debsystem.cc:91
#, c-format
-msgid "Can't select installed version from package %s as it is not installed"
-msgstr "ไม่สามารถเลือกรุ่นที่ติดตั้งไว้ของแพกเกจ '%s' ได้ เนื่องจากแพกเกจไม่ได้ติดตั้งไว้"
-
-#: apt-pkg/edsp.cc:50 apt-pkg/edsp.cc:70
-msgid "Send scenario to solver"
-msgstr "ส่งสภาวการณ์ไปยังกลไกการแก้ปัญหา"
-
-#: apt-pkg/edsp.cc:216
-msgid "Send request to solver"
-msgstr "ส่งคำสั่งไปยังกลไกการแก้ปัญหา"
-
-#: apt-pkg/edsp.cc:286
-msgid "Prepare for receiving solution"
-msgstr "เตรียมรับคำตอบ"
-
-#: apt-pkg/edsp.cc:293
-msgid "External solver failed without a proper error message"
-msgstr "กลไกการแก้ปัญหาภายนอกทำงานล้มเหลวโดยไม่มีข้อความข้อผิดพลาดที่เหมาะสม"
-
-#: apt-pkg/edsp.cc:563 apt-pkg/edsp.cc:566 apt-pkg/edsp.cc:571
-msgid "Execute external solver"
-msgstr "เรียกกลไกการแก้ปัญหาภายนอก"
+msgid ""
+"Unable to lock the administration directory (%s), is another process using "
+"it?"
+msgstr "ไม่สามารถล็อคไดเรกทอรีดูแลระบบ (%s) มีโพรเซสอื่นใช้งานอยู่หรือเปล่า?"
-#: apt-pkg/install-progress.cc:57
+#: apt-pkg/deb/debsystem.cc:94
#, c-format
-msgid "Progress: [%3i%%]"
-msgstr ""
-
-#: apt-pkg/install-progress.cc:91 apt-pkg/install-progress.cc:174
-msgid "Running dpkg"
-msgstr "กำลังเรียก dpkg"
+msgid "Unable to lock the administration directory (%s), are you root?"
+msgstr "ไม่สามารถล็อคไดเรกทอรีดูแลระบบ (%s) คุณเป็น root หรือเปล่า?"
-#: apt-pkg/update.cc:103 apt-pkg/update.cc:105
+#. TRANSLATORS: the %s contains the recovery command, usually
+#. dpkg --configure -a
+#: apt-pkg/deb/debsystem.cc:110
+#, c-format
msgid ""
-"Some index files failed to download. They have been ignored, or old ones "
-"used instead."
-msgstr "ดาวน์โหลดแฟ้มดัชนีบางแฟ้มไม่สำเร็จ จะข้ามรายการดังกล่าวไป หรือใช้ข้อมูลเก่าแทน"
+"dpkg was interrupted, you must manually run '%s' to correct the problem. "
+msgstr "dpkg ถูกขัดจังหวะ คุณต้องเรียก '%s' เองเพื่อแก้ปัญหา"
+
+#: apt-pkg/deb/debsystem.cc:128
+msgid "Not locked"
+msgstr "ไม่ได้ล็อคอยู่"
#: apt-pkg/deb/dpkgpm.cc:95
#, c-format
@@ -3394,20 +3455,20 @@ msgstr "ถอดถอน %s อย่างสมบูรณ์แล้ว"
#: apt-pkg/deb/dpkgpm.cc:1065
msgid "ioctl(TIOCGWINSZ) failed"
-msgstr ""
+msgstr "ioctl(TIOCGWINSZ) ล้มเหลว"
#: apt-pkg/deb/dpkgpm.cc:1068 apt-pkg/deb/dpkgpm.cc:1089
-#, fuzzy, c-format
+#, c-format
msgid "Can not write log (%s)"
-msgstr "ไม่สามารถเขียนลงแฟ้ม %s"
+msgstr "ไม่สามารถเขียนปูม (%s)"
#: apt-pkg/deb/dpkgpm.cc:1068
msgid "Is /dev/pts mounted?"
-msgstr ""
+msgstr "ได้เมานท์ /dev/pts ไว้หรือไม่?"
#: apt-pkg/deb/dpkgpm.cc:1089
msgid "Is stdout a terminal?"
-msgstr ""
+msgstr "stdout เป็นเทอร์มินัลหรือไม่?"
#: apt-pkg/deb/dpkgpm.cc:1567
msgid "Operation was interrupted before it could finish"
@@ -3442,11 +3503,11 @@ msgid ""
msgstr "ไม่มีการเขียนรายงาน apport เพราะข้อความข้อผิดพลาดระบุว่าเกิดจากหน่วยความจำเต็ม"
#: apt-pkg/deb/dpkgpm.cc:1656 apt-pkg/deb/dpkgpm.cc:1662
-#, fuzzy
msgid ""
"No apport report written because the error message indicates an issue on the "
"local system"
-msgstr "ไม่มีการเขียนรายงาน apport เพราะข้อความข้อผิดพลาดระบุว่าเกิดจากดิสก์เต็ม"
+msgstr ""
+"ไม่มีการเขียนรายงาน apport เพราะข้อความข้อผิดพลาดระบุว่าเกิดจากปัญหาของระบบในเครื่อง"
#: apt-pkg/deb/dpkgpm.cc:1683
msgid ""
@@ -3454,30 +3515,6 @@ msgid ""
msgstr ""
"ไม่มีการเขียนรายงาน apport เพราะข้อความข้อผิดพลาดระบุว่าเกิดจากปัญหาการอ่าน/เขียนของ dpkg"
-#: apt-pkg/deb/debsystem.cc:91
-#, c-format
-msgid ""
-"Unable to lock the administration directory (%s), is another process using "
-"it?"
-msgstr "ไม่สามารถล็อคไดเรกทอรีดูแลระบบ (%s) มีโพรเซสอื่นใช้งานอยู่หรือเปล่า?"
-
-#: apt-pkg/deb/debsystem.cc:94
-#, c-format
-msgid "Unable to lock the administration directory (%s), are you root?"
-msgstr "ไม่สามารถล็อคไดเรกทอรีดูแลระบบ (%s) คุณเป็น root หรือเปล่า?"
-
-#. TRANSLATORS: the %s contains the recovery command, usually
-#. dpkg --configure -a
-#: apt-pkg/deb/debsystem.cc:110
-#, c-format
-msgid ""
-"dpkg was interrupted, you must manually run '%s' to correct the problem. "
-msgstr "dpkg ถูกขัดจังหวะ คุณต้องเรียก '%s' เองเพื่อแก้ปัญหา"
-
-#: apt-pkg/deb/debsystem.cc:128
-msgid "Not locked"
-msgstr "ไม่ได้ล็อคอยู่"
-
#~ msgid "%s not a valid DEB package."
#~ msgstr "%s ไม่ใช่แพกเกจ DEB ที่ใช้การได้"
@@ -3629,7 +3666,7 @@ msgstr "ไม่ได้ล็อคอยู่"
#~ msgstr "ข้อมูลผิดพลาดในแฟ้ม diversion: %s"
#~ msgid "Internal error adding a diversion"
-#~ msgstr "เกิดข้อผิดพลาดภายในขณะเพิ่ม diversion"
+#~ msgstr "เกิดข้อผิดพลาดภายในขณะเพิ่มการเบนแฟ้ม"
#~ msgid "The pkg cache must be initialized first"
#~ msgstr "ต้องกำหนดค่าตั้งต้นแคชของแพกเกจก่อน"
diff --git a/po/tl.po b/po/tl.po
index a753eb1b0..84a3082c8 100644
--- a/po/tl.po
+++ b/po/tl.po
@@ -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-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -835,9 +835,9 @@ msgstr "Lumipas ang koneksyon"
msgid "Server closed the connection"
msgstr "Sinarhan ng server ang koneksyon"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "Error sa pagbasa"
@@ -850,9 +850,9 @@ msgid "Protocol corruption"
msgstr "Sira ang protocol"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "Error sa pagsulat"
@@ -1112,7 +1112,7 @@ msgstr "Bigo ang koneksyon"
msgid "Internal error"
msgstr "Internal na error"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2586,54 +2586,54 @@ msgstr "Ang sub-process %s ay lumabas ng di inaasahan"
msgid "Problem closing the gzip file %s"
msgstr "Problema sa pagsara ng talaksan"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "Hindi mabuksan ang talaksang %s"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, fuzzy, c-format
msgid "Could not open file descriptor %d"
msgstr "Hindi makapag-bukas ng pipe para sa %s"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "Bigo ang paglikha ng subprocess IPC"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "Bigo ang pag-exec ng taga-compress"
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, fuzzy, c-format
msgid "read, still have %llu to read but none left"
msgstr "pagbasa, mayroong %lu na babasahin ngunit walang natira"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, fuzzy, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "pagsulat, mayroon pang %lu na isusulat ngunit hindi makasulat"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, fuzzy, c-format
msgid "Problem closing the file %s"
msgstr "Problema sa pagsara ng talaksan"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, fuzzy, c-format
msgid "Problem renaming the file %s to %s"
msgstr "Problema sa pag-sync ng talaksan"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, fuzzy, c-format
msgid "Problem unlinking the file %s"
msgstr "Problema sa pag-unlink ng talaksan"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "Problema sa pag-sync ng talaksan"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "pagpalit ng pangalan ay bigo, %s (%s -> %s)."
diff --git a/po/tr.po b/po/tr.po
index fdea2a155..05ce5a7a9 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -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-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -861,9 +861,9 @@ msgstr "Bağlantı zaman aşımına uğradı"
msgid "Server closed the connection"
msgstr "Sunucu bağlantıyı kesti"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "Okuma hatası"
@@ -876,9 +876,9 @@ msgid "Protocol corruption"
msgstr "İletişim kuralları bozulması"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "Yazma hatası"
@@ -1132,7 +1132,7 @@ msgstr "Bağlantı başarısız"
msgid "Internal error"
msgstr "İç hata"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2618,54 +2618,54 @@ msgstr "%s altsüreci beklenmeyen bir şekilde sona erdi"
msgid "Problem closing the gzip file %s"
msgstr "Gzip dosyası %s kapatılamadı"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "%s dosyası açılamadı"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, c-format
msgid "Could not open file descriptor %d"
msgstr "Dosya tanımlayıcı %d açılamadı"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "Altsüreç IPC'si oluşturulamadı"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "Sıkıştırma programı çalıştırılamadı "
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, c-format
msgid "read, still have %llu to read but none left"
msgstr "read, %llu bayt okunması gerekli fakat hiç kalmamış"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "write, yazılması gereken %llu bayt yazılamıyor"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, c-format
msgid "Problem closing the file %s"
msgstr "%s dosyası kapatılamadı"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, c-format
msgid "Problem renaming the file %s to %s"
msgstr "%s dosyası %s olarak yeniden adlandırılamadı"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, c-format
msgid "Problem unlinking the file %s"
msgstr "%s dosyasından bağ kaldırma sorunu"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "Dosya eşitlenirken sorun çıktı"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "yeniden adlandırma başarısız, %s (%s -> %s)."
diff --git a/po/uk.po b/po/uk.po
index e23e4fa35..8e8cc635f 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -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-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -875,9 +875,9 @@ msgstr "Час з'єднання вичерпався"
msgid "Server closed the connection"
msgstr "Сервер закрив з'єднання"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "Помилка зчитування"
@@ -890,9 +890,9 @@ msgid "Protocol corruption"
msgstr "Спотворений протокол"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "Помилка запису"
@@ -1150,7 +1150,7 @@ msgstr "З'єднання не вдалося"
msgid "Internal error"
msgstr "Внутрішня помилка"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2655,54 +2655,54 @@ msgstr "Підпроцес %s раптово завершився"
msgid "Problem closing the gzip file %s"
msgstr "Проблема з закриттям gzip файла %s"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "Неможливо відкрити файл %s"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, c-format
msgid "Could not open file descriptor %d"
msgstr "Неможливо відкрити файловий дескриптор %d"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "Не вдалося створити IPC з породженим процесом"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "Не вдалося виконати компресор "
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, c-format
msgid "read, still have %llu to read but none left"
msgstr "зчитування, повинен зчитати ще %llu байт, але нічого більше нема"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "записування, повинен був записати ще %llu байт, але не вдалося"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, c-format
msgid "Problem closing the file %s"
msgstr "Проблема з закриттям файла %s"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, c-format
msgid "Problem renaming the file %s to %s"
msgstr "Проблема з перейменуванням файла %s на %s"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, c-format
msgid "Problem unlinking the file %s"
msgstr "Проблема з роз'єднанням файла %s"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "Проблема з синхронізацією файла"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "не вдалося перейменувати, %s (%s -> %s)."
diff --git a/po/vi.po b/po/vi.po
index 6f31c2d67..ee688ced9 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -6,10 +6,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: apt 0.9.16.1\n"
+"Project-Id-Version: apt 1.0.1\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2014-04-01 15:51+0200\n"
-"PO-Revision-Date: 2014-03-28 14:49+0700\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\n"
+"PO-Revision-Date: 2014-04-11 09:08+0700\n"
"Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -217,7 +217,7 @@ msgstr ""
"thông tin từ các tập tin bộ nhớ tạm nhị phân của APT.\n"
"\n"
"Lệnh:\n"
-" gencaches - Xây dựng (tạo ra) bộ nhớ tạm cho cả gói lẫn nguồn\n"
+" gencaches - Tạo bộ nhớ tạm cho cả gói lẫn nguồn\n"
" showpkg - Hiện thông tin chung về một gói riêng lẻ\n"
" showsrc - Hiện các bản ghi cho gói nguồn\n"
" stats - Hiện phần thống kê cơ bản\n"
@@ -616,7 +616,7 @@ msgstr ""
" autoremove - Tự động gỡ bỏ tất cả các gói không dùng\n"
" purge - Gỡ bỏ và tẩy xóa gói\n"
" source - Tải về kho nguồn\n"
-" build-dep - Định cấu hình quan hệ phụ thuộc khi biên dịch, cho gói nguồn\n"
+" build-dep - Cấu hình quan hệ phụ thuộc khi biên dịch, cho gói nguồn\n"
" dist-upgrade - Nâng cấp hệ điều hành lên phiên bản mới hơn, hãy xem apt-"
"get(8)\n"
" dselect-upgrade - Cho phép chọn dselect\n"
@@ -911,9 +911,9 @@ msgstr "Thời hạn kết nối"
msgid "Server closed the connection"
msgstr "Máy phục vụ đã đóng kết nối"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "Lỗi đọc"
@@ -926,9 +926,9 @@ msgid "Protocol corruption"
msgstr "Giao thức bị hỏng"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "Lỗi ghi"
@@ -954,7 +954,7 @@ msgstr "getaddrinfo (lấy thông tin địa chỉ) không thể lấy ổ cắm
#: methods/ftp.cc:749
msgid "Could not bind a socket"
-msgstr "Không thể đóng kết ổ cắm"
+msgstr "Không thể ràng buộc ổ cắm"
#: methods/ftp.cc:753
msgid "Could not listen on the socket"
@@ -1190,7 +1190,7 @@ msgstr "Kết nối bị lỗi"
msgid "Internal error"
msgstr "Gặp lỗi nội bộ"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr "Đang liệt kê"
@@ -1200,7 +1200,7 @@ msgstr "Lỗi nội bộ: InstallPackages (cài đặt gói) được gọi vớ
#: apt-private/private-install.cc:90
msgid "Packages need to be removed but remove is disabled."
-msgstr "Cần phải gỡ bỏ một số gói, nhưng mà khả năng Gỡ bỏ (Remove) đã bị tắt."
+msgstr "Cần phải gỡ bỏ một số gói, nhưng mà tính năng Gỡ bỏ (Remove) đã bị tắt."
#: apt-private/private-install.cc:109
msgid "Internal error, Ordering didn't finish"
@@ -1413,7 +1413,7 @@ msgstr "Gói khuyến khích:"
#: apt-private/private-download.cc:31
msgid "WARNING: The following packages cannot be authenticated!"
-msgstr "CẢNH BÁO: Không thể xác thực những gói theo đây!"
+msgstr "CẢNH BÁO: Không thể xác thực những gói sau đây!"
#: apt-private/private-download.cc:35
msgid "Authentication warning overridden.\n"
@@ -1636,7 +1636,7 @@ msgstr "Đang tính toán nâng cấp... "
#: apt-private/private-upgrade.cc:30
msgid "Internal error, Upgrade broke stuff"
-msgstr "Lỗi nội bộ: Upgrade (Nâng cấp) đã làm hỏng thứ gì đó"
+msgstr "Lỗi nội bộ: Lệnh nâng cấp đã làm hỏng thứ gì đó"
#: apt-private/private-upgrade.cc:32
msgid "Done"
@@ -1667,7 +1667,7 @@ msgstr ""
"CHÚ Ý: đây chỉ là mô phỏng!\n"
" apt-get yêu cầu quyền root để thực hiện thật.\n"
" Cần nhớ rằng chức năng khóa đã bị tắt,\n"
-" nên có thể nó không chính xác như những gì làm thật!"
+" nên có thể nó không chính xác như khi làm thật!"
#: apt-private/private-sources.cc:58
#, c-format
@@ -1761,7 +1761,7 @@ msgstr "[Bản sao: %s]"
#: methods/rsh.cc:102 ftparchive/multicompress.cc:171
msgid "Failed to create IPC pipe to subprocess"
-msgstr "Việc tạo ống IPC đến tiến trình con bị lỗi"
+msgstr "Gặp lỗi khi tạo ống IPC đến tiến trình con"
#: methods/rsh.cc:343
msgid "Connection closed prematurely"
@@ -1832,9 +1832,9 @@ msgstr ""
" -o=? Đặt một tùy chọn cấu hình tùy ý, v.d. “-o dir::cache=/tmp”\n"
#: cmdline/apt-extracttemplates.cc:254
-#, fuzzy, c-format
+#, c-format
msgid "Unable to mkstemp %s"
-msgstr "Không thể lấy thông tin thống kê %s"
+msgstr "Không thể tạo tập tin tạm (hàm mkstemp) %s"
#: cmdline/apt-extracttemplates.cc:259 apt-pkg/pkgcachegen.cc:1400
#, c-format
@@ -2672,54 +2672,54 @@ msgstr "Tiến trình con %s đã thoát bất thường"
msgid "Problem closing the gzip file %s"
msgstr "Gặp vấn đề khi đóng tập tin gzip %s"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "Không thể mở tập tin %s"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, c-format
msgid "Could not open file descriptor %d"
msgstr "Không thể mở bộ mô tả tập tin %d"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "Việc tạo tiến trình con IPC bị lỗi"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "Gặp lỗi khi thực hiện nén "
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, c-format
msgid "read, still have %llu to read but none left"
msgstr "đọc, còn cần đọc %llu nhưng mà không có gì còn lại cả"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "ghi, còn cần ghi %llu nhưng mà không thể"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, c-format
msgid "Problem closing the file %s"
msgstr "Gặp vấn đề khi đóng tập tin %s"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, c-format
msgid "Problem renaming the file %s to %s"
msgstr "Gặp vấn đề khi đổi tên tập tin %s thành %s"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, c-format
msgid "Problem unlinking the file %s"
msgstr "Gặp vấn đề khi bỏ liên kết tập tin %s"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "Gặp vấn đề khi đồng bộ hóa tập tin"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "gặp lỗi khi đổi tên, %s (%s → %s)."
diff --git a/po/zh_CN.po b/po/zh_CN.po
index dd991a8a4..463d76e71 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-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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"
@@ -826,9 +826,9 @@ msgstr "连接超时"
msgid "Server closed the connection"
msgstr "服务器关闭了连接"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "读错误"
@@ -841,9 +841,9 @@ msgid "Protocol corruption"
msgstr "协议有误"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "写出错"
@@ -1097,7 +1097,7 @@ msgstr "连接失败"
msgid "Internal error"
msgstr "内部错误"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2538,54 +2538,54 @@ msgstr "子进程 %s 异常退出"
msgid "Problem closing the gzip file %s"
msgstr "关闭 gzip %s 文件出错"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "无法打开文件 %s"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, c-format
msgid "Could not open file descriptor %d"
msgstr "无法打开文件描述符 %d"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "无法创建子进程的 IPC 管道"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "无法执行压缩程序"
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, fuzzy, c-format
msgid "read, still have %llu to read but none left"
msgstr "读取文件出错,还剩 %lu 字节没有读出"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, fuzzy, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "写入文件出错,还剩 %lu 字节没有保存"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, c-format
msgid "Problem closing the file %s"
msgstr "关闭文件 %s 出错"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, c-format
msgid "Problem renaming the file %s to %s"
msgstr "重命名文件 %s 为 %s 出错"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, c-format
msgid "Problem unlinking the file %s"
msgstr "用 unlink 删除文件 %s 出错"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "同步文件出错"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "无法重命名文件,%s (%s -> %s)。"
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 8fe40662a..74c783829 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-04-01 15:51+0200\n"
+"POT-Creation-Date: 2014-04-10 10:18+0200\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."
@@ -818,9 +818,9 @@ msgstr "連線逾時"
msgid "Server closed the connection"
msgstr "伺服器已關閉連線"
-#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1468
-#: apt-pkg/contrib/fileutl.cc:1477 apt-pkg/contrib/fileutl.cc:1482
-#: apt-pkg/contrib/fileutl.cc:1484
+#: methods/ftp.cc:353 methods/rsh.cc:202 apt-pkg/contrib/fileutl.cc:1475
+#: apt-pkg/contrib/fileutl.cc:1484 apt-pkg/contrib/fileutl.cc:1489
+#: apt-pkg/contrib/fileutl.cc:1491
msgid "Read error"
msgstr "讀取錯誤"
@@ -833,9 +833,9 @@ msgid "Protocol corruption"
msgstr "協定失敗"
#: methods/ftp.cc:462 methods/rsh.cc:246 apt-pkg/contrib/fileutl.cc:875
-#: apt-pkg/contrib/fileutl.cc:1590 apt-pkg/contrib/fileutl.cc:1599
-#: apt-pkg/contrib/fileutl.cc:1604 apt-pkg/contrib/fileutl.cc:1606
-#: apt-pkg/contrib/fileutl.cc:1631
+#: apt-pkg/contrib/fileutl.cc:1597 apt-pkg/contrib/fileutl.cc:1606
+#: apt-pkg/contrib/fileutl.cc:1611 apt-pkg/contrib/fileutl.cc:1613
+#: apt-pkg/contrib/fileutl.cc:1638
msgid "Write error"
msgstr "寫入錯誤"
@@ -1090,7 +1090,7 @@ msgstr "連線失敗"
msgid "Internal error"
msgstr "內部錯誤"
-#: apt-private/private-list.cc:132
+#: apt-private/private-list.cc:131
msgid "Listing"
msgstr ""
@@ -2538,54 +2538,54 @@ msgstr "子程序 %s 不預期得結束"
msgid "Problem closing the gzip file %s"
msgstr "在關閉檔案時發生問題"
-#: apt-pkg/contrib/fileutl.cc:1097
+#: apt-pkg/contrib/fileutl.cc:1104
#, c-format
msgid "Could not open file %s"
msgstr "無法開啟檔案 %s"
-#: apt-pkg/contrib/fileutl.cc:1156 apt-pkg/contrib/fileutl.cc:1203
+#: apt-pkg/contrib/fileutl.cc:1163 apt-pkg/contrib/fileutl.cc:1210
#, fuzzy, c-format
msgid "Could not open file descriptor %d"
msgstr "無法開啟管線給 %s 使用"
-#: apt-pkg/contrib/fileutl.cc:1310
+#: apt-pkg/contrib/fileutl.cc:1317
msgid "Failed to create subprocess IPC"
msgstr "無法建立子程序 IPC"
-#: apt-pkg/contrib/fileutl.cc:1365
+#: apt-pkg/contrib/fileutl.cc:1372
msgid "Failed to exec compressor "
msgstr "無法執行壓縮程式"
-#: apt-pkg/contrib/fileutl.cc:1506
+#: apt-pkg/contrib/fileutl.cc:1513
#, fuzzy, c-format
msgid "read, still have %llu to read but none left"
msgstr "讀取,仍有 %lu 未讀但已無空間"
-#: apt-pkg/contrib/fileutl.cc:1619 apt-pkg/contrib/fileutl.cc:1641
+#: apt-pkg/contrib/fileutl.cc:1626 apt-pkg/contrib/fileutl.cc:1648
#, fuzzy, c-format
msgid "write, still have %llu to write but couldn't"
msgstr "寫入,仍有 %lu 待寫入但已沒辨法"
-#: apt-pkg/contrib/fileutl.cc:1911
+#: apt-pkg/contrib/fileutl.cc:1918
#, fuzzy, c-format
msgid "Problem closing the file %s"
msgstr "在關閉檔案時發生問題"
-#: apt-pkg/contrib/fileutl.cc:1923
+#: apt-pkg/contrib/fileutl.cc:1930
#, fuzzy, c-format
msgid "Problem renaming the file %s to %s"
msgstr "在同步檔案時發生問題"
-#: apt-pkg/contrib/fileutl.cc:1934
+#: apt-pkg/contrib/fileutl.cc:1941
#, fuzzy, c-format
msgid "Problem unlinking the file %s"
msgstr "在刪除檔案時發生問題"
-#: apt-pkg/contrib/fileutl.cc:1947
+#: apt-pkg/contrib/fileutl.cc:1954
msgid "Problem syncing the file"
msgstr "在同步檔案時發生問題"
-#: apt-pkg/contrib/fileutl.cc:2043 apt-pkg/acquire-item.cc:148
+#: apt-pkg/contrib/fileutl.cc:2050 apt-pkg/acquire-item.cc:148
#, c-format
msgid "rename failed, %s (%s -> %s)."
msgstr "無法重新命名,%s (%s -> %s)。"
diff --git a/prepare-release b/prepare-release
index 7b7fd1224..3c81a21cb 100755
--- a/prepare-release
+++ b/prepare-release
@@ -2,7 +2,6 @@
set -e
cd "$(readlink -f $(dirname $0))"
-dpkg-checkbuilddeps -d 'libxml2-utils'
if [ -n "${GBP_BUILD_DIR}" ]; then
cd "$GBP_BUILD_DIR"
@@ -68,6 +67,8 @@ elif [ "$1" = 'post-build' ]; then
echo >&2 'REMEMBER: Change to a valid distribution before release'
fi
+ dpkg-checkbuilddeps -d 'libxml2-utils'
+
# check the manpages with each vendor for vendor-specific errors…
find vendor -mindepth 1 -maxdepth 1 -type d | cut -d'/' -f 2 | while read DISTRO; do
ln -sf ../vendor/${DISTRO}/apt-vendor.ent doc
@@ -102,6 +103,8 @@ elif [ "$1" = 'buildlog' ]; then
librarysymbolsfromfile "$2"
shift
done
+elif [ "$1" = 'travis-ci' ]; then
+ apt-get install -q --no-install-recommends $(sed -n -e '/^Build-Depends: /,/^Build-Depends-Indep: / {p}' debian/control | sed -e 's#([^)]*)##g' -e 's#^Build-Depends\(-Indep\)\?: ##' | tr -d ',')
else
echo >&1 "Usage:\t$0 pre-export
\t$0 post-build
diff --git a/test/integration/framework b/test/integration/framework
index 8d8a0becc..3b900a960 100644
--- a/test/integration/framework
+++ b/test/integration/framework
@@ -190,7 +190,13 @@ setupenvironment() {
touch var/lib/dpkg/available
mkdir -p usr/lib/apt
ln -s ${METHODSDIR} usr/lib/apt/methods
- ln -s ${BUILDDIRECTORY}/../../debian/apt.conf.autoremove etc/apt/apt.conf.d/01autoremove
+ # use the autoremove from the BUILDDIRECTORY if its there, otherwise
+ # system
+ if [ -e ${BUILDDIRECTORY}/../../debian/apt.conf.autoremove ]; then
+ ln -s ${BUILDDIRECTORY}/../../debian/apt.conf.autoremove etc/apt/apt.conf.d/01autoremove
+ else
+ ln -s /etc/apt/apt.conf.d/01autoremove etc/apt/apt.conf.d/01autoremove
+ fi
cd ..
local PACKAGESFILE=$(echo "$(basename $0)" | sed -e 's/^test-/Packages-/' -e 's/^skip-/Packages-/')
if [ -f "${TESTDIRECTORY}/${PACKAGESFILE}" ]; then
diff --git a/test/integration/test-apt-cli-list b/test/integration/test-apt-cli-list
index 47cfb624a..40bf81a39 100755
--- a/test/integration/test-apt-cli-list
+++ b/test/integration/test-apt-cli-list
@@ -19,12 +19,17 @@ insertinstalledpackage 'bar' 'i386' '1.0'
insertinstalledpackage 'foobar' 'i386' '1.0'
insertpackage 'unstable' 'foobar' 'i386' '2.0'
+insertinstalledpackage 'baz' 'all' '0.1'
+insertpackage 'testing' 'baz' 'all' '1.0'
+insertpackage 'unstable' 'baz' 'all' '2.0'
+
setupaptarchive
APTARCHIVE=$(readlink -f ./aptarchive)
testequal "Listing...
bar/now 1.0 i386 [installed,local]
+baz/unstable 2.0 all [upgradable from: 0.1]
foo/unstable 1.0 all
foobar/unstable 2.0 i386 [upgradable from: 1.0]" apt list
@@ -33,12 +38,14 @@ foo/unstable 1.0 all
foobar/unstable 2.0 i386 [upgradable from: 1.0]" apt list "foo*"
testequal "Listing...
+baz/unstable 2.0 all [upgradable from: 0.1]
foobar/unstable 2.0 i386 [upgradable from: 1.0]" apt list --upgradable
# FIXME: hm, hm - does it make sense to have this different? shouldn't
# we use "installed,upgradable" consitently?
testequal "Listing...
bar/now 1.0 i386 [installed,local]
+baz/now 0.1 all [installed,upgradable to: 2.0]
foobar/now 1.0 i386 [installed,upgradable to: 2.0]" apt list --installed
testequal "Listing...
@@ -51,3 +58,14 @@ bar/now 1.0 i386 [installed,local]
an autogenerated dummy bar=1.0/installed
" apt list bar --verbose
+# test for dpkg ^rc state
+insertinstalledpackage 'conf-only' 'i386' '1.0' '' '' 'deinstall ok config-files'
+testequal "Listing...
+conf-only/now 1.0 i386 [residual-config]" apt list conf-only
+
+# ensure that the users learns about multiple versions too
+testequal "Listing...
+baz/unstable 2.0 all [upgradable from: 0.1]
+N: There are 2 additional versions. Please use the '-a' switch to see them." apt list baz -o quiet=0
+
+
diff --git a/test/integration/test-ubuntu-bug-1304403-obsolete-priority-standard b/test/integration/test-ubuntu-bug-1304403-obsolete-priority-standard
new file mode 100755
index 000000000..2f2d384e1
--- /dev/null
+++ b/test/integration/test-ubuntu-bug-1304403-obsolete-priority-standard
@@ -0,0 +1,48 @@
+#!/bin/sh
+set -e
+
+TESTDIR=$(readlink -f $(dirname $0))
+. $TESTDIR/framework
+
+setupenvironment
+configarchitecture 'i386'
+
+# Regression test for LP: #1304403
+#
+# The issue here is that libkadm5srv-mit8 (priority standard) is replaced
+# by a new libkadm5srv-mit9 and libkbd5-7 breaks on the old -mit8 package.
+# The -mit8 package is no longer downloadable (and hence not upgradeable)
+
+# normal upradable pkg
+# (libkdb5-7 that breaks on libkadm5srv-mit8 (<< 1.11+dfsg~)
+insertinstalledpackage 'upgradable' 'all' '1.0' '' 'extra'
+insertpackage 'unstable' 'upgradable' 'all' '2.0' 'Breaks: not-downloadable (<< 1.1)' 'optional'
+
+# no longer downloadable pkg (libkadm5srv-mit8, replaced by libkadm5srv-mit9)
+# but priority standard pushes it higher
+insertinstalledpackage 'not-downloadable' 'all' '1.0' '' 'standard'
+
+setupaptarchive
+
+# discourage keeping obsolete high-priority packages …
+testequal 'Reading package lists...
+Building dependency tree...
+The following packages will be REMOVED:
+ not-downloadable
+The following packages will be upgraded:
+ upgradable
+1 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
+Remv not-downloadable [1.0]
+Inst upgradable [1.0] (2.0 unstable [all])
+Conf upgradable (2.0 unstable [all])' aptget -s dist-upgrade
+
+# … but if it has dependencies we want to keep it as usual
+for i in $(seq 1 10); do
+insertinstalledpackage "depender$i" 'all' '1.0' 'Depends: not-downloadable'
+done
+
+testequal 'Reading package lists...
+Building dependency tree...
+The following packages have been kept back:
+ upgradable
+0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.' aptget -s dist-upgrade
diff --git a/test/libapt/assert.h b/test/libapt/assert.h
deleted file mode 100644
index 357801592..000000000
--- a/test/libapt/assert.h
+++ /dev/null
@@ -1,124 +0,0 @@
-#include <iostream>
-#include <cstdlib>
-
-#include <apt-pkg/macros.h>
-
-#if __GNUC__ >= 4
- #pragma GCC diagnostic push
- #pragma GCC diagnostic ignored "-Wmissing-declarations"
-#endif
-
-#define equals(x,y) assertEquals(y, x, __LINE__)
-#define equalsNot(x,y) assertEqualsNot(y, x, __LINE__)
-
-template < typename X, typename Y >
-APT_NORETURN void OutputAssertEqual(X expect, char const* compare, Y get, unsigned long const &line) {
- std::cerr << "Test FAILED: »" << expect << "« " << compare << " »" << get << "« at line " << line << std::endl;
- std::exit(EXIT_FAILURE);
-}
-
-template < typename X, typename Y >
-void assertEquals(X expect, Y get, unsigned long const &line) {
- if (expect == get)
- return;
- OutputAssertEqual(expect, "==", get, line);
-}
-
-template < typename X, typename Y >
-void assertEqualsNot(X expect, Y get, unsigned long const &line) {
- if (expect != get)
- return;
- OutputAssertEqual(expect, "!=", get, line);
-}
-
-void assertEquals(unsigned int const &expect, int const &get, unsigned long const &line) {
- if (get < 0)
- OutputAssertEqual(expect, "==", get, line);
- assertEquals<unsigned int const&, unsigned int const&>(expect, get, line);
-}
-
-void assertEquals(int const &expect, unsigned int const &get, unsigned long const &line) {
- if (expect < 0)
- OutputAssertEqual(expect, "==", get, line);
- assertEquals<unsigned int const&, unsigned int const&>(expect, get, line);
-}
-
-void assertEquals(unsigned long const &expect, int const &get, unsigned long const &line) {
- if (get < 0)
- OutputAssertEqual(expect, "==", get, line);
- assertEquals<unsigned long const&, unsigned long const&>(expect, get, line);
-}
-
-void assertEquals(int const &expect, unsigned long const &get, unsigned long const &line) {
- if (expect < 0)
- OutputAssertEqual(expect, "==", get, line);
- assertEquals<unsigned long const&, unsigned long const&>(expect, get, line);
-}
-
-
-#define equalsOr2(x,y,z) assertEqualsOr2(y, z, x, __LINE__)
-
-template < typename X, typename Y >
-void OutputAssertEqualOr2(X expect1, X expect2, char const* compare, Y get, unsigned long const &line) {
- std::cerr << "Test FAILED: »" << expect1 << "« or »" << expect2 << "« " << compare << " »" << get << "« at line " << line << std::endl;
-}
-
-template < typename X, typename Y >
-void assertEqualsOr2(X expect1, X expect2, Y get, unsigned long const &line) {
- if (expect1 == get || expect2 == get)
- return;
- OutputAssertEqualOr2(expect1, expect2, "==", get, line);
-}
-
-void assertEqualsOr2(unsigned int const &expect1, unsigned int const &expect2, int const &get, unsigned long const &line) {
- if (get < 0)
- OutputAssertEqualOr2(expect1, expect2, "==", get, line);
- assertEqualsOr2<unsigned int const&, unsigned int const&>(expect1, expect2, get, line);
-}
-
-void assertEqualsOr2(int const &expect1, int const &expect2, unsigned int const &get, unsigned long const &line) {
- if (expect1 < 0 && expect2 < 0)
- OutputAssertEqualOr2(expect1, expect2, "==", get, line);
- assertEqualsOr2<unsigned int const&, unsigned int const&>(expect1, expect2, get, line);
-}
-
-
-#define equalsOr3(w,x,y,z) assertEqualsOr3(x, y, z, w, __LINE__)
-
-template < typename X, typename Y >
-void OutputAssertEqualOr3(X expect1, X expect2, X expect3, char const* compare, Y get, unsigned long const &line) {
- std::cerr << "Test FAILED: »" << expect1 << "« or »" << expect2 << "« or »" << expect3 << "« " << compare << " »" << get << "« at line " << line << std::endl;
-}
-
-template < typename X, typename Y >
-void assertEqualsOr3(X expect1, X expect2, X expect3, Y get, unsigned long const &line) {
- if (expect1 == get || expect2 == get || expect3 == get)
- return;
- OutputAssertEqualOr3(expect1, expect2, expect3, "==", get, line);
-}
-
-#define equalsOr4(v,w,x,y,z) assertEqualsOr4(w, x, y, z, v, __LINE__)
-
-template < typename X, typename Y >
-void OutputAssertEqualOr4(X expect1, X expect2, X expect3, X expect4, char const* compare, Y get, unsigned long const &line) {
- std::cerr << "Test FAILED: »" << expect1 << "« or »" << expect2 << "« or »" << expect3 << "« or »" << expect4 << "« " << compare << " »" << get << "« at line " << line << std::endl;
-}
-
-template < typename X, typename Y >
-void assertEqualsOr4(X expect1, X expect2, X expect3, X expect4, Y get, unsigned long const &line) {
- if (expect1 == get || expect2 == get || expect3 == get || expect4 == get)
- return;
- OutputAssertEqualOr4(expect1, expect2, expect3, expect4, "==", get, line);
-}
-
-// simple helper to quickly output a vectors
-template < typename X >
-void dumpVector(X vec) {
- for (typename X::const_iterator v = vec.begin();
- v != vec.end(); ++v)
- std::cout << *v << std::endl;
-}
-
-#if __GNUC__ >= 4
- #pragma GCC diagnostic pop
-#endif
diff --git a/test/libapt/cdrom_test.cc b/test/libapt/cdrom_test.cc
new file mode 100644
index 000000000..626ef538e
--- /dev/null
+++ b/test/libapt/cdrom_test.cc
@@ -0,0 +1,114 @@
+#include <config.h>
+
+#include <apt-pkg/configuration.h>
+#include <apt-pkg/cdrom.h>
+#include <apt-pkg/cdromutl.h>
+#include <apt-pkg/fileutl.h>
+
+#include <string>
+#include <string.h>
+#include <vector>
+
+#include <gtest/gtest.h>
+
+#include "file-helpers.h"
+
+class Cdrom : public pkgCdrom {
+public:
+ std::vector<std::string> ReduceSourcelist(std::string CD,std::vector<std::string> List) {
+ pkgCdrom::ReduceSourcelist(CD, List);
+ return List;
+ }
+};
+
+TEST(CDROMTest,ReduceSourcelist)
+{
+ Cdrom cd;
+ std::vector<std::string> List;
+ std::string CD("/media/cdrom/");
+
+ std::vector<std::string> R = cd.ReduceSourcelist(CD, List);
+ EXPECT_TRUE(R.empty());
+
+ List.push_back(" wheezy main");
+ R = cd.ReduceSourcelist(CD, List);
+ ASSERT_EQ(1, R.size());
+ EXPECT_EQ(" wheezy main", R[0]);
+
+ List.push_back(" wheezy main");
+ R = cd.ReduceSourcelist(CD, List);
+ ASSERT_EQ(1, R.size());
+ EXPECT_EQ(" wheezy main", R[0]);
+
+ List.push_back(" wheezy contrib");
+ R = cd.ReduceSourcelist(CD, List);
+ ASSERT_EQ(1, R.size());
+ EXPECT_EQ(" wheezy contrib main", R[0]);
+
+ List.push_back(" wheezy-update contrib");
+ R = cd.ReduceSourcelist(CD, List);
+ ASSERT_EQ(2, R.size());
+ EXPECT_EQ(" wheezy contrib main", R[0]);
+ EXPECT_EQ(" wheezy-update contrib", R[1]);
+
+ List.push_back(" wheezy-update contrib");
+ R = cd.ReduceSourcelist(CD, List);
+ ASSERT_EQ(2, R.size());
+ EXPECT_EQ(" wheezy contrib main", R[0]);
+ EXPECT_EQ(" wheezy-update contrib", R[1]);
+
+ List.push_back(" wheezy-update non-free");
+ R = cd.ReduceSourcelist(CD, List);
+ ASSERT_EQ(2, R.size());
+ EXPECT_EQ(" wheezy contrib main", R[0]);
+ EXPECT_EQ(" wheezy-update contrib non-free", R[1]);
+
+ List.push_back(" wheezy-update main");
+ R = cd.ReduceSourcelist(CD, List);
+ ASSERT_EQ(2, R.size());
+ EXPECT_EQ(" wheezy contrib main", R[0]);
+ EXPECT_EQ(" wheezy-update contrib main non-free", R[1]);
+
+ List.push_back(" wheezy non-free");
+ R = cd.ReduceSourcelist(CD, List);
+ ASSERT_EQ(2, R.size());
+ EXPECT_EQ(" wheezy contrib main non-free", R[0]);
+ EXPECT_EQ(" wheezy-update contrib main non-free", R[1]);
+
+ List.push_back(" sid main");
+ R = cd.ReduceSourcelist(CD, List);
+ ASSERT_EQ(3, R.size());
+ EXPECT_EQ(" sid main", R[0]);
+ EXPECT_EQ(" wheezy contrib main non-free", R[1]);
+ EXPECT_EQ(" wheezy-update contrib main non-free", R[2]);
+
+ List.push_back(" sid main-reduce");
+ R = cd.ReduceSourcelist(CD, List);
+ ASSERT_EQ(3, R.size());
+ EXPECT_EQ(" sid main main-reduce", R[0]);
+ EXPECT_EQ(" wheezy contrib main non-free", R[1]);
+ EXPECT_EQ(" wheezy-update contrib main non-free", R[2]);
+}
+TEST(CDROMTest, FindMountPointForDevice)
+{
+ char * tempfile;
+ FileFd fd;
+ createTemporaryFile("mountpoints", fd, &tempfile,
+ "rootfs / rootfs rw 0 0\n"
+ "sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0\n"
+ "sysfs0 /sys0 sysfs rw,nosuid,nodev,noexec,relatime 0 0\n"
+ "/dev/disk/by-uuid/fadcbc52-6284-4874-aaaa-dcee1f05fe21 / ext4 rw,relatime,errors=remount-ro,data=ordered 0 0\n"
+ "/dev/sda1 /boot/efi vfat rw,nosuid,nodev,noexec,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=437,iocharset=utf8,shortname=lower,quiet,utf8,errors=remount-ro,rw,nosuid,nodev,noexec,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=437,iocharset=utf8,shortname=lower,quiet,utf8,errors=remount-ro,rw,nosuid,nodev,noexec,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=437,iocharset=utf8,shortname=lower,quiet,utf8,errors=remount-ro,rw,nosuid,nodev,noexec,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=437,iocharset=utf8,shortname=lower,quiet,utf8,errors=remount-ro 0 0\n"
+ "tmpfs /tmp tmpfs rw,nosuid,nodev,relatime 0 0\n");
+ _config->Set("Dir::state::Mountpoints", tempfile);
+
+ EXPECT_EQ("/", FindMountPointForDevice("rootfs"));
+ EXPECT_EQ("/", FindMountPointForDevice("/dev/disk/by-uuid/fadcbc52-6284-4874-aaaa-dcee1f05fe21"));
+ EXPECT_EQ("/sys", FindMountPointForDevice("sysfs"));
+ EXPECT_EQ("/sys0", FindMountPointForDevice("sysfs0"));
+ EXPECT_EQ("/boot/efi", FindMountPointForDevice("/dev/sda1"));
+ EXPECT_EQ("/tmp", FindMountPointForDevice("tmpfs"));
+
+ unlink(tempfile);
+ free(tempfile);
+}
diff --git a/test/libapt/cdromfindmountpointfordevice_test.cc b/test/libapt/cdromfindmountpointfordevice_test.cc
deleted file mode 100644
index 26dcd1459..000000000
--- a/test/libapt/cdromfindmountpointfordevice_test.cc
+++ /dev/null
@@ -1,26 +0,0 @@
-#include <config.h>
-
-#include <apt-pkg/cdromutl.h>
-#include <apt-pkg/configuration.h>
-
-#include <string>
-#include <vector>
-
-#include "assert.h"
-
-int main(int argc, char const *argv[]) {
- if (argc != 2) {
- std::cout << "One parameter expected - given " << argc << std::endl;
- return 100;
- }
-
- _config->Set("Dir::state::Mountpoints", argv[1]);
- equals("/", FindMountPointForDevice("rootfs"));
- equals("/", FindMountPointForDevice("/dev/disk/by-uuid/fadcbc52-6284-4874-aaaa-dcee1f05fe21"));
- equals("/sys", FindMountPointForDevice("sysfs"));
- equals("/sys0", FindMountPointForDevice("sysfs0"));
- equals("/boot/efi", FindMountPointForDevice("/dev/sda1"));
- equals("/tmp", FindMountPointForDevice("tmpfs"));
-
- return 0;
-}
diff --git a/test/libapt/cdromfindpackages_test.cc b/test/libapt/cdromfindpackages_test.cc
index 583de1423..719dd8f63 100644
--- a/test/libapt/cdromfindpackages_test.cc
+++ b/test/libapt/cdromfindpackages_test.cc
@@ -2,6 +2,7 @@
#include <apt-pkg/cdrom.h>
#include <apt-pkg/error.h>
+#include <apt-pkg/fileutl.h>
#include <algorithm>
#include <string>
@@ -9,82 +10,112 @@
#include <stddef.h>
#include <iostream>
-#include "assert.h"
+#include <gtest/gtest.h>
+
+#include "file-helpers.h"
class Cdrom : public pkgCdrom {
- public:
- bool FindPackages(std::string const &CD,
- std::vector<std::string> &List,
- std::vector<std::string> &SList,
- std::vector<std::string> &SigList,
- std::vector<std::string> &TransList,
- std::string &InfoDir) {
- bool const result = pkgCdrom::FindPackages(CD, List, SList, SigList, TransList, InfoDir, NULL, 0);
- std::sort(List.begin(), List.end());
- std::sort(SList.begin(), SList.end());
- std::sort(SigList.begin(), SigList.end());
- std::sort(TransList.begin(), TransList.end());
- return result;
- }
+ public:
+ bool FindPackages(std::string const &CD,
+ std::vector<std::string> &List,
+ std::vector<std::string> &SList,
+ std::vector<std::string> &SigList,
+ std::vector<std::string> &TransList,
+ std::string &InfoDir) {
+ std::string const startdir = SafeGetCWD();
+ EXPECT_FALSE(startdir.empty());
+ bool const result = pkgCdrom::FindPackages(CD, List, SList, SigList, TransList, InfoDir, NULL, 0);
+ std::sort(List.begin(), List.end());
+ std::sort(SList.begin(), SList.end());
+ std::sort(SigList.begin(), SigList.end());
+ std::sort(TransList.begin(), TransList.end());
+ EXPECT_EQ(0, chdir(startdir.c_str()));
+ return result;
+ }
- bool DropRepeats(std::vector<std::string> &List, char const *Name) {
- return pkgCdrom::DropRepeats(List, Name);
- }
+ using pkgCdrom::DropRepeats;
};
-int main(int argc, char const *argv[]) {
- if (argc != 2) {
- std::cout << "One parameter expected - given " << argc << std::endl;
- return 100;
- }
+TEST(CDROMTest,FindPackages)
+{
+ std::string path;
+ createTemporaryDirectory("findpackage", path);
+
+ createDirectory(path, ".disk");
+ createDirectory(path, "pool");
+ createDirectory(path, "dists/stable/main/binary-i386");
+ createDirectory(path, "dists/stable/main/source");
+ createDirectory(path, "dists/stable/contrib/binary-amd64");
+ createDirectory(path, "dists/stable/contrib/binary-all");
+ createDirectory(path, "dists/unstable/main/binary-i386");
+ createDirectory(path, "dists/unstable/main/i18n");
+ createDirectory(path, "dists/unstable/main/source");
+ createDirectory(path, "dists/broken/non-free/source");
+ createFile(path, "dists/broken/.aptignr");
+ createFile(path, "dists/stable/main/binary-i386/Packages");
+ createFile(path, "dists/stable/main/binary-i386/Packages.bz2");
+ createFile(path, "dists/stable/main/source/Sources.xz");
+ createFile(path, "dists/stable/contrib/binary-amd64/Packages");
+ createFile(path, "dists/stable/contrib/binary-amd64/Packages.gz");
+ createFile(path, "dists/stable/contrib/binary-all/Packages");
+ createFile(path, "dists/unstable/main/binary-i386/Packages.xz");
+ createFile(path, "dists/unstable/main/binary-i386/Packages.lzma");
+ createFile(path, "dists/unstable/main/i18n/Translation-en");
+ createFile(path, "dists/unstable/main/i18n/Translation-de.bz2");
+ createFile(path, "dists/unstable/main/source/Sources.xz");
+ createFile(path, "dists/broken/non-free/source/Sources.gz");
+ createFile(path, "dists/stable/Release.gpg");
+ createFile(path, "dists/stable/Release");
+ createFile(path, "dists/unstable/InRelease");
+ createFile(path, "dists/broken/Release.gpg");
+ createLink(path, "dists/unstable", "dists/sid");
- Cdrom cd;
- std::vector<std::string> Packages, Sources, Signatur, Translation;
- std::string InfoDir;
- std::string path = argv[1];
- equals(true, cd.FindPackages(path, Packages, Sources, Signatur, Translation, InfoDir));
- equals(4, Packages.size());
- equals(path + "/dists/sid/main/binary-i386/", Packages[0]);
- equals(path + "/dists/stable/contrib/binary-amd64/", Packages[1]);
- equals(path + "/dists/stable/main/binary-i386/", Packages[2]);
- equals(path + "/dists/unstable/main/binary-i386/", Packages[3]);
- equals(3, Sources.size());
- equals(path + "/dists/sid/main/source/", Sources[0]);
- equals(path + "/dists/stable/main/source/", Sources[1]);
- equals(path + "/dists/unstable/main/source/", Sources[2]);
- equals(3, Signatur.size());
- equals(path + "/dists/sid/", Signatur[0]);
- equals(path + "/dists/stable/", Signatur[1]);
- equals(path + "/dists/unstable/", Signatur[2]);
- equals(4, Translation.size());
- equals(path + "/dists/sid/main/i18n/Translation-de", Translation[0]);
- equals(path + "/dists/sid/main/i18n/Translation-en", Translation[1]);
- equals(path + "/dists/unstable/main/i18n/Translation-de", Translation[2]);
- equals(path + "/dists/unstable/main/i18n/Translation-en", Translation[3]);
- equals(path + "/.disk/", InfoDir);
+ Cdrom cd;
+ std::vector<std::string> Packages, Sources, Signatur, Translation;
+ std::string InfoDir;
+ EXPECT_TRUE(cd.FindPackages(path, Packages, Sources, Signatur, Translation, InfoDir));
+ EXPECT_EQ(4, Packages.size());
+ EXPECT_EQ(path + "/dists/sid/main/binary-i386/", Packages[0]);
+ EXPECT_EQ(path + "/dists/stable/contrib/binary-amd64/", Packages[1]);
+ EXPECT_EQ(path + "/dists/stable/main/binary-i386/", Packages[2]);
+ EXPECT_EQ(path + "/dists/unstable/main/binary-i386/", Packages[3]);
+ EXPECT_EQ(3, Sources.size());
+ EXPECT_EQ(path + "/dists/sid/main/source/", Sources[0]);
+ EXPECT_EQ(path + "/dists/stable/main/source/", Sources[1]);
+ EXPECT_EQ(path + "/dists/unstable/main/source/", Sources[2]);
+ EXPECT_EQ(3, Signatur.size());
+ EXPECT_EQ(path + "/dists/sid/", Signatur[0]);
+ EXPECT_EQ(path + "/dists/stable/", Signatur[1]);
+ EXPECT_EQ(path + "/dists/unstable/", Signatur[2]);
+ EXPECT_EQ(4, Translation.size());
+ EXPECT_EQ(path + "/dists/sid/main/i18n/Translation-de", Translation[0]);
+ EXPECT_EQ(path + "/dists/sid/main/i18n/Translation-en", Translation[1]);
+ EXPECT_EQ(path + "/dists/unstable/main/i18n/Translation-de", Translation[2]);
+ EXPECT_EQ(path + "/dists/unstable/main/i18n/Translation-en", Translation[3]);
+ EXPECT_EQ(path + "/.disk/", InfoDir);
- cd.DropRepeats(Packages, "Packages");
- cd.DropRepeats(Sources, "Sources");
- _error->PushToStack();
- cd.DropRepeats(Signatur, "InRelease");
- cd.DropRepeats(Signatur, "Release.gpg");
- _error->RevertToStack();
- _error->DumpErrors();
- cd.DropRepeats(Translation, "");
+ cd.DropRepeats(Packages, "Packages");
+ cd.DropRepeats(Sources, "Sources");
+ _error->PushToStack();
+ cd.DropRepeats(Signatur, "InRelease");
+ cd.DropRepeats(Signatur, "Release.gpg");
+ _error->RevertToStack();
+ _error->DumpErrors();
+ cd.DropRepeats(Translation, "");
- equals(3, Packages.size());
- equals(path + "/dists/stable/contrib/binary-amd64/", Packages[0]);
- equals(path + "/dists/stable/main/binary-i386/", Packages[1]);
- equals(path + "/dists/unstable/main/binary-i386/", Packages[2]);
- equals(2, Sources.size());
- equals(path + "/dists/stable/main/source/", Sources[0]);
- equals(path + "/dists/unstable/main/source/", Sources[1]);
- equals(2, Signatur.size());
- equals(path + "/dists/stable/", Signatur[0]);
- equals(path + "/dists/unstable/", Signatur[1]);
- equals(2, Translation.size());
- equals(path + "/dists/unstable/main/i18n/Translation-de", Translation[0]);
- equals(path + "/dists/unstable/main/i18n/Translation-en", Translation[1]);
+ EXPECT_EQ(3, Packages.size());
+ EXPECT_EQ(path + "/dists/stable/contrib/binary-amd64/", Packages[0]);
+ EXPECT_EQ(path + "/dists/stable/main/binary-i386/", Packages[1]);
+ EXPECT_EQ(path + "/dists/unstable/main/binary-i386/", Packages[2]);
+ EXPECT_EQ(2, Sources.size());
+ EXPECT_EQ(path + "/dists/stable/main/source/", Sources[0]);
+ EXPECT_EQ(path + "/dists/unstable/main/source/", Sources[1]);
+ EXPECT_EQ(2, Signatur.size());
+ EXPECT_EQ(path + "/dists/stable/", Signatur[0]);
+ EXPECT_EQ(path + "/dists/unstable/", Signatur[1]);
+ EXPECT_EQ(2, Translation.size());
+ EXPECT_EQ(path + "/dists/unstable/main/i18n/Translation-de", Translation[0]);
+ EXPECT_EQ(path + "/dists/unstable/main/i18n/Translation-en", Translation[1]);
- return 0;
+ removeDirectory(path);
}
diff --git a/test/libapt/cdromreducesourcelist_test.cc b/test/libapt/cdromreducesourcelist_test.cc
deleted file mode 100644
index 196d0136e..000000000
--- a/test/libapt/cdromreducesourcelist_test.cc
+++ /dev/null
@@ -1,86 +0,0 @@
-#include <config.h>
-
-#include <apt-pkg/cdrom.h>
-
-#include <string>
-#include <vector>
-
-#include "assert.h"
-
-class Cdrom : public pkgCdrom {
-public:
- std::vector<std::string> ReduceSourcelist(std::string CD,std::vector<std::string> List) {
- pkgCdrom::ReduceSourcelist(CD, List);
- return List;
- }
-};
-
-int main() {
- Cdrom cd;
- std::vector<std::string> List;
- std::string CD("/media/cdrom/");
-
- std::vector<std::string> R = cd.ReduceSourcelist(CD, List);
- equals(R.empty(), true);
-
- List.push_back(" wheezy main");
- R = cd.ReduceSourcelist(CD, List);
- equals(R.size(), 1);
- equals(R[0], " wheezy main");
-
- List.push_back(" wheezy main");
- R = cd.ReduceSourcelist(CD, List);
- equals(R.size(), 1);
- equals(R[0], " wheezy main");
-
- List.push_back(" wheezy contrib");
- R = cd.ReduceSourcelist(CD, List);
- equals(R.size(), 1);
- equals(R[0], " wheezy contrib main");
-
- List.push_back(" wheezy-update contrib");
- R = cd.ReduceSourcelist(CD, List);
- equals(R.size(), 2);
- equals(R[0], " wheezy contrib main");
- equals(R[1], " wheezy-update contrib");
-
- List.push_back(" wheezy-update contrib");
- R = cd.ReduceSourcelist(CD, List);
- equals(R.size(), 2);
- equals(R[0], " wheezy contrib main");
- equals(R[1], " wheezy-update contrib");
-
- List.push_back(" wheezy-update non-free");
- R = cd.ReduceSourcelist(CD, List);
- equals(R.size(), 2);
- equals(R[0], " wheezy contrib main");
- equals(R[1], " wheezy-update contrib non-free");
-
- List.push_back(" wheezy-update main");
- R = cd.ReduceSourcelist(CD, List);
- equals(R.size(), 2);
- equals(R[0], " wheezy contrib main");
- equals(R[1], " wheezy-update contrib main non-free");
-
- List.push_back(" wheezy non-free");
- R = cd.ReduceSourcelist(CD, List);
- equals(R.size(), 2);
- equals(R[0], " wheezy contrib main non-free");
- equals(R[1], " wheezy-update contrib main non-free");
-
- List.push_back(" sid main");
- R = cd.ReduceSourcelist(CD, List);
- equals(R.size(), 3);
- equals(R[0], " sid main");
- equals(R[1], " wheezy contrib main non-free");
- equals(R[2], " wheezy-update contrib main non-free");
-
- List.push_back(" sid main-reduce");
- R = cd.ReduceSourcelist(CD, List);
- equals(R.size(), 3);
- equals(R[0], " sid main main-reduce");
- equals(R[1], " wheezy contrib main non-free");
- equals(R[2], " wheezy-update contrib main non-free");
-
- return 0;
-}
diff --git a/test/libapt/commandline_test.cc b/test/libapt/commandline_test.cc
index d8c5bc5bd..26e80bfde 100644
--- a/test/libapt/commandline_test.cc
+++ b/test/libapt/commandline_test.cc
@@ -3,33 +3,56 @@
#include <apt-pkg/cmndline.h>
#include <apt-pkg/configuration.h>
-#include "assert.h"
-
-int main()
+#include <gtest/gtest.h>
+
+class CLT: public CommandLine {
+ public:
+ std::string static AsString(const char * const * const argv,
+ unsigned int const argc) {
+ std::string const static conf = "Commandline::AsString";
+ _config->Clear(conf);
+ SaveInConfig(argc, argv);
+ return _config->Find(conf);
+ }
+};
+
+#define EXPECT_CMD(x, ...) { const char * const argv[] = { __VA_ARGS__ }; EXPECT_EQ(x, CLT::AsString(argv, sizeof(argv)/sizeof(argv[0]))); }
+
+TEST(CommandLineTest,SaveInConfig)
+{
+ EXPECT_CMD("apt-get install -sf",
+ "apt-get", "install", "-sf");
+ EXPECT_CMD("apt-cache -s apt -so Debug::test=Test",
+ "apt-cache", "-s", "apt", "-so", "Debug::test=Test");
+ EXPECT_CMD("apt-cache -s apt -so Debug::test=\"Das ist ein Test\"",
+ "apt-cache", "-s", "apt", "-so", "Debug::test=Das ist ein Test");
+ EXPECT_CMD("apt-cache -s apt --hallo test=1.0",
+ "apt-cache", "-s", "apt", "--hallo", "test=1.0");
+}
+TEST(CommandLineTest,Parsing)
{
CommandLine::Args Args[] = {
{ 't', 0, "Test::Worked", 0 },
{ 'z', "zero", "Test::Zero", 0 },
{0,0,0,0}
};
- CommandLine CmdL(Args,_config);
+ ::Configuration c;
+ CommandLine CmdL(Args, &c);
char const * argv[] = { "test", "--zero", "-t" };
CmdL.Parse(3 , argv);
- equals(true, _config->FindB("Test::Worked", false));
- equals(true, _config->FindB("Test::Zero", false));
+ EXPECT_TRUE(c.FindB("Test::Worked", false));
+ EXPECT_TRUE(c.FindB("Test::Zero", false));
- _config->Clear("Test");
- equals(false, _config->FindB("Test::Worked", false));
- equals(false, _config->FindB("Test::Zero", false));
+ c.Clear("Test");
+ EXPECT_FALSE(c.FindB("Test::Worked", false));
+ EXPECT_FALSE(c.FindB("Test::Zero", false));
- _config->Set("Test::Zero", true);
- equals(true, _config->FindB("Test::Zero", false));
+ c.Set("Test::Zero", true);
+ EXPECT_TRUE(c.FindB("Test::Zero", false));
char const * argv2[] = { "test", "--no-zero", "-t" };
CmdL.Parse(3 , argv2);
- equals(true, _config->FindB("Test::Worked", false));
- equals(false, _config->FindB("Test::Zero", false));
-
- return 0;
+ EXPECT_TRUE(c.FindB("Test::Worked", false));
+ EXPECT_FALSE(c.FindB("Test::Zero", false));
}
diff --git a/test/libapt/commandlineasstring_test.cc b/test/libapt/commandlineasstring_test.cc
deleted file mode 100644
index 5c005e956..000000000
--- a/test/libapt/commandlineasstring_test.cc
+++ /dev/null
@@ -1,41 +0,0 @@
-#include <config.h>
-
-#include <apt-pkg/cmndline.h>
-#include <apt-pkg/configuration.h>
-
-#include <string>
-
-#include "assert.h"
-
-class CLT: public CommandLine {
-
- public:
- std::string static AsString(const char * const * const argv,
- unsigned int const argc) {
- std::string const static conf = "Commandline::AsString";
- _config->Clear(conf);
- SaveInConfig(argc, argv);
- return _config->Find(conf);
- }
-};
-
-#define CMD(y,z) equals(CLT::AsString(argv, y), z);
-
-int main() {
- {
- const char* const argv[] = {"apt-get", "install", "-sf"};
- CMD(3, "apt-get install -sf");
- }
- {
- const char* const argv[] = {"apt-cache", "-s", "apt", "-so", "Debug::test=Test"};
- CMD(5, "apt-cache -s apt -so Debug::test=Test");
- }
- {
- const char* const argv[] = {"apt-cache", "-s", "apt", "-so", "Debug::test=Das ist ein Test"};
- CMD(5, "apt-cache -s apt -so Debug::test=\"Das ist ein Test\"");
- }
- {
- const char* const argv[] = {"apt-cache", "-s", "apt", "--hallo", "test=1.0"};
- CMD(5, "apt-cache -s apt --hallo test=1.0");
- }
-}
diff --git a/test/libapt/compareversion_test.cc b/test/libapt/compareversion_test.cc
index 43b98f240..3b2c0c209 100644
--- a/test/libapt/compareversion_test.cc
+++ b/test/libapt/compareversion_test.cc
@@ -28,9 +28,11 @@
#include <unistd.h>
#include <sys/wait.h>
+#include <gtest/gtest.h>
+
using namespace std;
-static bool callDPkg(const char *val, const char *ref, const char &op) {
+static bool callDPKG(const char *val, const char *ref, const char &op) {
pid_t Process = ExecFork();
if (Process == 0)
{
@@ -49,77 +51,130 @@ static bool callDPkg(const char *val, const char *ref, const char &op) {
return WIFEXITED(Ret) == true && WEXITSTATUS(Ret) == 0;
}
-static void assertVersion(int const &CurLine, string const &A, string const &B, int const &Expected) {
- int Res = debVS.CmpVersion(A.c_str(), B.c_str());
- bool const dpkg = callDPkg(A.c_str(),B.c_str(), Expected);
- Res = (Res < 0) ? -1 : ( (Res > 0) ? 1 : Res);
- if (Res != Expected)
- _error->Error("Comparison failed on line %u. '%s' '%s' '%s' %i != %i",CurLine,A.c_str(),((Expected == 1) ? "<<" : ( (Expected == 0) ? "=" : ">>")) ,B.c_str(),Res,Expected);
- if (dpkg == false)
- _error->Error("DPkg differ with line: %u. '%s' '%s' '%s' == false",CurLine,A.c_str(),((Expected == 1) ? "<<" : ( (Expected == 0) ? "=" : ">>")),B.c_str());
+#define EXPECT_VERSION_PART(A, compare, B) \
+{ \
+ int Res = debVS.CmpVersion(A, B); \
+ Res = (Res < 0) ? -1 : ( (Res > 0) ? 1 : Res); \
+ EXPECT_EQ(compare, Res) << "APT: A: »" << A << "« B: »" << B << "«"; \
+ EXPECT_PRED3(callDPKG, A, B, compare); \
}
+#define EXPECT_VERSION(A, compare, B) \
+ EXPECT_VERSION_PART(A, compare, B); \
+ EXPECT_VERSION_PART(B, compare * -1, A)
+
+// History-Remark: The versions used to be specified in a versions.lst file
+
+enum CompareVersionType { LESS = -1, GREATER = 1, EQUAL = 0 };
-static bool RunTest(const char *File)
+TEST(CompareVersionTest,Basic)
{
- if (FileExists(File) == false)
- return _error->Error("Versiontestfile %s doesn't exist!", File);
+ EXPECT_VERSION("7.6p2-4", GREATER, "7.6-0");
+ EXPECT_VERSION("1.0.3-3", GREATER, "1.0-1");
+ EXPECT_VERSION("1.3", GREATER, "1.2.2-2");
+ EXPECT_VERSION("1.3", GREATER, "1.2.2");
- ifstream F(File,ios::in);
- if (!F != 0)
- return false;
+ /* disabled as dpkg doesn't like them… (versions have to start with a number)
+ EXPECT_VERSION("-", LESS, ".");
+ EXPECT_VERSION("p", LESS, "-");
+ EXPECT_VERSION("a", LESS, "-");
+ EXPECT_VERSION("z", LESS, "-");
+ EXPECT_VERSION("a", LESS, ".");
+ EXPECT_VERSION("z", LESS, ".");
+ // */
- char Buffer[300];
- int CurLine = 0;
-
- while (1)
- {
- F.getline(Buffer,sizeof(Buffer));
- CurLine++;
- if (F.eof() != 0)
- return true;
- if (!F != 0)
- return _error->Error("Line %u in %s is too long",CurLine,File);
-
- // Comment
- if (Buffer[0] == '#' || Buffer[0] == 0)
- continue;
-
- // First version
- char *I;
- char *Start = Buffer;
- for (I = Buffer; *I != 0 && *I != ' '; I++);
- string A(Start, I - Start);
-
- if (*I == 0)
- return _error->Error("Invalid line %u",CurLine);
-
- // Second version
- I++;
- Start = I;
- for (I = Start; *I != 0 && *I != ' '; I++);
- string B(Start,I - Start);
-
- if (*I == 0 || I[1] == 0)
- return _error->Error("Invalid line %u",CurLine);
-
- // Result
- I++;
- int const Expected = atoi(I);
- assertVersion(CurLine, A, B, Expected);
- // Check the reverse as well
- assertVersion(CurLine, B, A, Expected*-1);
- }
+ /* disabled as dpkg doesn't like them… (versions have to start with a number)
+ EXPECT_VERSION("III-alpha9.8", LESS, "III-alpha9.8-1.5");
+ // */
+
+ // Test some properties of text strings
+ EXPECT_VERSION("0-pre", EQUAL, "0-pre");
+ EXPECT_VERSION("0-pre", LESS, "0-pree");
+
+ EXPECT_VERSION("1.1.6r2-2", GREATER, "1.1.6r-1");
+ EXPECT_VERSION("2.6b2-1", GREATER, "2.6b-2");
+
+ EXPECT_VERSION("98.1p5-1", LESS, "98.1-pre2-b6-2");
+ EXPECT_VERSION("0.4a6-2", GREATER, "0.4-1");
+
+ EXPECT_VERSION("1:3.0.5-2", LESS, "1:3.0.5.1");
}
+TEST(CompareVersionTest,Epochs)
+{
+ EXPECT_VERSION("1:0.4", GREATER, "10.3");
+ EXPECT_VERSION("1:1.25-4", LESS, "1:1.25-8");
+ EXPECT_VERSION("0:1.18.36", EQUAL, "1.18.36");
+
+ EXPECT_VERSION("1.18.36", GREATER, "1.18.35");
+ EXPECT_VERSION("0:1.18.36", GREATER, "1.18.35");
+}
+TEST(CompareVersionTest,Strangeness)
+{
+ // Funky, but allowed, characters in upstream version
+ EXPECT_VERSION("9:1.18.36:5.4-20", LESS, "10:0.5.1-22");
+ EXPECT_VERSION("9:1.18.36:5.4-20", LESS, "9:1.18.36:5.5-1");
+ EXPECT_VERSION("9:1.18.36:5.4-20", LESS, " 9:1.18.37:4.3-22");
+ EXPECT_VERSION("1.18.36-0.17.35-18", GREATER, "1.18.36-19");
+
+ // Junk
+ EXPECT_VERSION("1:1.2.13-3", LESS, "1:1.2.13-3.1");
+ EXPECT_VERSION("2.0.7pre1-4", LESS, "2.0.7r-1");
-int main(int argc, char *argv[])
+ // if a version includes a dash, it should be the debrev dash - policy says so…
+ EXPECT_VERSION("0:0-0-0", GREATER, "0-0");
+
+ // do we like strange versions? Yes we like strange versions…
+ EXPECT_VERSION("0", EQUAL, "0");
+ EXPECT_VERSION("0", EQUAL, "00");
+}
+TEST(CompareVersionTest,DebianBug)
+{
+ // #205960
+ EXPECT_VERSION("3.0~rc1-1", LESS, "3.0-1");
+ // #573592 - debian policy 5.6.12
+ EXPECT_VERSION("1.0", EQUAL, "1.0-0");
+ EXPECT_VERSION("0.2", LESS, "1.0-0");
+ EXPECT_VERSION("1.0", LESS, "1.0-0+b1");
+ EXPECT_VERSION("1.0", GREATER, "1.0-0~");
+}
+TEST(CompareVersionTest,CuptTests)
{
- if (argc != 2)
- return 1;
- else
- RunTest(argv[1]);
-
- // Print any errors or warnings found
- _error->DumpErrors();
- return 0;
+ // "steal" the testcases from (old perl) cupt
+ EXPECT_VERSION("1.2.3", EQUAL, "1.2.3"); // identical
+ EXPECT_VERSION("4.4.3-2", EQUAL, "4.4.3-2"); // identical
+ EXPECT_VERSION("1:2ab:5", EQUAL, "1:2ab:5"); // this is correct...
+ EXPECT_VERSION("7:1-a:b-5", EQUAL, "7:1-a:b-5"); // and this
+ EXPECT_VERSION("57:1.2.3abYZ+~-4-5", EQUAL, "57:1.2.3abYZ+~-4-5"); // and those too
+ EXPECT_VERSION("1.2.3", EQUAL, "0:1.2.3"); // zero epoch
+ EXPECT_VERSION("1.2.3", EQUAL, "1.2.3-0"); // zero revision
+ EXPECT_VERSION("009", EQUAL, "9"); // zeroes…
+ EXPECT_VERSION("009ab5", EQUAL, "9ab5"); // there as well
+ EXPECT_VERSION("1.2.3", LESS, "1.2.3-1"); // added non-zero revision
+ EXPECT_VERSION("1.2.3", LESS, "1.2.4"); // just bigger
+ EXPECT_VERSION("1.2.4", GREATER, "1.2.3"); // order doesn't matter
+ EXPECT_VERSION("1.2.24", GREATER, "1.2.3"); // bigger, eh?
+ EXPECT_VERSION("0.10.0", GREATER, "0.8.7"); // bigger, eh?
+ EXPECT_VERSION("3.2", GREATER, "2.3"); // major number rocks
+ EXPECT_VERSION("1.3.2a", GREATER, "1.3.2"); // letters rock
+ EXPECT_VERSION("0.5.0~git", LESS, "0.5.0~git2"); // numbers rock
+ EXPECT_VERSION("2a", LESS, "21"); // but not in all places
+ EXPECT_VERSION("1.3.2a", LESS, "1.3.2b"); // but there is another letter
+ EXPECT_VERSION("1:1.2.3", GREATER, "1.2.4"); // epoch rocks
+ EXPECT_VERSION("1:1.2.3", LESS, "1:1.2.4"); // bigger anyway
+ EXPECT_VERSION("1.2a+~bCd3", LESS, "1.2a++"); // tilde doesn't rock
+ EXPECT_VERSION("1.2a+~bCd3", GREATER, "1.2a+~"); // but first is longer!
+ EXPECT_VERSION("5:2", GREATER, "304-2"); // epoch rocks
+ EXPECT_VERSION("5:2", LESS, "304:2"); // so big epoch?
+ EXPECT_VERSION("25:2", GREATER, "3:2"); // 25 > 3, obviously
+ EXPECT_VERSION("1:2:123", LESS, "1:12:3"); // 12 > 2
+ EXPECT_VERSION("1.2-5", LESS, "1.2-3-5"); // 1.2 < 1.2-3
+ EXPECT_VERSION("5.10.0", GREATER, "5.005"); // preceding zeroes don't matters
+ EXPECT_VERSION("3a9.8", LESS, "3.10.2"); // letters are before all letter symbols
+ EXPECT_VERSION("3a9.8", GREATER, "3~10"); // but after the tilde
+ EXPECT_VERSION("1.4+OOo3.0.0~", LESS, "1.4+OOo3.0.0-4"); // another tilde check
+ EXPECT_VERSION("2.4.7-1", LESS, "2.4.7-z"); // revision comparing
+ EXPECT_VERSION("1.002-1+b2", GREATER, "1.00"); // whatever...
+ /* disabled as dpkg doesn't like them… (versions with illegal char)
+ EXPECT_VERSION("2.2.4-47978_Debian_lenny", EQUAL, "2.2.4-47978_Debian_lenny"); // and underscore...
+ // */
}
diff --git a/test/libapt/configuration_test.cc b/test/libapt/configuration_test.cc
index c9235500c..647d8a4af 100644
--- a/test/libapt/configuration_test.cc
+++ b/test/libapt/configuration_test.cc
@@ -5,135 +5,142 @@
#include <string>
#include <vector>
-#include "assert.h"
+#include <gtest/gtest.h>
-int main() {
+//FIXME: Test for configuration file parsing;
+// currently only integration/ tests test them implicitly
+
+TEST(ConfigurationTest,Lists)
+{
Configuration Cnf;
- std::vector<std::string> fds;
Cnf.Set("APT::Keep-Fds::",28);
Cnf.Set("APT::Keep-Fds::",17);
Cnf.Set("APT::Keep-Fds::2",47);
Cnf.Set("APT::Keep-Fds::","broken");
- fds = Cnf.FindVector("APT::Keep-Fds");
- equals(fds[0], "28");
- equals(fds[1], "17");
- equals(fds[2], "47");
- equals(fds[3], "broken");
- equals(fds.size(), 4);
- equals(Cnf.Exists("APT::Keep-Fds::2"), true);
- equals(Cnf.Find("APT::Keep-Fds::2"), "47");
- equals(Cnf.FindI("APT::Keep-Fds::2"), 47);
- equals(Cnf.Exists("APT::Keep-Fds::3"), false);
- equals(Cnf.Find("APT::Keep-Fds::3"), "");
- equals(Cnf.FindI("APT::Keep-Fds::3", 56), 56);
- equals(Cnf.Find("APT::Keep-Fds::3", "not-set"), "not-set");
+ std::vector<std::string> fds = Cnf.FindVector("APT::Keep-Fds");
+ ASSERT_EQ(4, fds.size());
+ EXPECT_EQ("28", fds[0]);
+ EXPECT_EQ("17", fds[1]);
+ EXPECT_EQ("47", fds[2]);
+ EXPECT_EQ("broken", fds[3]);
+
+ EXPECT_TRUE(Cnf.Exists("APT::Keep-Fds::2"));
+ EXPECT_EQ("47", Cnf.Find("APT::Keep-Fds::2"));
+ EXPECT_EQ(47, Cnf.FindI("APT::Keep-Fds::2"));
+ EXPECT_FALSE(Cnf.Exists("APT::Keep-Fds::3"));
+ EXPECT_EQ("", Cnf.Find("APT::Keep-Fds::3"));
+ EXPECT_EQ(56, Cnf.FindI("APT::Keep-Fds::3", 56));
+ EXPECT_EQ("not-set", Cnf.Find("APT::Keep-Fds::3", "not-set"));
Cnf.Clear("APT::Keep-Fds::2");
+ EXPECT_TRUE(Cnf.Exists("APT::Keep-Fds::2"));
fds = Cnf.FindVector("APT::Keep-Fds");
- equals(fds[0], "28");
- equals(fds[1], "17");
- equals(fds[2], "");
- equals(fds[3], "broken");
- equals(fds.size(), 4);
- equals(Cnf.Exists("APT::Keep-Fds::2"), true);
+ ASSERT_EQ(4, fds.size());
+ EXPECT_EQ("28", fds[0]);
+ EXPECT_EQ("17", fds[1]);
+ EXPECT_EQ("", fds[2]);
+ EXPECT_EQ("broken", fds[3]);
Cnf.Clear("APT::Keep-Fds",28);
fds = Cnf.FindVector("APT::Keep-Fds");
- equals(fds[0], "17");
- equals(fds[1], "");
- equals(fds[2], "broken");
- equals(fds.size(), 3);
+ ASSERT_EQ(3, fds.size());
+ EXPECT_EQ("17", fds[0]);
+ EXPECT_EQ("", fds[1]);
+ EXPECT_EQ("broken", fds[2]);
Cnf.Clear("APT::Keep-Fds","");
- equals(Cnf.Exists("APT::Keep-Fds::2"), false);
+ EXPECT_FALSE(Cnf.Exists("APT::Keep-Fds::2"));
Cnf.Clear("APT::Keep-Fds",17);
Cnf.Clear("APT::Keep-Fds","broken");
fds = Cnf.FindVector("APT::Keep-Fds");
- equals(fds.empty(), true);
+ EXPECT_TRUE(fds.empty());
Cnf.Set("APT::Keep-Fds::",21);
Cnf.Set("APT::Keep-Fds::",42);
fds = Cnf.FindVector("APT::Keep-Fds");
- equals(fds[0], "21");
- equals(fds[1], "42");
- equals(fds.size(), 2);
+ ASSERT_EQ(2, fds.size());
+ EXPECT_EQ("21", fds[0]);
+ EXPECT_EQ("42", fds[1]);
Cnf.Clear("APT::Keep-Fds");
fds = Cnf.FindVector("APT::Keep-Fds");
- equals(fds.empty(), true);
+ EXPECT_TRUE(fds.empty());
+}
+TEST(ConfigurationTest,Integers)
+{
+ Configuration Cnf;
Cnf.CndSet("APT::Version", 42);
Cnf.CndSet("APT::Version", "66");
- equals(Cnf.Find("APT::Version"), "42");
- equals(Cnf.FindI("APT::Version"), 42);
- equals(Cnf.Find("APT::Version", "33"), "42");
- equals(Cnf.FindI("APT::Version", 33), 42);
- equals(Cnf.Find("APT2::Version", "33"), "33");
- equals(Cnf.FindI("APT2::Version", 33), 33);
-
- equals(Cnf.FindFile("Dir::State"), "");
- equals(Cnf.FindFile("Dir::Aptitude::State"), "");
+ EXPECT_EQ("42", Cnf.Find("APT::Version"));
+ EXPECT_EQ(42, Cnf.FindI("APT::Version"));
+ EXPECT_EQ("42", Cnf.Find("APT::Version", "33"));
+ EXPECT_EQ(42, Cnf.FindI("APT::Version", 33));
+ EXPECT_EQ("33", Cnf.Find("APT2::Version", "33"));
+ EXPECT_EQ(33, Cnf.FindI("APT2::Version", 33));
+}
+TEST(ConfigurationTest,DirsAndFiles)
+{
+ Configuration Cnf;
+
+ EXPECT_EQ("", Cnf.FindFile("Dir::State"));
+ EXPECT_EQ("", Cnf.FindFile("Dir::Aptitude::State"));
Cnf.Set("Dir", "/srv/sid");
- equals(Cnf.FindFile("Dir::State"), "");
+ EXPECT_EQ("", Cnf.FindFile("Dir::State"));
Cnf.Set("Dir::State", "var/lib/apt");
Cnf.Set("Dir::Aptitude::State", "var/lib/aptitude");
- equals(Cnf.FindFile("Dir::State"), "/srv/sid/var/lib/apt");
- equals(Cnf.FindFile("Dir::Aptitude::State"), "/srv/sid/var/lib/aptitude");
+ EXPECT_EQ("/srv/sid/var/lib/apt", Cnf.FindFile("Dir::State"));
+ EXPECT_EQ("/srv/sid/var/lib/aptitude", Cnf.FindFile("Dir::Aptitude::State"));
Cnf.Set("RootDir", "/");
- equals(Cnf.FindFile("Dir::State"), "/srv/sid/var/lib/apt");
- equals(Cnf.FindFile("Dir::Aptitude::State"), "/srv/sid/var/lib/aptitude");
+ EXPECT_EQ("/srv/sid/var/lib/apt", Cnf.FindFile("Dir::State"));
+ EXPECT_EQ("/srv/sid/var/lib/aptitude", Cnf.FindFile("Dir::Aptitude::State"));
Cnf.Set("RootDir", "//./////.////");
- equals(Cnf.FindFile("Dir::State"), "/srv/sid/var/lib/apt");
- equals(Cnf.FindFile("Dir::Aptitude::State"), "/srv/sid/var/lib/aptitude");
+ EXPECT_EQ("/srv/sid/var/lib/apt", Cnf.FindFile("Dir::State"));
+ EXPECT_EQ("/srv/sid/var/lib/aptitude", Cnf.FindFile("Dir::Aptitude::State"));
Cnf.Set("RootDir", "/rootdir");
- equals(Cnf.FindFile("Dir::State"), "/rootdir/srv/sid/var/lib/apt");
- equals(Cnf.FindFile("Dir::Aptitude::State"), "/rootdir/srv/sid/var/lib/aptitude");
+ EXPECT_EQ("/rootdir/srv/sid/var/lib/apt", Cnf.FindFile("Dir::State"));
+ EXPECT_EQ("/rootdir/srv/sid/var/lib/aptitude", Cnf.FindFile("Dir::Aptitude::State"));
Cnf.Set("RootDir", "/rootdir/");
- equals(Cnf.FindFile("Dir::State"), "/rootdir/srv/sid/var/lib/apt");
- equals(Cnf.FindFile("Dir::Aptitude::State"), "/rootdir/srv/sid/var/lib/aptitude");
+ EXPECT_EQ("/rootdir/srv/sid/var/lib/apt", Cnf.FindFile("Dir::State"));
+ EXPECT_EQ("/rootdir/srv/sid/var/lib/aptitude", Cnf.FindFile("Dir::Aptitude::State"));
Cnf.Set("Dir::State", "/dev/null");
Cnf.Set("Dir::State::lists", "lists/");
- equals(Cnf.FindDir("Dir::State"), "/rootdir/dev/null");
- equals(Cnf.FindDir("Dir::State::lists"), "/rootdir/dev/null");
-
- Cnf.Set("Moo::Bar", "1");
- Cnf.Clear();
- equals(Cnf.Find("Moo::Bar"), "");
+ EXPECT_EQ("/rootdir/dev/null", Cnf.FindDir("Dir::State"));
+ EXPECT_EQ("/rootdir/dev/null", Cnf.FindDir("Dir::State::lists"));
+}
+TEST(ConfigurationTest,Vector)
+{
+ Configuration Cnf;
std::vector<std::string> vec = Cnf.FindVector("Test::Vector", "");
- equals(vec.size(), 0);
+ EXPECT_EQ(0, vec.size());
vec = Cnf.FindVector("Test::Vector", "foo");
- equals(vec.size(), 1);
- equals(vec[0], "foo");
+ ASSERT_EQ(1, vec.size());
+ EXPECT_EQ("foo", vec[0]);
vec = Cnf.FindVector("Test::Vector", "foo,bar");
- equals(vec.size(), 2);
- equals(vec[0], "foo");
- equals(vec[1], "bar");
+ EXPECT_EQ(2, vec.size());
+ EXPECT_EQ("foo", vec[0]);
+ EXPECT_EQ("bar", vec[1]);
Cnf.Set("Test::Vector::", "baz");
Cnf.Set("Test::Vector::", "bob");
Cnf.Set("Test::Vector::", "dob");
vec = Cnf.FindVector("Test::Vector");
- equals(vec.size(), 3);
- equals(vec[0], "baz");
- equals(vec[1], "bob");
- equals(vec[2], "dob");
+ ASSERT_EQ(3, vec.size());
+ EXPECT_EQ("baz", vec[0]);
+ EXPECT_EQ("bob", vec[1]);
+ EXPECT_EQ("dob", vec[2]);
vec = Cnf.FindVector("Test::Vector", "foo,bar");
- equals(vec.size(), 3);
- equals(vec[0], "baz");
- equals(vec[1], "bob");
- equals(vec[2], "dob");
+ ASSERT_EQ(3, vec.size());
+ EXPECT_EQ("baz", vec[0]);
+ EXPECT_EQ("bob", vec[1]);
+ EXPECT_EQ("dob", vec[2]);
Cnf.Set("Test::Vector", "abel,bravo");
vec = Cnf.FindVector("Test::Vector", "foo,bar");
- equals(vec.size(), 2);
- equals(vec[0], "abel");
- equals(vec[1], "bravo");
-
- //FIXME: Test for configuration file parsing;
- // currently only integration/ tests test them implicitly
-
- return 0;
+ ASSERT_EQ(2, vec.size());
+ EXPECT_EQ("abel", vec[0]);
+ EXPECT_EQ("bravo", vec[1]);
}
diff --git a/test/libapt/file-helpers.cc b/test/libapt/file-helpers.cc
new file mode 100644
index 000000000..5edb9a9fe
--- /dev/null
+++ b/test/libapt/file-helpers.cc
@@ -0,0 +1,77 @@
+#include <apt-pkg/fileutl.h>
+
+#include <string>
+
+#include <unistd.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <fcntl.h>
+
+#include <gtest/gtest.h>
+
+#include "file-helpers.h"
+
+void helperCreateTemporaryDirectory(std::string const &id, std::string &dir)
+{
+ std::string const strtempdir = GetTempDir().append("/apt-tests-").append(id).append(".XXXXXX");
+ char * tempdir = strdup(strtempdir.c_str());
+ ASSERT_STREQ(tempdir, mkdtemp(tempdir));
+ dir = tempdir;
+ free(tempdir);
+}
+void helperRemoveDirectory(std::string const &dir)
+{
+ // basic sanity check to avoid removing random directories based on earlier failures
+ if (dir.find("/apt-tests-") == std::string::npos || dir.find_first_of("*?") != std::string::npos)
+ FAIL() << "Directory '" << dir << "' seems invalid. It is therefore not removed!";
+ else
+ ASSERT_EQ(0, system(std::string("rm -rf ").append(dir).c_str()));
+}
+void helperCreateFile(std::string const &dir, std::string const &name)
+{
+ std::string file = dir;
+ file.append("/");
+ file.append(name);
+ int const fd = creat(file.c_str(), 0600);
+ ASSERT_NE(-1, fd);
+ close(fd);
+}
+void helperCreateDirectory(std::string const &dir, std::string const &name)
+{
+ std::string file = dir;
+ file.append("/");
+ file.append(name);
+ ASSERT_TRUE(CreateDirectory(dir, file));
+}
+void helperCreateLink(std::string const &dir, std::string const &targetname, std::string const &linkname)
+{
+ std::string target = dir;
+ target.append("/");
+ target.append(targetname);
+ std::string link = dir;
+ link.append("/");
+ link.append(linkname);
+ ASSERT_EQ(0, symlink(target.c_str(), link.c_str()));
+}
+void helperCreateTemporaryFile(std::string const &id, FileFd &fd, char * * const filename, char const * const content)
+{
+ std::string name("apt-test-");
+ name.append(id).append(".XXXXXXXX");
+ char * tempfile = strdup(name.c_str());
+ int tempfile_fd = mkstemp(tempfile);
+ ASSERT_NE(-1, tempfile_fd);
+ if (filename != NULL)
+ *filename = tempfile;
+ else
+ {
+ unlink(tempfile);
+ free(tempfile);
+ }
+
+ EXPECT_TRUE(fd.OpenDescriptor(tempfile_fd, FileFd::ReadWrite));
+ if (content != NULL)
+ {
+ ASSERT_TRUE(fd.Write(content, strlen(content)));
+ fd.Seek(0);
+ }
+}
diff --git a/test/libapt/file-helpers.h b/test/libapt/file-helpers.h
new file mode 100644
index 000000000..e8472d503
--- /dev/null
+++ b/test/libapt/file-helpers.h
@@ -0,0 +1,29 @@
+#ifndef APT_TESTS_FILE_HELPERS
+#define APT_TESTS_FILE_HELPERS
+
+#include <string>
+
+#include <gtest/gtest.h>
+
+class FileFd;
+
+#define createTemporaryDirectory(id, dir) \
+ ASSERT_NO_FATAL_FAILURE(helperCreateTemporaryDirectory(id, dir))
+void helperCreateTemporaryDirectory(std::string const &id, std::string &dir);
+#define removeDirectory(dir) \
+ ASSERT_NO_FATAL_FAILURE(helperRemoveDirectory(dir))
+void helperRemoveDirectory(std::string const &dir);
+#define createFile(dir, name) \
+ ASSERT_NO_FATAL_FAILURE(helperCreateFile(dir, name))
+void helperCreateFile(std::string const &dir, std::string const &name);
+#define createDirectory(dir, name) \
+ ASSERT_NO_FATAL_FAILURE(helperCreateDirectory(dir, name))
+void helperCreateDirectory(std::string const &dir, std::string const &name);
+#define createLink(dir, targetname, linkname) \
+ ASSERT_NO_FATAL_FAILURE(helperCreateLink(dir, targetname, linkname))
+void helperCreateLink(std::string const &dir, std::string const &targetname, std::string const &linkname);
+#define createTemporaryFile(id, fd, filename, content) \
+ ASSERT_NO_FATAL_FAILURE(helperCreateTemporaryFile(id, fd, filename, content))
+void helperCreateTemporaryFile(std::string const &id, FileFd &fd, char * * const filename, char const * const content);
+
+#endif
diff --git a/test/libapt/fileutl_test.cc b/test/libapt/fileutl_test.cc
index 8da832ba9..643c02297 100644
--- a/test/libapt/fileutl_test.cc
+++ b/test/libapt/fileutl_test.cc
@@ -2,53 +2,225 @@
#include <apt-pkg/error.h>
#include <apt-pkg/fileutl.h>
+#include <apt-pkg/strutl.h>
+#include <apt-pkg/aptconfiguration.h>
#include <string>
#include <vector>
#include <stdlib.h>
+#include <string.h>
-#include "assert.h"
+#include <gtest/gtest.h>
-int main()
+#include "file-helpers.h"
+
+static void TestFileFd(mode_t const a_umask, mode_t const ExpectedFilePermission,
+ unsigned int const filemode, APT::Configuration::Compressor const &compressor)
{
- std::vector<std::string> files;
+ std::string trace;
+ strprintf(trace, "TestFileFd: Compressor: %s umask: %#o permission: %#o mode: %d", compressor.Name.c_str(), a_umask, ExpectedFilePermission, filemode);
+ SCOPED_TRACE(trace);
+
+ static const char* fname = "apt-filefd-test.txt";
+ if (FileExists(fname) == true)
+ EXPECT_EQ(0, unlink(fname));
+
+ FileFd f;
+ umask(a_umask);
+ EXPECT_TRUE(f.Open(fname, filemode, compressor));
+ EXPECT_TRUE(f.IsOpen());
+ EXPECT_FALSE(f.Failed());
+ EXPECT_EQ(umask(a_umask), a_umask);
+
+ std::string test = "This is a test!\n";
+ EXPECT_TRUE(f.Write(test.c_str(), test.size()));
+ EXPECT_TRUE(f.IsOpen());
+ EXPECT_FALSE(f.Failed());
+
+ f.Close();
+ EXPECT_FALSE(f.IsOpen());
+ EXPECT_FALSE(f.Failed());
+
+ EXPECT_TRUE(f.Open(fname, FileFd::ReadOnly, compressor));
+ EXPECT_TRUE(f.IsOpen());
+ EXPECT_FALSE(f.Failed());
+ EXPECT_FALSE(f.Eof());
+ EXPECT_NE(0, f.FileSize());
+ EXPECT_FALSE(f.Failed());
+ EXPECT_NE(0, f.ModificationTime());
+ EXPECT_FALSE(f.Failed());
+
+ // ensure the memory is as predictably messed up
+#define APT_INIT_READBACK \
+ char readback[20]; \
+ memset(readback, 'D', sizeof(readback)/sizeof(readback[0])); \
+ readback[19] = '\0';
+#define EXPECT_N_STR(expect, actual) \
+ EXPECT_EQ(0, strncmp(expect, actual, strlen(expect)));
- // normal match
- files = Glob("*.lst");
- if (files.size() != 1)
{
- _error->DumpErrors();
- return 1;
+ APT_INIT_READBACK
+ char const * const expect = "This";
+ EXPECT_TRUE(f.Read(readback, strlen(expect)));
+ EXPECT_FALSE(f.Failed());
+ EXPECT_FALSE(f.Eof());
+ EXPECT_N_STR(expect, readback);
+ EXPECT_EQ(strlen(expect), f.Tell());
}
+ {
+ APT_INIT_READBACK
+ char const * const expect = "test!\n";
+ EXPECT_TRUE(f.Skip((test.size() - f.Tell()) - strlen(expect)));
+ EXPECT_TRUE(f.Read(readback, strlen(expect)));
+ EXPECT_FALSE(f.Failed());
+ EXPECT_FALSE(f.Eof());
+ EXPECT_N_STR(expect, readback);
+ EXPECT_EQ(test.size(), f.Tell());
+ }
+ {
+ APT_INIT_READBACK
+ EXPECT_TRUE(f.Seek(0));
+ EXPECT_FALSE(f.Eof());
+ EXPECT_TRUE(f.Read(readback, 20, true));
+ EXPECT_FALSE(f.Failed());
+ EXPECT_TRUE(f.Eof());
+ EXPECT_N_STR(test.c_str(), readback);
+ EXPECT_EQ(f.Size(), f.Tell());
+ }
+ {
+ APT_INIT_READBACK
+ EXPECT_TRUE(f.Seek(0));
+ EXPECT_FALSE(f.Eof());
+ EXPECT_TRUE(f.Read(readback, test.size(), true));
+ EXPECT_FALSE(f.Failed());
+ EXPECT_FALSE(f.Eof());
+ EXPECT_N_STR(test.c_str(), readback);
+ EXPECT_EQ(f.Size(), f.Tell());
+ }
+ {
+ APT_INIT_READBACK
+ EXPECT_TRUE(f.Seek(0));
+ EXPECT_FALSE(f.Eof());
+ unsigned long long actual;
+ EXPECT_TRUE(f.Read(readback, 20, &actual));
+ EXPECT_FALSE(f.Failed());
+ EXPECT_TRUE(f.Eof());
+ EXPECT_EQ(test.size(), actual);
+ EXPECT_N_STR(test.c_str(), readback);
+ EXPECT_EQ(f.Size(), f.Tell());
+ }
+ {
+ APT_INIT_READBACK
+ EXPECT_TRUE(f.Seek(0));
+ EXPECT_FALSE(f.Eof());
+ f.ReadLine(readback, 20);
+ EXPECT_FALSE(f.Failed());
+ EXPECT_FALSE(f.Eof());
+ EXPECT_EQ(test, readback);
+ EXPECT_EQ(f.Size(), f.Tell());
+ }
+ {
+ APT_INIT_READBACK
+ EXPECT_TRUE(f.Seek(0));
+ EXPECT_FALSE(f.Eof());
+ char const * const expect = "This";
+ f.ReadLine(readback, strlen(expect) + 1);
+ EXPECT_FALSE(f.Failed());
+ EXPECT_FALSE(f.Eof());
+ EXPECT_N_STR(expect, readback);
+ EXPECT_EQ(strlen(expect), f.Tell());
+ }
+#undef APT_INIT_READBACK
- // not there
- files = Glob("xxxyyyzzz");
- if (files.size() != 0 || _error->PendingError())
+ f.Close();
+ EXPECT_FALSE(f.IsOpen());
+ EXPECT_FALSE(f.Failed());
+
+ // regression test for permission bug LP: #1304657
+ struct stat buf;
+ EXPECT_EQ(0, stat(fname, &buf));
+ EXPECT_EQ(0, unlink(fname));
+ EXPECT_EQ(ExpectedFilePermission, buf.st_mode & 0777);
+}
+
+static void TestFileFd(unsigned int const filemode)
+{
+ std::vector<APT::Configuration::Compressor> compressors = APT::Configuration::getCompressors();
+
+ // testing the (un)compress via pipe, as the 'real' compressors are usually built in via libraries
+ compressors.push_back(APT::Configuration::Compressor("rev", ".reversed", "rev", NULL, NULL, 42));
+ //compressors.push_back(APT::Configuration::Compressor("cat", ".ident", "cat", NULL, NULL, 42));
+
+ for (std::vector<APT::Configuration::Compressor>::const_iterator c = compressors.begin(); c != compressors.end(); ++c)
{
- _error->DumpErrors();
- return 1;
+ if ((filemode & FileFd::ReadWrite) == FileFd::ReadWrite &&
+ (c->Name.empty() != true && c->Binary.empty() != true))
+ continue;
+ TestFileFd(0002, 0664, filemode, *c);
+ TestFileFd(0022, 0644, filemode, *c);
+ TestFileFd(0077, 0600, filemode, *c);
+ TestFileFd(0026, 0640, filemode, *c);
}
+}
+
+TEST(FileUtlTest, FileFD)
+{
+ std::string const startdir = SafeGetCWD();
+ EXPECT_FALSE(startdir.empty());
+ std::string tempdir;
+ createTemporaryDirectory("filefd", tempdir);
+ EXPECT_EQ(0, chdir(tempdir.c_str()));
+
+ TestFileFd(FileFd::WriteOnly | FileFd::Create);
+ TestFileFd(FileFd::WriteOnly | FileFd::Create | FileFd::Empty);
+ TestFileFd(FileFd::WriteOnly | FileFd::Create | FileFd::Exclusive);
+ TestFileFd(FileFd::WriteOnly | FileFd::Atomic);
+ TestFileFd(FileFd::WriteOnly | FileFd::Create | FileFd::Atomic);
+ // short-hands for ReadWrite with these modes
+ TestFileFd(FileFd::WriteEmpty);
+ TestFileFd(FileFd::WriteAny);
+ TestFileFd(FileFd::WriteTemp);
+ TestFileFd(FileFd::WriteAtomic);
+
+ EXPECT_EQ(0, chdir(startdir.c_str()));
+ removeDirectory(tempdir);
+}
+TEST(FileUtlTest, Glob)
+{
+ std::vector<std::string> files;
+ // normal match
+ files = Glob("*akefile");
+ EXPECT_EQ(1, files.size());
+
+ // not there
+ files = Glob("xxxyyyzzz");
+ EXPECT_TRUE(files.empty());
+ EXPECT_FALSE(_error->PendingError());
// many matches (number is a bit random)
files = Glob("*.cc");
- if (files.size() < 10)
- {
- _error->DumpErrors();
- return 1;
- }
+ EXPECT_LT(10, files.size());
+}
+TEST(FileUtlTest, GetTempDir)
+{
+ char const * const envtmp = getenv("TMPDIR");
+ std::string old_tmpdir;
+ if (envtmp != NULL)
+ old_tmpdir = envtmp;
- // GetTempDir()
unsetenv("TMPDIR");
- equals(GetTempDir(), "/tmp");
+ EXPECT_EQ("/tmp", GetTempDir());
setenv("TMPDIR", "", 1);
- equals(GetTempDir(), "/tmp");
+ EXPECT_EQ("/tmp", GetTempDir());
setenv("TMPDIR", "/not-there-no-really-not", 1);
- equals(GetTempDir(), "/tmp");
+ EXPECT_EQ("/tmp", GetTempDir());
setenv("TMPDIR", "/usr", 1);
- equals(GetTempDir(), "/usr");
+ EXPECT_EQ("/usr", GetTempDir());
- return 0;
+ unsetenv("TMPDIR");
+ if (old_tmpdir.empty() == false)
+ setenv("TMPDIR", old_tmpdir.c_str(), 1);
}
diff --git a/test/libapt/getarchitectures_test.cc b/test/libapt/getarchitectures_test.cc
index f4dfc6ae8..53c00cd8f 100644
--- a/test/libapt/getarchitectures_test.cc
+++ b/test/libapt/getarchitectures_test.cc
@@ -6,56 +6,72 @@
#include <string>
#include <vector>
-#include "assert.h"
+#include <gtest/gtest.h>
-int main()
+TEST(ArchitecturesTest,SimpleLists)
{
- std::vector<std::string> vec;
-
- _config->Set("APT::Architectures::1", "i386");
- _config->Set("APT::Architectures::2", "amd64");
- vec = APT::Configuration::getArchitectures(false);
- equals(vec.size(), 2);
- equals(vec[0], "i386");
- equals(vec[1], "amd64");
-
- _config->Set("APT::Architecture", "i386");
- vec = APT::Configuration::getArchitectures(false);
- equals(vec.size(), 2);
- equals(vec[0], "i386");
- equals(vec[1], "amd64");
-
- _config->Set("APT::Architectures::2", "");
- vec = APT::Configuration::getArchitectures(false);
- equals(vec.size(), 1);
- equals(vec[0], "i386");
-
- _config->Set("APT::Architecture", "armel");
- vec = APT::Configuration::getArchitectures(false);
- equals(vec.size(), 2);
- equals(vec[0], "armel");
- equals(vec[1], "i386");
-
- _config->Set("APT::Architectures::2", "armel");
- vec = APT::Configuration::getArchitectures(false);
- equals(vec.size(), 2);
- equals(vec[0], "i386");
- equals(vec[1], "armel");
-
- _config->Set("APT::Architectures::2", "amd64");
- _config->Set("APT::Architectures::3", "i386");
- _config->Set("APT::Architectures::4", "armel");
- _config->Set("APT::Architectures::5", "i386");
- _config->Set("APT::Architectures::6", "amd64");
- _config->Set("APT::Architectures::7", "armel");
- _config->Set("APT::Architectures::8", "armel");
- _config->Set("APT::Architectures::9", "amd64");
- _config->Set("APT::Architectures::10", "amd64");
- vec = APT::Configuration::getArchitectures(false);
- equals(vec.size(), 3);
- equals(vec[0], "i386");
- equals(vec[1], "amd64");
- equals(vec[2], "armel");
-
- return 0;
+ _config->Clear();
+ std::vector<std::string> vec;
+
+ _config->Set("APT::Architectures::1", "i386");
+ _config->Set("APT::Architectures::2", "amd64");
+ vec = APT::Configuration::getArchitectures(false);
+ ASSERT_EQ(2, vec.size());
+ EXPECT_EQ("i386", vec[0]);
+ EXPECT_EQ("amd64", vec[1]);
+
+ _config->Set("APT::Architecture", "i386");
+ vec = APT::Configuration::getArchitectures(false);
+ ASSERT_EQ(2, vec.size());
+ EXPECT_EQ("i386", vec[0]);
+ EXPECT_EQ("amd64", vec[1]);
+
+ _config->Set("APT::Architectures::2", "");
+ vec = APT::Configuration::getArchitectures(false);
+ ASSERT_EQ(1, vec.size());
+ EXPECT_EQ("i386", vec[0]);
+
+ _config->Set("APT::Architecture", "armel");
+ vec = APT::Configuration::getArchitectures(false);
+ ASSERT_EQ(2, vec.size());
+ EXPECT_EQ("armel", vec[0]);
+ EXPECT_EQ("i386", vec[1]);
+
+ _config->Set("APT::Architectures::2", "armel");
+ vec = APT::Configuration::getArchitectures(false);
+ ASSERT_EQ(2, vec.size());
+ EXPECT_EQ("i386", vec[0]);
+ EXPECT_EQ("armel", vec[1]);
+
+ _config->Set("APT::Architectures", "armel,armhf");
+ vec = APT::Configuration::getArchitectures(false);
+ ASSERT_EQ(2, vec.size());
+ EXPECT_EQ("armel", vec[0]);
+ EXPECT_EQ("armhf", vec[1]);
+ _config->Clear();
+}
+TEST(ArchitecturesTest,Duplicates)
+{
+ _config->Clear();
+
+ _config->Set("APT::Architecture", "armel");
+ _config->Set("APT::Architectures::", "i386");
+ _config->Set("APT::Architectures::", "amd64");
+ _config->Set("APT::Architectures::", "i386");
+ _config->Set("APT::Architectures::", "armel");
+ _config->Set("APT::Architectures::", "i386");
+ _config->Set("APT::Architectures::", "amd64");
+ _config->Set("APT::Architectures::", "armel");
+ _config->Set("APT::Architectures::", "armel");
+ _config->Set("APT::Architectures::", "amd64");
+ _config->Set("APT::Architectures::", "amd64");
+ std::vector<std::string> vec = _config->FindVector("APT::Architectures");
+ ASSERT_EQ(10, vec.size());
+ vec = APT::Configuration::getArchitectures(false);
+ ASSERT_EQ(3, vec.size());
+ EXPECT_EQ("i386", vec[0]);
+ EXPECT_EQ("amd64", vec[1]);
+ EXPECT_EQ("armel", vec[2]);
+
+ _config->Clear();
}
diff --git a/test/libapt/getlanguages_test.cc b/test/libapt/getlanguages_test.cc
index 15aa4e879..c50ff6ff8 100644
--- a/test/libapt/getlanguages_test.cc
+++ b/test/libapt/getlanguages_test.cc
@@ -2,199 +2,233 @@
#include <apt-pkg/aptconfiguration.h>
#include <apt-pkg/configuration.h>
+#include <apt-pkg/fileutl.h>
-#include "assert.h"
+#include <algorithm>
+#include <iostream>
#include <string>
#include <vector>
-#include <iostream>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+
+#include <gtest/gtest.h>
+
+#include "file-helpers.h"
+
+TEST(LanguagesTest,Environment)
+{
+ _config->Clear();
+
+ char const* env[2];
+ env[0] = "de_DE.UTF-8";
+ env[1] = "";
+
+ std::vector<std::string> vec = APT::Configuration::getLanguages(false, false, env);
+ ASSERT_EQ(3 ,vec.size());
+ EXPECT_EQ("de_DE", vec[0]);
+ EXPECT_EQ("de", vec[1]);
+ EXPECT_EQ("en", vec[2]);
+
+ // Special: Check if the cache is actually in use
+ env[0] = "en_GB.UTF-8";
+ vec = APT::Configuration::getLanguages(false, true, env);
+ ASSERT_EQ(3, vec.size());
+ EXPECT_EQ("de_DE", vec[0]);
+ EXPECT_EQ("de", vec[1]);
+ EXPECT_EQ("en", vec[2]);
+
+ env[0] = "en_GB.UTF-8";
+ vec = APT::Configuration::getLanguages(false, false, env);
+ ASSERT_EQ(2, vec.size());
+ EXPECT_EQ("en_GB", vec[0]);
+ EXPECT_EQ("en", vec[1]);
+
+ // esperanto
+ env[0] = "eo.UTF-8";
+ vec = APT::Configuration::getLanguages(false, false, env);
+ ASSERT_EQ(2, vec.size());
+ EXPECT_EQ("eo", vec[0]);
+ EXPECT_EQ("en", vec[1]);
+
+ env[0] = "tr_DE@euro";
+ vec = APT::Configuration::getLanguages(false, false, env);
+ EXPECT_EQ(3, vec.size());
+ EXPECT_EQ("tr_DE", vec[0]);
+ EXPECT_EQ("tr", vec[1]);
+ EXPECT_EQ("en", vec[2]);
+
+ env[0] = "de_NO";
+ env[1] = "de_NO:en_GB:nb_NO:nb:no_NO:no:nn_NO:nn:da:sv:en";
+ vec = APT::Configuration::getLanguages(false, false, env);
+ EXPECT_EQ(6, vec.size());
+ EXPECT_EQ("de_NO", vec[0]);
+ EXPECT_EQ("de", vec[1]);
+ EXPECT_EQ("en_GB", vec[2]);
+ EXPECT_EQ("nb_NO", vec[3]);
+ EXPECT_EQ("nb", vec[4]);
+ EXPECT_EQ("en", vec[5]);
+
+ env[0] = "pt_PR.UTF-8";
+ env[1] = "";
+ vec = APT::Configuration::getLanguages(false, false, env);
+ EXPECT_EQ(3, vec.size());
+ EXPECT_EQ("pt_PR", vec[0]);
+ EXPECT_EQ("pt", vec[1]);
+ EXPECT_EQ("en", vec[2]);
+
+ env[0] = "ast_DE.UTF-8";
+ vec = APT::Configuration::getLanguages(false, false, env); // bogus, but syntactical correct
+ EXPECT_EQ(3, vec.size());
+ EXPECT_EQ("ast_DE", vec[0]);
+ EXPECT_EQ("ast", vec[1]);
+ EXPECT_EQ("en", vec[2]);
+
+ env[0] = "C";
+ vec = APT::Configuration::getLanguages(false, false, env);
+ EXPECT_EQ(1, vec.size());
+ EXPECT_EQ("en", vec[0]);
+
+ _config->Set("Acquire::Languages", "none");
+ env[0] = "C";
+ vec = APT::Configuration::getLanguages(false, false, env);
+ EXPECT_TRUE(vec.empty());
+
+ _config->Set("Acquire::Languages", "environment");
+ env[0] = "C";
+ vec = APT::Configuration::getLanguages(false, false, env);
+ EXPECT_EQ(1, vec.size());
+ EXPECT_EQ("en", vec[0]);
+
+ _config->Set("Acquire::Languages", "de");
+ env[0] = "C";
+ vec = APT::Configuration::getLanguages(false, false, env);
+ EXPECT_EQ(1, vec.size());
+ EXPECT_EQ("de", vec[0]);
+
+ _config->Set("Acquire::Languages", "fr");
+ env[0] = "ast_DE.UTF-8";
+ vec = APT::Configuration::getLanguages(false, false, env);
+ EXPECT_EQ(1, vec.size());
+ EXPECT_EQ("fr", vec[0]);
+
+ _config->Set("Acquire::Languages", "environment,en");
+ env[0] = "de_DE.UTF-8";
+ vec = APT::Configuration::getLanguages(false, false, env);
+ EXPECT_EQ(3, vec.size());
+ EXPECT_EQ("de_DE", vec[0]);
+ EXPECT_EQ("de", vec[1]);
+ EXPECT_EQ("en", vec[2]);
+ _config->Set("Acquire::Languages", "");
+
+ _config->Set("Acquire::Languages::1", "environment");
+ _config->Set("Acquire::Languages::2", "en");
+ env[0] = "de_DE.UTF-8";
+ vec = APT::Configuration::getLanguages(false, false, env);
+ EXPECT_EQ(3, vec.size());
+ EXPECT_EQ("de_DE", vec[0]);
+ EXPECT_EQ("de", vec[1]);
+ EXPECT_EQ("en", vec[2]);
+
+ _config->Set("Acquire::Languages::3", "de");
+ env[0] = "de_DE.UTF-8";
+ vec = APT::Configuration::getLanguages(false, false, env);
+ EXPECT_EQ(3, vec.size());
+ EXPECT_EQ("de_DE", vec[0]);
+ EXPECT_EQ("de", vec[1]);
+ EXPECT_EQ("en", vec[2]);
+
+ _config->Clear();
+}
-int main(int argc,char *argv[])
+TEST(LanguagesTest,TranslationFiles)
{
- if (argc != 2) {
- std::cout << "One parameter expected - given " << argc << std::endl;
- return 100;
- }
-
- char const* env[2];
- env[0] = "de_DE.UTF-8";
- env[1] = "";
-
- std::vector<std::string> vec = APT::Configuration::getLanguages(false, false, env);
- equals(vec.size(), 3);
- equals(vec[0], "de_DE");
- equals(vec[1], "de");
- equals(vec[2], "en");
-
- // Special: Check if the cache is actually in use
- env[0] = "en_GB.UTF-8";
- vec = APT::Configuration::getLanguages(false, true, env);
- equals(vec.size(), 3);
- equals(vec[0], "de_DE");
- equals(vec[1], "de");
- equals(vec[2], "en");
-
- env[0] = "en_GB.UTF-8";
- vec = APT::Configuration::getLanguages(false, false, env);
- equals(vec.size(), 2);
- equals(vec[0], "en_GB");
- equals(vec[1], "en");
-
- // esperanto
- env[0] = "eo.UTF-8";
- vec = APT::Configuration::getLanguages(false, false, env);
- equals(vec.size(), 2);
- equals(vec[0], "eo");
- equals(vec[1], "en");
-
- env[0] = "tr_DE@euro";
- vec = APT::Configuration::getLanguages(false, false, env);
- equals(vec.size(), 3);
- equals(vec[0], "tr_DE");
- equals(vec[1], "tr");
- equals(vec[2], "en");
-
- env[0] = "de_NO";
- env[1] = "de_NO:en_GB:nb_NO:nb:no_NO:no:nn_NO:nn:da:sv:en";
- vec = APT::Configuration::getLanguages(false, false, env);
- equals(vec.size(), 6);
- equals(vec[0], "de_NO");
- equals(vec[1], "de");
- equals(vec[2], "en_GB");
- equals(vec[3], "nb_NO");
- equals(vec[4], "nb");
- equals(vec[5], "en");
-
- env[0] = "pt_PR.UTF-8";
- env[1] = "";
- vec = APT::Configuration::getLanguages(false, false, env);
- equals(vec.size(), 3);
- equals(vec[0], "pt_PR");
- equals(vec[1], "pt");
- equals(vec[2], "en");
-
- env[0] = "ast_DE.UTF-8";
- vec = APT::Configuration::getLanguages(false, false, env); // bogus, but syntactical correct
- equals(vec.size(), 3);
- equals(vec[0], "ast_DE");
- equals(vec[1], "ast");
- equals(vec[2], "en");
-
- env[0] = "C";
- vec = APT::Configuration::getLanguages(false, false, env);
- equals(vec.size(), 1);
- equals(vec[0], "en");
-
- _config->Set("Acquire::Languages", "none");
- env[0] = "C";
- vec = APT::Configuration::getLanguages(false, false, env);
- equals(vec.size(), 0);
-
- _config->Set("Acquire::Languages", "environment");
- env[0] = "C";
- vec = APT::Configuration::getLanguages(false, false, env);
- equals(vec.size(), 1);
- equals(vec[0], "en");
-
- _config->Set("Acquire::Languages", "de");
- env[0] = "C";
- vec = APT::Configuration::getLanguages(false, false, env);
- equals(vec.size(), 1);
- equals(vec[0], "de");
-
- _config->Set("Acquire::Languages", "fr");
- env[0] = "ast_DE.UTF-8";
- vec = APT::Configuration::getLanguages(false, false, env);
- equals(vec.size(), 1);
- equals(vec[0], "fr");
-
- _config->Set("Acquire::Languages", "environment,en");
- env[0] = "de_DE.UTF-8";
- vec = APT::Configuration::getLanguages(false, false, env);
- equals(vec.size(), 3);
- equals(vec[0], "de_DE");
- equals(vec[1], "de");
- equals(vec[2], "en");
- _config->Set("Acquire::Languages", "");
-
- _config->Set("Acquire::Languages::1", "environment");
- _config->Set("Acquire::Languages::2", "en");
- env[0] = "de_DE.UTF-8";
- vec = APT::Configuration::getLanguages(false, false, env);
- equals(vec.size(), 3);
- equals(vec[0], "de_DE");
- equals(vec[1], "de");
- equals(vec[2], "en");
-
- _config->Set("Acquire::Languages::3", "de");
- env[0] = "de_DE.UTF-8";
- vec = APT::Configuration::getLanguages(false, false, env);
- equals(vec.size(), 3);
- equals(vec[0], "de_DE");
- equals(vec[1], "de");
- equals(vec[2], "en");
-
- _config->Set("Dir::State::lists", argv[1]);
- vec = APT::Configuration::getLanguages(true, false, env);
- equals(vec.size(), 8);
- equals(vec[0], "de_DE");
- equals(vec[1], "de");
- equals(vec[2], "en");
- equals(vec[3], "none");
- equalsOr4(vec[4], "pt", "tr", "ast_DE", "tlh_DE");
- equalsOr4(vec[5], "tr", "pt", "ast_DE", "tlh_DE");
- equalsOr4(vec[6], "tr", "pt", "ast_DE", "tlh_DE");
- equalsOr4(vec[7], "tr", "pt", "ast_DE", "tlh_DE");
- equalsNot(vec[4], vec[5]);
- equalsNot(vec[4], vec[6]);
- equalsNot(vec[4], vec[7]);
- equalsNot(vec[5], vec[6]);
- equalsNot(vec[5], vec[7]);
- equalsNot(vec[6], vec[7]);
-
- _config->Set("Acquire::Languages", "none");
- vec = APT::Configuration::getLanguages(true, false, env);
- equals(vec.size(), 1);
- equals(vec[0], "none");
- _config->Set("Acquire::Languages", "");
-
- _config->Set("Dir::State::lists", "/non-existing-dir");
- _config->Set("Acquire::Languages::1", "none");
- env[0] = "de_DE.UTF-8";
- vec = APT::Configuration::getLanguages(false, false, env);
- equals(vec.size(), 0);
- env[0] = "de_DE.UTF-8";
- vec = APT::Configuration::getLanguages(true, false, env);
- equals(vec.size(), 2);
- equals(vec[0], "en");
- equals(vec[1], "de");
-
- _config->Set("Acquire::Languages::1", "fr");
- _config->Set("Acquire::Languages", "de_DE");
- env[0] = "de_DE.UTF-8";
- vec = APT::Configuration::getLanguages(false, false, env);
- equals(vec.size(), 1);
- equals(vec[0], "de_DE");
-
- _config->Set("Acquire::Languages", "none");
- env[0] = "de_DE.UTF-8";
- vec = APT::Configuration::getLanguages(true, false, env);
- equals(vec.size(), 1);
- equals(vec[0], "none");
-
- _config->Set("Acquire::Languages", "");
- //FIXME: Remove support for this deprecated setting
- _config->Set("APT::Acquire::Translation", "ast_DE");
- env[0] = "de_DE.UTF-8";
- vec = APT::Configuration::getLanguages(true, false, env);
- equals(vec.size(), 2);
- equals(vec[0], "ast_DE");
- equals(vec[1], "en");
- _config->Set("APT::Acquire::Translation", "none");
- env[0] = "de_DE.UTF-8";
- vec = APT::Configuration::getLanguages(true, false, env);
- equals(vec.size(), 1);
- equals(vec[0], "en");
-
- return 0;
+ _config->Clear();
+ _config->Set("Acquire::Languages::1", "environment");
+ _config->Set("Acquire::Languages::2", "en");
+ _config->Set("Acquire::Languages::3", "de");
+
+ char const* env[2];
+ env[0] = "de_DE.UTF-8";
+ env[1] = "";
+
+ std::string tempdir;
+ createTemporaryDirectory("languages", tempdir);
+
+#define createTranslation(lang) \
+ createFile(tempdir, std::string("/ftp.de.debian.org_debian_dists_sid_main_i18n_Translation-").append(lang));
+
+ createTranslation("tr");
+ createTranslation("pt");
+ createTranslation("se~");
+ createTranslation("st.bak");
+ createTranslation("ast_DE");
+ createTranslation("tlh%5fDE");
+
+ _config->Set("Dir::State::lists", tempdir);
+ std::vector<std::string> vec = APT::Configuration::getLanguages(true, false, env);
+ EXPECT_EQ(8, vec.size());
+ EXPECT_EQ("de_DE", vec[0]);
+ EXPECT_EQ("de", vec[1]);
+ EXPECT_EQ("en", vec[2]);
+ EXPECT_EQ("none", vec[3]);
+ EXPECT_NE(vec.end(), std::find(vec.begin(), vec.end(), "pt"));
+ EXPECT_NE(vec.end(), std::find(vec.begin(), vec.end(), "tr"));
+ EXPECT_NE(vec.end(), std::find(vec.begin(), vec.end(), "ast_DE"));
+ EXPECT_NE(vec.end(), std::find(vec.begin(), vec.end(), "tlh_DE"));
+ EXPECT_NE(vec[4], vec[5]);
+ EXPECT_NE(vec[4], vec[6]);
+ EXPECT_NE(vec[4], vec[7]);
+ EXPECT_NE(vec[5], vec[6]);
+ EXPECT_NE(vec[5], vec[7]);
+ EXPECT_NE(vec[6], vec[7]);
+
+ _config->Set("Acquire::Languages", "none");
+ vec = APT::Configuration::getLanguages(true, false, env);
+ EXPECT_EQ(1, vec.size());
+ EXPECT_EQ("none", vec[0]);
+ _config->Set("Acquire::Languages", "");
+
+ _config->Set("Dir::State::lists", "/non-existing-dir");
+ _config->Set("Acquire::Languages::1", "none");
+ env[0] = "de_DE.UTF-8";
+ vec = APT::Configuration::getLanguages(false, false, env);
+ EXPECT_TRUE(vec.empty());
+ env[0] = "de_DE.UTF-8";
+ vec = APT::Configuration::getLanguages(true, false, env);
+ EXPECT_EQ(2, vec.size());
+ EXPECT_EQ("en", vec[0]);
+ EXPECT_EQ("de", vec[1]);
+
+ _config->Set("Acquire::Languages::1", "fr");
+ _config->Set("Acquire::Languages", "de_DE");
+ env[0] = "de_DE.UTF-8";
+ vec = APT::Configuration::getLanguages(false, false, env);
+ EXPECT_EQ(1, vec.size());
+ EXPECT_EQ("de_DE", vec[0]);
+
+ _config->Set("Acquire::Languages", "none");
+ env[0] = "de_DE.UTF-8";
+ vec = APT::Configuration::getLanguages(true, false, env);
+ EXPECT_EQ(1, vec.size());
+ EXPECT_EQ("none", vec[0]);
+
+ _config->Set("Acquire::Languages", "");
+ //FIXME: Remove support for this deprecated setting
+ _config->Set("APT::Acquire::Translation", "ast_DE");
+ env[0] = "de_DE.UTF-8";
+ vec = APT::Configuration::getLanguages(true, false, env);
+ EXPECT_EQ(2, vec.size());
+ EXPECT_EQ("ast_DE", vec[0]);
+ EXPECT_EQ("en", vec[1]);
+ _config->Set("APT::Acquire::Translation", "none");
+ env[0] = "de_DE.UTF-8";
+ vec = APT::Configuration::getLanguages(true, false, env);
+ EXPECT_EQ(1, vec.size());
+ EXPECT_EQ("en", vec[0]);
+
+
+ EXPECT_EQ(0, system(std::string("rm -rf ").append(tempdir).c_str()));
+ _config->Clear();
}
diff --git a/test/libapt/getlistoffilesindir_test.cc b/test/libapt/getlistoffilesindir_test.cc
index df125fc83..2369c911a 100644
--- a/test/libapt/getlistoffilesindir_test.cc
+++ b/test/libapt/getlistoffilesindir_test.cc
@@ -6,71 +6,102 @@
#include <vector>
#include <iostream>
-#include "assert.h"
+#include <gtest/gtest.h>
-#define P(x) std::string(argv[1]).append("/").append(x)
+#include "file-helpers.h"
-int main(int argc,char *argv[])
+#define P(x) std::string(tempdir).append("/").append(x)
+
+TEST(FileUtlTest,GetListOfFilesInDir)
{
- if (argc != 2) {
- std::cout << "One parameter expected - given " << argc << std::endl;
- return 100;
- }
-
- // Files with no extension
- std::vector<std::string> files = GetListOfFilesInDir(argv[1], "", true);
- equals(files.size(), 2);
- equals(files[0], P("01yet-anothernormalfile"));
- equals(files[1], P("anormalfile"));
-
- // Files with no extension - should be the same as above
- files = GetListOfFilesInDir(argv[1], "", true, true);
- equals(files.size(), 2);
- equals(files[0], P("01yet-anothernormalfile"));
- equals(files[1], P("anormalfile"));
-
- // Files with impossible extension
- files = GetListOfFilesInDir(argv[1], "impossible", true);
- equals(files.size(), 0);
-
- // Files with impossible or no extension
- files = GetListOfFilesInDir(argv[1], "impossible", true, true);
- equals(files.size(), 2);
- equals(files[0], P("01yet-anothernormalfile"));
- equals(files[1], P("anormalfile"));
-
- // Files with list extension - nothing more
- files = GetListOfFilesInDir(argv[1], "list", true);
- equals(files.size(), 4);
- equals(files[0], P("01yet-anotherapt.list"));
- equals(files[1], P("anormalapt.list"));
- equals(files[2], P("linkedfile.list"));
- equals(files[3], P("multi.dot.list"));
-
- // Files with conf or no extension
- files = GetListOfFilesInDir(argv[1], "conf", true, true);
- equals(files.size(), 5);
- equals(files[0], P("01yet-anotherapt.conf"));
- equals(files[1], P("01yet-anothernormalfile"));
- equals(files[2], P("anormalapt.conf"));
- equals(files[3], P("anormalfile"));
- equals(files[4], P("multi.dot.conf"));
-
- // Files with disabled extension - nothing more
- files = GetListOfFilesInDir(argv[1], "disabled", true);
- equals(files.size(), 3);
- equals(files[0], P("disabledfile.conf.disabled"));
- equals(files[1], P("disabledfile.disabled"));
- equals(files[2], P("disabledfile.list.disabled"));
-
- // Files with disabled or no extension
- files = GetListOfFilesInDir(argv[1], "disabled", true, true);
- equals(files.size(), 5);
- equals(files[0], P("01yet-anothernormalfile"));
- equals(files[1], P("anormalfile"));
- equals(files[2], P("disabledfile.conf.disabled"));
- equals(files[3], P("disabledfile.disabled"));
- equals(files[4], P("disabledfile.list.disabled"));
-
- return 0;
+ std::string tempdir;
+ createTemporaryDirectory("getlistoffiles", tempdir);
+
+ createFile(tempdir, "anormalfile");
+ createFile(tempdir, "01yet-anothernormalfile");
+ createFile(tempdir, "anormalapt.conf");
+ createFile(tempdir, "01yet-anotherapt.conf");
+ createFile(tempdir, "anormalapt.list");
+ createFile(tempdir, "01yet-anotherapt.list");
+ createFile(tempdir, "wrongextension.wron");
+ createFile(tempdir, "wrong-extension.wron");
+ createFile(tempdir, "strangefile.");
+ createFile(tempdir, "s.t.r.a.n.g.e.f.i.l.e");
+ createFile(tempdir, ".hiddenfile");
+ createFile(tempdir, ".hiddenfile.conf");
+ createFile(tempdir, ".hiddenfile.list");
+ createFile(tempdir, "multi..dot");
+ createFile(tempdir, "multi.dot.conf");
+ createFile(tempdir, "multi.dot.list");
+ createFile(tempdir, "disabledfile.disabled");
+ createFile(tempdir, "disabledfile.conf.disabled");
+ createFile(tempdir, "disabledfile.list.disabled");
+ createFile(tempdir, "invälid.conf");
+ createFile(tempdir, "invalíd");
+ createFile(tempdir, "01invalíd");
+ createDirectory(tempdir, "invaliddir");
+ createDirectory(tempdir, "directory.conf");
+ createDirectory(tempdir, "directory.list");
+ createDirectory(tempdir, "directory.wron");
+ createDirectory(tempdir, "directory.list.disabled");
+ createLink(tempdir, "anormalfile", "linkedfile.list");
+ createLink(tempdir, "invaliddir", "linkeddir.list");
+ createLink(tempdir, "non-existing-file", "brokenlink.list");
+
+ // Files with no extension
+ std::vector<std::string> files = GetListOfFilesInDir(tempdir, "", true);
+ ASSERT_EQ(2, files.size());
+ EXPECT_EQ(P("01yet-anothernormalfile"), files[0]);
+ EXPECT_EQ(P("anormalfile"), files[1]);
+
+ // Files with no extension - should be the same as above
+ files = GetListOfFilesInDir(tempdir, "", true, true);
+ ASSERT_EQ(2, files.size());
+ EXPECT_EQ(P("01yet-anothernormalfile"), files[0]);
+ EXPECT_EQ(P("anormalfile"), files[1]);
+
+ // Files with impossible extension
+ files = GetListOfFilesInDir(tempdir, "impossible", true);
+ EXPECT_TRUE(files.empty());
+
+ // Files with impossible or no extension
+ files = GetListOfFilesInDir(tempdir, "impossible", true, true);
+ ASSERT_EQ(2, files.size());
+ EXPECT_EQ(P("01yet-anothernormalfile"), files[0]);
+ EXPECT_EQ(P("anormalfile"), files[1]);
+
+ // Files with list extension - nothing more
+ files = GetListOfFilesInDir(tempdir, "list", true);
+ ASSERT_EQ(4, files.size());
+ EXPECT_EQ(P("01yet-anotherapt.list"), files[0]);
+ EXPECT_EQ(P("anormalapt.list"), files[1]);
+ EXPECT_EQ(P("linkedfile.list"), files[2]);
+ EXPECT_EQ(P("multi.dot.list"), files[3]);
+
+ // Files with conf or no extension
+ files = GetListOfFilesInDir(tempdir, "conf", true, true);
+ ASSERT_EQ(5, files.size());
+ EXPECT_EQ(P("01yet-anotherapt.conf"), files[0]);
+ EXPECT_EQ(P("01yet-anothernormalfile"), files[1]);
+ EXPECT_EQ(P("anormalapt.conf"), files[2]);
+ EXPECT_EQ(P("anormalfile"), files[3]);
+ EXPECT_EQ(P("multi.dot.conf"), files[4]);
+
+ // Files with disabled extension - nothing more
+ files = GetListOfFilesInDir(tempdir, "disabled", true);
+ ASSERT_EQ(3, files.size());
+ EXPECT_EQ(P("disabledfile.conf.disabled"), files[0]);
+ EXPECT_EQ(P("disabledfile.disabled"), files[1]);
+ EXPECT_EQ(P("disabledfile.list.disabled"), files[2]);
+
+ // Files with disabled or no extension
+ files = GetListOfFilesInDir(tempdir, "disabled", true, true);
+ ASSERT_EQ(5, files.size());
+ EXPECT_EQ(P("01yet-anothernormalfile"), files[0]);
+ EXPECT_EQ(P("anormalfile"), files[1]);
+ EXPECT_EQ(P("disabledfile.conf.disabled"), files[2]);
+ EXPECT_EQ(P("disabledfile.disabled"), files[3]);
+ EXPECT_EQ(P("disabledfile.list.disabled"), files[4]);
+
+ removeDirectory(tempdir);
}
diff --git a/test/libapt/globalerror_test.cc b/test/libapt/globalerror_test.cc
index e913fdc12..05b95db85 100644
--- a/test/libapt/globalerror_test.cc
+++ b/test/libapt/globalerror_test.cc
@@ -7,110 +7,129 @@
#include <errno.h>
#include <string.h>
-#include "assert.h"
+#include <gtest/gtest.h>
-int main()
+TEST(GlobalErrorTest,BasicDiscard)
{
- std::string const textOfErrnoZero(strerror(0));
+ GlobalError e;
+ EXPECT_TRUE(e.empty());
+ EXPECT_FALSE(e.PendingError());
+ EXPECT_FALSE(e.Notice("%s Notice", "A"));
+ EXPECT_TRUE(e.empty());
+ EXPECT_FALSE(e.empty(GlobalError::DEBUG));
+ EXPECT_FALSE(e.PendingError());
+ EXPECT_FALSE(e.Error("%s horrible %s %d times", "Something", "happened", 2));
+ EXPECT_TRUE(e.PendingError());
- equals(_error->empty(), true);
- equals(_error->PendingError(), false);
- equals(_error->Notice("%s Notice", "A"), false);
- equals(_error->empty(), true);
- equals(_error->empty(GlobalError::DEBUG), false);
- equals(_error->PendingError(), false);
- equals(_error->Error("%s horrible %s %d times", "Something", "happened", 2), false);
- equals(_error->PendingError(), true);
- std::string text;
- equals(_error->PopMessage(text), false);
- equals(_error->PendingError(), true);
- equals(text, "A Notice");
- equals(_error->PopMessage(text), true);
- equals(text, "Something horrible happened 2 times");
- equals(_error->empty(GlobalError::DEBUG), true);
- equals(_error->PendingError(), false);
- equals(_error->Error("%s horrible %s %d times", "Something", "happened", 2), false);
- equals(_error->PendingError(), true);
- equals(_error->empty(GlobalError::FATAL), false);
- _error->Discard();
+ std::string text;
+ EXPECT_FALSE(e.PopMessage(text));
+ EXPECT_TRUE(e.PendingError());
+ EXPECT_EQ("A Notice", text);
+ EXPECT_TRUE(e.PopMessage(text));
+ EXPECT_EQ("Something horrible happened 2 times", text);
+ EXPECT_TRUE(e.empty(GlobalError::DEBUG));
+ EXPECT_FALSE(e.PendingError());
+ EXPECT_FALSE(e.Error("%s horrible %s %d times", "Something", "happened", 2));
+ EXPECT_TRUE(e.PendingError());
+ EXPECT_FALSE(e.empty(GlobalError::FATAL));
+ e.Discard();
- equals(_error->empty(), true);
- equals(_error->PendingError(), false);
- equals(_error->Notice("%s Notice", "A"), false);
- equals(_error->Error("%s horrible %s %d times", "Something", "happened", 2), false);
- equals(_error->PendingError(), true);
- equals(_error->empty(GlobalError::NOTICE), false);
- _error->PushToStack();
- equals(_error->empty(GlobalError::NOTICE), true);
- equals(_error->PendingError(), false);
- equals(_error->Warning("%s Warning", "A"), false);
- equals(_error->empty(GlobalError::ERROR), true);
- equals(_error->PendingError(), false);
- _error->RevertToStack();
- equals(_error->empty(GlobalError::ERROR), false);
- equals(_error->PendingError(), true);
- equals(_error->PopMessage(text), false);
- equals(_error->PendingError(), true);
- equals(text, "A Notice");
- equals(_error->PopMessage(text), true);
- equals(text, "Something horrible happened 2 times");
- equals(_error->PendingError(), false);
- equals(_error->empty(), true);
-
- equals(_error->Notice("%s Notice", "A"), false);
- equals(_error->Error("%s horrible %s %d times", "Something", "happened", 2), false);
- equals(_error->PendingError(), true);
- equals(_error->empty(GlobalError::NOTICE), false);
- _error->PushToStack();
- equals(_error->empty(GlobalError::NOTICE), true);
- equals(_error->PendingError(), false);
- equals(_error->Warning("%s Warning", "A"), false);
- equals(_error->empty(GlobalError::ERROR), true);
- equals(_error->PendingError(), false);
- _error->MergeWithStack();
- equals(_error->empty(GlobalError::ERROR), false);
- equals(_error->PendingError(), true);
- equals(_error->PopMessage(text), false);
- equals(_error->PendingError(), true);
- equals(text, "A Notice");
- equals(_error->PopMessage(text), true);
- equals(text, "Something horrible happened 2 times");
- equals(_error->PendingError(), false);
- equals(_error->empty(), false);
- equals(_error->PopMessage(text), false);
- equals(text, "A Warning");
- equals(_error->empty(), true);
-
- errno = 0;
- equals(_error->Errno("errno", "%s horrible %s %d times", "Something", "happened", 2), false);
- equals(_error->empty(), false);
- equals(_error->PendingError(), true);
- equals(_error->PopMessage(text), true);
- equals(_error->PendingError(), false);
- equals(text, std::string("Something horrible happened 2 times - errno (0: ").append(textOfErrnoZero).append(")"));
- equals(_error->empty(), true);
+ EXPECT_TRUE(e.empty());
+ EXPECT_FALSE(e.PendingError());
+}
+TEST(GlobalErrorTest,StackPushing)
+{
+ GlobalError e;
+ EXPECT_FALSE(e.Notice("%s Notice", "A"));
+ EXPECT_FALSE(e.Error("%s horrible %s %d times", "Something", "happened", 2));
+ EXPECT_TRUE(e.PendingError());
+ EXPECT_FALSE(e.empty(GlobalError::NOTICE));
+ e.PushToStack();
+ EXPECT_TRUE(e.empty(GlobalError::NOTICE));
+ EXPECT_FALSE(e.PendingError());
+ EXPECT_FALSE(e.Warning("%s Warning", "A"));
+ EXPECT_TRUE(e.empty(GlobalError::ERROR));
+ EXPECT_FALSE(e.PendingError());
+ e.RevertToStack();
+ EXPECT_FALSE(e.empty(GlobalError::ERROR));
+ EXPECT_TRUE(e.PendingError());
- std::string longText;
- for (size_t i = 0; i < 500; ++i)
- longText.append("a");
- equals(_error->Error("%s horrible %s %d times", longText.c_str(), "happened", 2), false);
- equals(_error->PopMessage(text), true);
- equals(text, std::string(longText).append(" horrible happened 2 times"));
+ std::string text;
+ EXPECT_FALSE(e.PopMessage(text));
+ EXPECT_TRUE(e.PendingError());
+ EXPECT_EQ("A Notice", text);
+ EXPECT_TRUE(e.PopMessage(text));
+ EXPECT_EQ("Something horrible happened 2 times", text);
+ EXPECT_FALSE(e.PendingError());
+ EXPECT_TRUE(e.empty());
- equals(_error->Errno("errno", "%s horrible %s %d times", longText.c_str(), "happened", 2), false);
- equals(_error->PopMessage(text), true);
- equals(text, std::string(longText).append(" horrible happened 2 times - errno (0: ").append(textOfErrnoZero).append(")"));
+ EXPECT_FALSE(e.Notice("%s Notice", "A"));
+ EXPECT_FALSE(e.Error("%s horrible %s %d times", "Something", "happened", 2));
+ EXPECT_TRUE(e.PendingError());
+ EXPECT_FALSE(e.empty(GlobalError::NOTICE));
+ e.PushToStack();
+ EXPECT_TRUE(e.empty(GlobalError::NOTICE));
+ EXPECT_FALSE(e.PendingError());
+ EXPECT_FALSE(e.Warning("%s Warning", "A"));
+ EXPECT_TRUE(e.empty(GlobalError::ERROR));
+ EXPECT_FALSE(e.PendingError());
+ e.MergeWithStack();
+ EXPECT_FALSE(e.empty(GlobalError::ERROR));
+ EXPECT_TRUE(e.PendingError());
+ EXPECT_FALSE(e.PopMessage(text));
+ EXPECT_TRUE(e.PendingError());
+ EXPECT_EQ("A Notice", text);
+ EXPECT_TRUE(e.PopMessage(text));
+ EXPECT_EQ("Something horrible happened 2 times", text);
+ EXPECT_FALSE(e.PendingError());
+ EXPECT_FALSE(e.empty());
+ EXPECT_FALSE(e.PopMessage(text));
+ EXPECT_EQ("A Warning", text);
+ EXPECT_TRUE(e.empty());
+}
+TEST(GlobalErrorTest,Errno)
+{
+ GlobalError e;
+ std::string const textOfErrnoZero(strerror(0));
+ errno = 0;
+ EXPECT_FALSE(e.Errno("errno", "%s horrible %s %d times", "Something", "happened", 2));
+ EXPECT_FALSE(e.empty());
+ EXPECT_TRUE(e.PendingError());
+ std::string text;
+ EXPECT_TRUE(e.PopMessage(text));
+ EXPECT_FALSE(e.PendingError());
+ EXPECT_EQ(std::string("Something horrible happened 2 times - errno (0: ").append(textOfErrnoZero).append(")"), text);
+ EXPECT_TRUE(e.empty());
+}
+TEST(GlobalErrorTest,LongMessage)
+{
+ GlobalError e;
+ std::string const textOfErrnoZero(strerror(0));
+ errno = 0;
+ std::string text, longText;
+ for (size_t i = 0; i < 500; ++i)
+ longText.append("a");
+ EXPECT_FALSE(e.Error("%s horrible %s %d times", longText.c_str(), "happened", 2));
+ EXPECT_TRUE(e.PopMessage(text));
+ EXPECT_EQ(std::string(longText).append(" horrible happened 2 times"), text);
- equals(_error->Warning("Репозиторий не обновлён и будут %d %s", 4, "test"), false);
- equals(_error->PopMessage(text), false);
- equals(text, "Репозиторий не обновлён и будут 4 test");
+ EXPECT_FALSE(e.Errno("errno", "%s horrible %s %d times", longText.c_str(), "happened", 2));
+ EXPECT_TRUE(e.PopMessage(text));
+ EXPECT_EQ(std::string(longText).append(" horrible happened 2 times - errno (0: ").append(textOfErrnoZero).append(")"), text);
+}
+TEST(GlobalErrorTest,UTF8Message)
+{
+ GlobalError e;
+ std::string text;
- longText.clear();
- for (size_t i = 0; i < 50; ++i)
- longText.append("РезийбёбAZ");
- equals(_error->Warning("%s", longText.c_str()), false);
- equals(_error->PopMessage(text), false);
- equals(text, longText);
+ EXPECT_FALSE(e.Warning("Репозиторий не обновлён и будут %d %s", 4, "test"));
+ EXPECT_FALSE(e.PopMessage(text));
+ EXPECT_EQ("Репозиторий не обновлён и будут 4 test", text);
- return 0;
+ std::string longText;
+ for (size_t i = 0; i < 50; ++i)
+ longText.append("РезийбёбAZ");
+ EXPECT_FALSE(e.Warning("%s", longText.c_str()));
+ EXPECT_FALSE(e.PopMessage(text));
+ EXPECT_EQ(longText, text);
}
diff --git a/test/libapt/gtest_runner.cc b/test/libapt/gtest_runner.cc
new file mode 100644
index 000000000..5823c55de
--- /dev/null
+++ b/test/libapt/gtest_runner.cc
@@ -0,0 +1,19 @@
+#include <gtest/gtest.h>
+#include <apt-pkg/error.h>
+int main(int argc, char **argv) {
+ ::testing::InitGoogleTest(&argc, argv);
+ int result = RUN_ALL_TESTS();
+ if (_error->empty() == false)
+ {
+ std::cerr << "The test generated the following global messages:" << std::endl;
+ _error->DumpErrors(std::cerr);
+ // messages on the stack can't be right, error out
+ // even if we have no idea where this message came from
+ if (result == 0)
+ {
+ std::cerr << "All tests successful, but messages were generated, so still a failure!" << std::endl;
+ return 29;
+ }
+ }
+ return result;
+}
diff --git a/test/libapt/hashsums_test.cc b/test/libapt/hashsums_test.cc
index d743faec6..c06d85e03 100644
--- a/test/libapt/hashsums_test.cc
+++ b/test/libapt/hashsums_test.cc
@@ -11,7 +11,9 @@
#include <stdlib.h>
#include <string>
-#include "assert.h"
+#include <gtest/gtest.h>
+
+#include "file-helpers.h"
template <class T> void Test(const char *In,const char *Out)
{
@@ -20,167 +22,201 @@ template <class T> void Test(const char *In,const char *Out)
equals(Sum.Result().Value(), Out);
}
-template <class T> void TestMill(const char *Out)
+
+
+TEST(HashSumsTest,SummationStrings)
{
- T Sum;
+#define EXPECT_SUM(Summation, In, Out) \
+ { \
+ Summation Sum; \
+ Sum.Add(In); \
+ EXPECT_EQ(Sum.Result().Value(), Out) << #Summation << " for '" << In << "'"; \
+ }
+
+ // From FIPS PUB 180-1
+ EXPECT_SUM(SHA1Summation, "","da39a3ee5e6b4b0d3255bfef95601890afd80709");
+ EXPECT_SUM(SHA1Summation, "abc","a9993e364706816aba3e25717850c26c9cd0d89d");
+ EXPECT_SUM(SHA1Summation, "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
+ "84983e441c3bd26ebaae4aa1f95129e5e54670f1");
+
+ // MD5 tests from RFC 1321
+ EXPECT_SUM(MD5Summation, "","d41d8cd98f00b204e9800998ecf8427e");
+ EXPECT_SUM(MD5Summation, "a","0cc175b9c0f1b6a831c399e269772661");
+ EXPECT_SUM(MD5Summation, "abc","900150983cd24fb0d6963f7d28e17f72");
+ EXPECT_SUM(MD5Summation, "message digest","f96b697d7cb7938d525a2f31aaf161d0");
+ EXPECT_SUM(MD5Summation, "abcdefghijklmnopqrstuvwxyz","c3fcd3d76192e4007dfb496cca67e13b");
+ EXPECT_SUM(MD5Summation, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",
+ "d174ab98d277d9f5a5611c2c9f419d9f");
+ EXPECT_SUM(MD5Summation, "12345678901234567890123456789012345678901234567890123456789012345678901234567890",
+ "57edf4a22be3c955ac49da2e2107b67a");
- const unsigned char As[] = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
- unsigned Count = 1000000;
- for (; Count != 0;)
+ // SHA-256, From FIPS 180-2
+ EXPECT_SUM(SHA256Summation, "", "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855");
+ EXPECT_SUM(SHA256Summation, "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
+ "248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1");
+
+ // SHA-512
+ EXPECT_SUM(SHA512Summation, "",
+ "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce"
+ "47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e");
+ EXPECT_SUM(SHA512Summation, "abc",
+ "ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a"
+ "2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f");
+
+
+ EXPECT_SUM(MD5Summation, "The quick brown fox jumps over the lazy dog", "9e107d9d372bb6826bd81d3542a419d6");
+ EXPECT_SUM(MD5Summation, "The quick brown fox jumps over the lazy dog.", "e4d909c290d0fb1ca068ffaddf22cbd0");
+ EXPECT_SUM(SHA1Summation, "The quick brown fox jumps over the lazy dog", "2fd4e1c67a2d28fced849ee1bb76e7391b93eb12");
+ EXPECT_SUM(SHA1Summation, "The quick brown fox jumps over the lazy cog", "de9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3");
+ EXPECT_SUM(SHA256Summation, "The quick brown fox jumps over the lazy dog", "d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592");
+ EXPECT_SUM(SHA256Summation, "The quick brown fox jumps over the lazy dog.", "ef537f25c895bfa782526529a9b63d97aa631564d5d789c2b765448c8635fb6c");
+ EXPECT_SUM(SHA512Summation, "The quick brown fox jumps over the lazy dog", "07e547d9586f6a73f73fbac0435ed76951218fb7d0c8d788a309d785436bbb64"
+ "2e93a252a954f23912547d1e8a3b5ed6e1bfd7097821233fa0538f3db854fee6");
+ EXPECT_SUM(SHA512Summation, "The quick brown fox jumps over the lazy dog.", "91ea1245f20d46ae9a037a989f54f1f790f0a47607eeb8a14d12890cea77a1bb"
+ "c6c7ed9cf205e67b7f2b8fd4c7dfd3a7a8617e45f3c463d481c7e586c39ac1ed");
+
+#undef EXPECT_SUM
+}
+TEST(HashSumsTest, Mill)
+{
+ SHA1Summation Sum1;
+
+ const unsigned char As[] = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
+ size_t const AsCount = sizeof(As)/sizeof(As[0]) - 1;
+ size_t Count = 1000000;
+ while (Count != 0)
{
- if (Count >= 64)
+ if (Count >= AsCount)
{
- Sum.Add(As,64);
- Count -= 64;
+ Sum1.Add(As, AsCount);
+ Count -= AsCount;
}
else
{
- Sum.Add(As,Count);
+ Sum1.Add(As,Count);
Count = 0;
}
}
- if (stringcasecmp(Sum.Result().Value(), Out) != 0)
- abort();
+ EXPECT_EQ("34aa973cd4c4daa4f61eeb2bdbad27316534016f", Sum1.Result().Value());
}
-int main(int argc, char** argv)
+static void getSummationString(char const * const type, std::string &sum)
{
- if (argc != 6) {
- std::cout << "Five parameter expected - given " << argc << std::endl;
- return 100;
- }
+ /* to compare our result with an independent source we call the specific binaries
+ and read their result back. We do this with a little trick by claiming that the
+ summation is a compressor – and open the 'compressed' file later on directly to
+ read out the summation sum calculated by it */
+ APT::Configuration::Compressor compress(type, ".ext", type, NULL, NULL, 99);
+ std::string name("apt-test-");
+ name.append("hashsums").append(".XXXXXX");
+ char * tempfile = strdup(name.c_str());
+ int tempfile_fd = mkstemp(tempfile);
+ close(tempfile_fd);
+ ASSERT_NE(-1, tempfile_fd);
+
+ FileFd fd;
+ ASSERT_TRUE(fd.Open(tempfile, FileFd::WriteOnly | FileFd::Empty, compress));
+ ASSERT_TRUE(fd.IsOpen());
+ FileFd input(__FILE__, FileFd::ReadOnly);
+ ASSERT_TRUE(input.IsOpen());
+ ASSERT_NE(0, input.FileSize());
+ ASSERT_TRUE(CopyFile(input, fd));
+ ASSERT_TRUE(input.IsOpen());
+ ASSERT_TRUE(fd.IsOpen());
+ ASSERT_FALSE(fd.Failed());
+ input.Close();
+ fd.Close();
+ ASSERT_TRUE(fd.Open(tempfile, FileFd::ReadOnly, FileFd::None));
+ ASSERT_TRUE(fd.IsOpen());
+ ASSERT_NE(0, fd.FileSize());
+ ASSERT_FALSE(fd.Failed());
+ unlink(tempfile);
+ free(tempfile);
+ char readback[2000];
+ unsigned long long actual;
+ ASSERT_TRUE(fd.Read(readback, sizeof(readback)/sizeof(readback[0]), &actual));
+ actual -= 4;
+ readback[actual] = '\0';
+ sum = readback;
+}
+TEST(HashSumsTest, FileBased)
+{
+ std::string summation;
- // test HashSumValue which doesn't calculate but just stores sums
- {
- std::string md5sum = argv[2];
- MD5SumValue md5(md5sum);
- equals(md5.Value(), md5sum);
- }
- {
- std::string sha1sum = argv[3];
- SHA1SumValue sha1(sha1sum);
- equals(sha1.Value(), sha1sum);
- }
- {
- std::string sha2sum = argv[4];
- SHA256SumValue sha2(sha2sum);
- equals(sha2.Value(), sha2sum);
- }
- {
- std::string sha2sum = argv[5];
- SHA512SumValue sha2(sha2sum);
- equals(sha2.Value(), sha2sum);
- }
+ getSummationString("md5sum", summation);
+ MD5SumValue md5(summation);
+ EXPECT_EQ(md5.Value(), summation);
- // From FIPS PUB 180-1
- Test<SHA1Summation>("","da39a3ee5e6b4b0d3255bfef95601890afd80709");
- Test<SHA1Summation>("abc","a9993e364706816aba3e25717850c26c9cd0d89d");
- Test<SHA1Summation>("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
- "84983e441c3bd26ebaae4aa1f95129e5e54670f1");
- TestMill<SHA1Summation>("34aa973cd4c4daa4f61eeb2bdbad27316534016f");
+ getSummationString("sha1sum", summation);
+ SHA1SumValue sha1(summation);
+ EXPECT_EQ(sha1.Value(), summation);
- // MD5 tests from RFC 1321
- Test<MD5Summation>("","d41d8cd98f00b204e9800998ecf8427e");
- Test<MD5Summation>("a","0cc175b9c0f1b6a831c399e269772661");
- Test<MD5Summation>("abc","900150983cd24fb0d6963f7d28e17f72");
- Test<MD5Summation>("message digest","f96b697d7cb7938d525a2f31aaf161d0");
- Test<MD5Summation>("abcdefghijklmnopqrstuvwxyz","c3fcd3d76192e4007dfb496cca67e13b");
- Test<MD5Summation>("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",
- "d174ab98d277d9f5a5611c2c9f419d9f");
- Test<MD5Summation>("12345678901234567890123456789012345678901234567890123456789012345678901234567890",
- "57edf4a22be3c955ac49da2e2107b67a");
+ getSummationString("sha256sum", summation);
+ SHA256SumValue sha256(summation);
+ EXPECT_EQ(sha256.Value(), summation);
- // SHA-256, From FIPS 180-2
- Test<SHA256Summation>("", "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855");
- Test<SHA256Summation>("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
- "248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1");
+ getSummationString("sha512sum", summation);
+ SHA512SumValue sha512(summation);
+ EXPECT_EQ(sha512.Value(), summation);
+
+ FileFd fd(__FILE__, FileFd::ReadOnly);
+ EXPECT_TRUE(fd.IsOpen());
- // SHA-512
- Test<SHA512Summation>("",
- "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce"
- "47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e");
- Test<SHA512Summation>(
- "abc",
- "ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a"
- "2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f");
-
-
- Test<MD5Summation>("The quick brown fox jumps over the lazy dog", "9e107d9d372bb6826bd81d3542a419d6");
- Test<MD5Summation>("The quick brown fox jumps over the lazy dog.", "e4d909c290d0fb1ca068ffaddf22cbd0");
- Test<SHA1Summation>("The quick brown fox jumps over the lazy dog", "2fd4e1c67a2d28fced849ee1bb76e7391b93eb12");
- Test<SHA1Summation>("The quick brown fox jumps over the lazy cog", "de9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3");
- Test<SHA256Summation>("The quick brown fox jumps over the lazy dog", "d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592");
- Test<SHA256Summation>("The quick brown fox jumps over the lazy dog.", "ef537f25c895bfa782526529a9b63d97aa631564d5d789c2b765448c8635fb6c");
- Test<SHA512Summation>("The quick brown fox jumps over the lazy dog", "07e547d9586f6a73f73fbac0435ed76951218fb7d0c8d788a309d785436bbb64"
- "2e93a252a954f23912547d1e8a3b5ed6e1bfd7097821233fa0538f3db854fee6");
- Test<SHA512Summation>("The quick brown fox jumps over the lazy dog.", "91ea1245f20d46ae9a037a989f54f1f790f0a47607eeb8a14d12890cea77a1bb"
- "c6c7ed9cf205e67b7f2b8fd4c7dfd3a7a8617e45f3c463d481c7e586c39ac1ed");
-
- FileFd fd(argv[1], FileFd::ReadOnly);
- if (fd.IsOpen() == false) {
- std::cerr << "Can't open file for 1. testing: " << argv[1] << std::endl;
- return 1;
- }
{
- Hashes hashes;
- hashes.AddFD(fd.Fd());
- equals(argv[2], hashes.MD5.Result().Value());
- equals(argv[3], hashes.SHA1.Result().Value());
- equals(argv[4], hashes.SHA256.Result().Value());
- equals(argv[5], hashes.SHA512.Result().Value());
+ Hashes hashes;
+ hashes.AddFD(fd.Fd());
+ EXPECT_EQ(md5.Value(), hashes.MD5.Result().Value());
+ EXPECT_EQ(sha1.Value(), hashes.SHA1.Result().Value());
+ EXPECT_EQ(sha256.Value(), hashes.SHA256.Result().Value());
+ EXPECT_EQ(sha512.Value(), hashes.SHA512.Result().Value());
}
unsigned long sz = fd.FileSize();
fd.Seek(0);
{
- Hashes hashes;
- hashes.AddFD(fd.Fd(), sz);
- equals(argv[2], hashes.MD5.Result().Value());
- equals(argv[3], hashes.SHA1.Result().Value());
- equals(argv[4], hashes.SHA256.Result().Value());
- equals(argv[5], hashes.SHA512.Result().Value());
+ Hashes hashes;
+ hashes.AddFD(fd.Fd(), sz);
+ EXPECT_EQ(md5.Value(), hashes.MD5.Result().Value());
+ EXPECT_EQ(sha1.Value(), hashes.SHA1.Result().Value());
+ EXPECT_EQ(sha256.Value(), hashes.SHA256.Result().Value());
+ EXPECT_EQ(sha512.Value(), hashes.SHA512.Result().Value());
}
fd.Seek(0);
{
- MD5Summation md5;
- md5.AddFD(fd.Fd());
- equals(argv[2], md5.Result().Value());
+ MD5Summation MD5;
+ MD5.AddFD(fd.Fd());
+ EXPECT_EQ(md5.Value(), MD5.Result().Value());
}
fd.Seek(0);
{
- SHA1Summation sha1;
- sha1.AddFD(fd.Fd());
- equals(argv[3], sha1.Result().Value());
+ SHA1Summation SHA1;
+ SHA1.AddFD(fd.Fd());
+ EXPECT_EQ(sha1.Value(), SHA1.Result().Value());
}
fd.Seek(0);
{
- SHA256Summation sha2;
- sha2.AddFD(fd.Fd());
- equals(argv[4], sha2.Result().Value());
+ SHA256Summation SHA2;
+ SHA2.AddFD(fd.Fd());
+ EXPECT_EQ(sha256.Value(), SHA2.Result().Value());
}
fd.Seek(0);
{
- SHA512Summation sha2;
- sha2.AddFD(fd.Fd());
- equals(argv[5], sha2.Result().Value());
+ SHA512Summation SHA2;
+ SHA2.AddFD(fd.Fd());
+ EXPECT_EQ(sha512.Value(), SHA2.Result().Value());
}
fd.Close();
- // test HashString code
{
- HashString sha2("SHA256", argv[4]);
- equals(sha2.VerifyFile(argv[1]), true);
+ HashString sha2("SHA256", sha256.Value());
+ EXPECT_TRUE(sha2.VerifyFile(__FILE__));
}
{
- HashString sha2("SHA512", argv[5]);
- equals(sha2.VerifyFile(argv[1]), true);
+ HashString sha2("SHA512", sha512.Value());
+ EXPECT_TRUE(sha2.VerifyFile(__FILE__));
}
{
- HashString sha2("SHA256:" + std::string(argv[4]));
- equals(sha2.VerifyFile(argv[1]), true);
+ HashString sha2("SHA256:" + sha256.Value());
+ EXPECT_TRUE(sha2.VerifyFile(__FILE__));
}
-
- return 0;
}
-
-
diff --git a/test/libapt/indexcopytosourcelist_test.cc b/test/libapt/indexcopytosourcelist_test.cc
index e04ab261b..bec87601f 100644
--- a/test/libapt/indexcopytosourcelist_test.cc
+++ b/test/libapt/indexcopytosourcelist_test.cc
@@ -7,30 +7,35 @@
#include <string>
#include <stdio.h>
-#include "assert.h"
+#include <gtest/gtest.h>
class NoCopy : public IndexCopy {
-public:
- std::string ConvertToSourceList(std::string CD,std::string Path) {
- IndexCopy::ConvertToSourceList(CD, Path);
- return Path;
- }
- bool GetFile(std::string &/*Filename*/, unsigned long long &/*Size*/) { return false; }
- bool RewriteEntry(FILE * /*Target*/, std::string /*File*/) { return false; }
- const char *GetFileName() { return NULL; }
- const char *Type() { return NULL; }
+ public:
+ std::string ConvertToSourceList(std::string CD,std::string Path) {
+ IndexCopy::ConvertToSourceList(CD, Path);
+ return Path;
+ }
+ bool GetFile(std::string &/*Filename*/, unsigned long long &/*Size*/) { return false; }
+ bool RewriteEntry(FILE * /*Target*/, std::string /*File*/) { return false; }
+ const char *GetFileName() { return NULL; }
+ const char *Type() { return NULL; }
};
-int main() {
+TEST(IndexCopyTest, ConvertToSourceList)
+{
NoCopy ic;
std::string const CD("/media/cdrom/");
char const * Releases[] = { "unstable", "wheezy-updates", NULL };
char const * Components[] = { "main", "non-free", NULL };
- for (char const ** Release = Releases; *Release != NULL; ++Release) {
- for (char const ** Component = Components; *Component != NULL; ++Component) {
+ for (char const ** Release = Releases; *Release != NULL; ++Release)
+ {
+ SCOPED_TRACE(std::string("Release ") + *Release);
+ for (char const ** Component = Components; *Component != NULL; ++Component)
+ {
+ SCOPED_TRACE(std::string("Component ") + *Component);
std::string const Path = std::string("dists/") + *Release + "/" + *Component + "/";
std::string const Binary = Path + "binary-";
std::string const A = Binary + "armel/";
@@ -41,49 +46,47 @@ int main() {
_config->Clear("APT");
APT::Configuration::getArchitectures(false);
- equals(ic.ConvertToSourceList("/media/cdrom/", CD + A), A);
- equals(ic.ConvertToSourceList("/media/cdrom/", CD + B), B);
- equals(ic.ConvertToSourceList("/media/cdrom/", CD + C), C);
- equals(ic.ConvertToSourceList("/media/cdrom/", CD + S), List);
+ EXPECT_EQ(A, ic.ConvertToSourceList("/media/cdrom/", CD + A));
+ EXPECT_EQ(B, ic.ConvertToSourceList("/media/cdrom/", CD + B));
+ EXPECT_EQ(C, ic.ConvertToSourceList("/media/cdrom/", CD + C));
+ EXPECT_EQ(List, ic.ConvertToSourceList("/media/cdrom/", CD + S));
_config->Clear("APT");
_config->Set("APT::Architecture", "mips");
_config->Set("APT::Architectures::", "mips");
APT::Configuration::getArchitectures(false);
- equals(ic.ConvertToSourceList("/media/cdrom/", CD + A), A);
- equals(ic.ConvertToSourceList("/media/cdrom/", CD + B), List);
- equals(ic.ConvertToSourceList("/media/cdrom/", CD + C), C);
- equals(ic.ConvertToSourceList("/media/cdrom/", CD + S), List);
+ EXPECT_EQ(A, ic.ConvertToSourceList("/media/cdrom/", CD + A));
+ EXPECT_EQ(List, ic.ConvertToSourceList("/media/cdrom/", CD + B));
+ EXPECT_EQ(C, ic.ConvertToSourceList("/media/cdrom/", CD + C));
+ EXPECT_EQ(List, ic.ConvertToSourceList("/media/cdrom/", CD + S));
_config->Clear("APT");
_config->Set("APT::Architecture", "kfreebsd-mips");
_config->Set("APT::Architectures::", "kfreebsd-mips");
APT::Configuration::getArchitectures(false);
- equals(ic.ConvertToSourceList("/media/cdrom/", CD + A), A);
- equals(ic.ConvertToSourceList("/media/cdrom/", CD + B), B);
- equals(ic.ConvertToSourceList("/media/cdrom/", CD + C), List);
- equals(ic.ConvertToSourceList("/media/cdrom/", CD + S), List);
+ EXPECT_EQ(A, ic.ConvertToSourceList("/media/cdrom/", CD + A));
+ EXPECT_EQ(B, ic.ConvertToSourceList("/media/cdrom/", CD + B));
+ EXPECT_EQ(List, ic.ConvertToSourceList("/media/cdrom/", CD + C));
+ EXPECT_EQ(List, ic.ConvertToSourceList("/media/cdrom/", CD + S));
_config->Clear("APT");
_config->Set("APT::Architecture", "armel");
_config->Set("APT::Architectures::", "armel");
APT::Configuration::getArchitectures(false);
- equals(ic.ConvertToSourceList("/media/cdrom/", CD + A), List);
- equals(ic.ConvertToSourceList("/media/cdrom/", CD + B), B);
- equals(ic.ConvertToSourceList("/media/cdrom/", CD + C), C);
- equals(ic.ConvertToSourceList("/media/cdrom/", CD + S), List);
+ EXPECT_EQ(List, ic.ConvertToSourceList("/media/cdrom/", CD + A));
+ EXPECT_EQ(B, ic.ConvertToSourceList("/media/cdrom/", CD + B));
+ EXPECT_EQ(C, ic.ConvertToSourceList("/media/cdrom/", CD + C));
+ EXPECT_EQ(List, ic.ConvertToSourceList("/media/cdrom/", CD + S));
_config->Clear("APT");
_config->Set("APT::Architecture", "armel");
_config->Set("APT::Architectures::", "armel");
_config->Set("APT::Architectures::", "mips");
APT::Configuration::getArchitectures(false);
- equals(ic.ConvertToSourceList("/media/cdrom/", CD + A), List);
- equals(ic.ConvertToSourceList("/media/cdrom/", CD + B), List);
- equals(ic.ConvertToSourceList("/media/cdrom/", CD + C), C);
- equals(ic.ConvertToSourceList("/media/cdrom/", CD + S), List);
+ EXPECT_EQ(List, ic.ConvertToSourceList("/media/cdrom/", CD + A));
+ EXPECT_EQ(List, ic.ConvertToSourceList("/media/cdrom/", CD + B));
+ EXPECT_EQ(C, ic.ConvertToSourceList("/media/cdrom/", CD + C));
+ EXPECT_EQ(List, ic.ConvertToSourceList("/media/cdrom/", CD + S));
}
}
-
- return 0;
}
diff --git a/test/libapt/install_progress_test.cc b/test/libapt/install_progress_test.cc
index be1a3411e..a70fc9261 100644
--- a/test/libapt/install_progress_test.cc
+++ b/test/libapt/install_progress_test.cc
@@ -4,27 +4,17 @@
#include <string>
-#include "assert.h"
+#include <gtest/gtest.h>
-int main() {
+TEST(InstallProgressTest, FancyGetTextProgressStr)
+{
APT::Progress::PackageManagerFancy p;
- std::string s;
- s= p.GetTextProgressStr(0.5, 60);
- equals(s.size(), 60);
-
- s= p.GetTextProgressStr(0.5, 4);
- equals(s, "[#.]");
-
- s= p.GetTextProgressStr(0.1, 12);
- equals(s, "[#.........]");
-
- s= p.GetTextProgressStr(0.9, 12);
- equals(s, "[#########.]");
+ EXPECT_EQ(60, p.GetTextProgressStr(0.5, 60).size());
+ EXPECT_EQ("[#.]", p.GetTextProgressStr(0.5, 4));
+ EXPECT_EQ("[#.........]", p.GetTextProgressStr(0.1, 12));
+ EXPECT_EQ("[#########.]", p.GetTextProgressStr(0.9, 12));
// deal with incorrect inputs gracefully (or should we die instead?)
- s= p.GetTextProgressStr(-999, 12);
- equals(s, "");
-
- return 0;
+ EXPECT_EQ("", p.GetTextProgressStr(-999, 12));
}
diff --git a/test/libapt/makefile b/test/libapt/makefile
index e03b5e6aa..69a13fd92 100644
--- a/test/libapt/makefile
+++ b/test/libapt/makefile
@@ -8,124 +8,66 @@ APT_DOMAIN=none
include ../../buildlib/defaults.mak
.PHONY: test
-test:
- ./run-tests
-
-# Program for testing getLanguageCode
-PROGRAM = getLanguages${BASENAME}
-SLIBS = -lapt-pkg
-SOURCE = getlanguages_test.cc
-include $(PROGRAM_H)
-
-PROGRAM = getArchitectures${BASENAME}
-SLIBS = -lapt-pkg
-SOURCE = getarchitectures_test.cc
-include $(PROGRAM_H)
-
-# Program for testing ParseDepends
-PROGRAM = ParseDepends${BASENAME}
-SLIBS = -lapt-pkg
-SOURCE = parsedepends_test.cc
-include $(PROGRAM_H)
-
-# Program for testing GetListOfFilesInDir
-PROGRAM = GetListOfFilesInDir${BASENAME}
-SLIBS = -lapt-pkg
-SOURCE = getlistoffilesindir_test.cc
-include $(PROGRAM_H)
-
-# Program for testing CommandLine reconstruction
-PROGRAM = Commandline${BASENAME}
-SLIBS = -lapt-pkg
-SOURCE = commandline_test.cc
-include $(PROGRAM_H)
-
-# Program for testing CommandLine reconstruction
-PROGRAM = CommandlineAsString${BASENAME}
-SLIBS = -lapt-pkg
-SOURCE = commandlineasstring_test.cc
-include $(PROGRAM_H)
-
-# Program for testing debians version comparing
-PROGRAM = CompareVersion${BASENAME}
-SLIBS = -lapt-pkg
-SOURCE = compareversion_test.cc
-include $(PROGRAM_H)
-
-# test the GlobalError stack class
-PROGRAM = GlobalError${BASENAME}
-SLIBS = -lapt-pkg
-SOURCE = globalerror_test.cc
-include $(PROGRAM_H)
-
-# test the different Hashsum classes
-PROGRAM = HashSums${BASENAME}
-SLIBS = -lapt-pkg
-SOURCE = hashsums_test.cc
-include $(PROGRAM_H)
-
-# test the strutils stuff
-PROGRAM = StrUtil${BASENAME}
-SLIBS = -lapt-pkg
-SOURCE = strutil_test.cc
-include $(PROGRAM_H)
-
-# test the URI parsing stuff
-PROGRAM = URI${BASENAME}
-SLIBS = -lapt-pkg
-SOURCE = uri_test.cc
-include $(PROGRAM_H)
-
-# test the Configuration class
-PROGRAM = Configuration${BASENAME}
-SLIBS = -lapt-pkg
-SOURCE = configuration_test.cc
-include $(PROGRAM_H)
-
-# test cdroms core FindPackages
-PROGRAM = CdromFindPackages${BASENAME}
-SLIBS = -lapt-pkg
-SOURCE = cdromfindpackages_test.cc
-include $(PROGRAM_H)
-
-# test cdroms index reduction for source.list
-PROGRAM = CdromReduceSourceList${BASENAME}
-SLIBS = -lapt-pkg
-SOURCE = cdromreducesourcelist_test.cc
-include $(PROGRAM_H)
-
-# test cdroms FindMountPointForDevice for udev autodetection
-PROGRAM = CdromFindMountPointForDevice${BASENAME}
-SLIBS = -lapt-pkg
-SOURCE = cdromfindmountpointfordevice_test.cc
-include $(PROGRAM_H)
-
-# test IndexCopy::ConvertToSourceList
-PROGRAM = IndexCopyToSourceList${BASENAME}
-SLIBS = -lapt-pkg
-SOURCE = indexcopytosourcelist_test.cc
-
-# test fileutls
-PROGRAM = FileUtl${BASENAME}
-SLIBS = -lapt-pkg
-SOURCE = fileutl_test.cc
-include $(PROGRAM_H)
-
-# test tagfile
-PROGRAM = PkgTagFile${BASENAME}
-SLIBS = -lapt-pkg
-SOURCE = tagfile_test.cc
-include $(PROGRAM_H)
-
-# test sourcelist
-PROGRAM = SourceList${BASENAME}
-SLIBS = -lapt-pkg
-SOURCE = sourcelist_test.cc
-include $(PROGRAM_H)
-
-# test install-progress
-PROGRAM = InstallProgress${BASENAME}
-SLIBS = -lapt-pkg
-SOURCE = install_progress_test.cc
-include $(PROGRAM_H)
-
+test: $(BIN)/gtest$(BASENAME)
+ MALLOC_PERTURB_=21 MALLOC_CHECK_=2 LD_LIBRARY_PATH=$(LIB) $(BIN)/gtest$(BASENAME)
+
+$(BIN)/gtest$(BASENAME): $(LIB)/gtest.a
+
+PROGRAM = gtest${BASENAME}
+SLIBS = -lapt-pkg -pthread $(LIB)/gtest.a
+LIB_MAKES = apt-pkg/makefile
+SOURCE = gtest_runner.cc $(wildcard *-helpers.cc *_test.cc)
+include $(PROGRAM_H)
+
+
+MKDIRS += $(OBJ) $(LIB)
+LOCAL=gtest
+SOURCE=gtest-all
+gtest-OBJS := $(addprefix $(OBJ)/,$(addsuffix .o,$(SOURCE)))
+
+# The rest of the file is based on the example found in
+# /usr/share/doc/libgtest-dev/examples/make/Makefile
+GTEST_DIR = /usr/src/gtest
+
+# Flags passed to the preprocessor.
+# Set Google Test's header directory as a system directory, such that
+# the compiler doesn't generate warnings in Google Test headers.
+CPPFLAGS += -isystem $(GTEST_DIR)/include
+
+# Flags passed to the C++ compiler.
+CXXFLAGS += -pthread
+# disable some flags for gtest again
+CXXFLAGS+= -Wno-missing-declarations
+CXXFLAGS+= -Wno-missing-field-initializers
+CXXFLAGS+= -Wno-suggest-attribute=pure -Wno-suggest-attribute=const -Wno-suggest-attribute=noreturn
+
+# All Google Test headers. Usually you shouldn't change this definition.
+GTEST_HEADERS = /usr/include/gtest/*.h \
+ /usr/include/gtest/internal/*.h
+
+# House-keeping build targets.
+.PHONY: clean/gtest veryclean/gtest
+clean: clean/gtest
+clean/gtest:
+ rm -f $(gtest-OBJS)
+veryclean: veryclean/gtest
+veryclean/gtest: clean/gtest
+ rm -f $(LIB)/gtest.a
+
+# Usually you shouldn't tweak such internal variables, indicated by a
+# trailing _.
+GTEST_SRCS_ = $(GTEST_DIR)/src/*.cc $(GTEST_DIR)/src/*.h $(GTEST_HEADERS)
+
+# Builds gtest.a
+# For simplicity and to avoid depending on Google Test's
+# implementation details, the dependencies specified below are
+# conservative and not optimized. This is fine as Google Test
+# compiles fast and for ordinary users its source rarely changes.
+$(gtest-OBJS): $(GTEST_SRCS_)
+ echo Compiling $@
+ $(CXX) $(CPPFLAGS) -I$(GTEST_DIR) $(CXXFLAGS) -c -o $@ $(GTEST_DIR)/src/$(notdir $(basename $@)).cc
+
+$(LIB)/gtest.a: $(OBJ)/gtest-all.o
+ echo Building static library $@
+ -rm -f $@
+ $(AR) $(ARFLAGS) $@ $^
diff --git a/test/libapt/parsedepends_test.cc b/test/libapt/parsedepends_test.cc
index 5564e2bc0..1e0afb66c 100644
--- a/test/libapt/parsedepends_test.cc
+++ b/test/libapt/parsedepends_test.cc
@@ -7,230 +7,238 @@
#include <string.h>
#include <string>
-#include "assert.h"
-
-int main() {
- std::string Package;
- std::string Version;
- unsigned int Op = 5;
- unsigned int Null = 0;
- bool StripMultiArch = true;
- bool ParseArchFlags = false;
- bool ParseRestrictionsList = false;
- _config->Set("APT::Architecture","amd64");
- _config->Set("APT::Build-Profiles","stage1");
-
- const char* Depends =
- "debhelper:any (>= 5.0), "
- "libdb-dev:any, "
- "gettext:native (<= 0.12), "
- "libcurl4-gnutls-dev:native | libcurl3-gnutls-dev (>> 7.15.5), "
- "debiandoc-sgml, "
- "apt (>= 0.7.25), "
- "not-for-me [ !amd64 ], "
- "only-for-me [ amd64 ], "
- "any-for-me [ any ], "
- "not-for-darwin [ !darwin-any ], "
- "cpu-for-me [ any-amd64 ], "
- "os-for-me [ linux-any ], "
- "cpu-not-for-me [ any-armel ], "
- "os-not-for-me [ kfreebsd-any ], "
- "not-in-stage1 <!profile.stage1>, "
- "not-in-stage1-or-nodoc <!profile.nodoc !profile.stage1>, "
- "only-in-stage1 <unknown.unknown profile.stage1>, "
- "overlord-dev:any (= 7.15.3~) | overlord-dev:native (>> 7.15.5), "
- ;
-
- unsigned short runner = 0;
+#include <gtest/gtest.h>
+
+static void parseDependency(bool const StripMultiArch, bool const ParseArchFlags, bool const ParseRestrictionsList)
+{
+ std::string Package;
+ std::string Version;
+ unsigned int Op = 5;
+ unsigned int Null = 0;
+ _config->Set("APT::Architecture","amd64");
+ _config->Set("APT::Build-Profiles","stage1");
+
+ const char* Depends =
+ "debhelper:any (>= 5.0), "
+ "libdb-dev:any, "
+ "gettext:native (<= 0.12), "
+ "libcurl4-gnutls-dev:native | libcurl3-gnutls-dev (>> 7.15.5), "
+ "debiandoc-sgml, "
+ "apt (>= 0.7.25), "
+ "not-for-me [ !amd64 ], "
+ "only-for-me [ amd64 ], "
+ "any-for-me [ any ], "
+ "not-for-darwin [ !darwin-any ], "
+ "cpu-for-me [ any-amd64 ], "
+ "os-for-me [ linux-any ], "
+ "cpu-not-for-me [ any-armel ], "
+ "os-not-for-me [ kfreebsd-any ], "
+ "not-in-stage1 <!profile.stage1>, "
+ "not-in-stage1-or-nodoc <!profile.nodoc !profile.stage1>, "
+ "only-in-stage1 <unknown.unknown profile.stage1>, "
+ "overlord-dev:any (= 7.15.3~) | overlord-dev:native (>> 7.15.5), "
+ ;
+
+ // Stripping MultiArch is currently the default setting to not confuse
+ // non-MultiArch capable users of the library with "strange" extensions.
+ const char* Start = Depends;
+ const char* End = Depends + strlen(Depends);
+
+ Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
+ if (StripMultiArch == true)
+ EXPECT_EQ("debhelper", Package);
+ else
+ EXPECT_EQ("debhelper:any", Package);
+ EXPECT_EQ("5.0", Version);
+ EXPECT_EQ(Null | pkgCache::Dep::GreaterEq, Op);
+
+ Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
+ if (StripMultiArch == true)
+ EXPECT_EQ("libdb-dev", Package);
+ else
+ EXPECT_EQ("libdb-dev:any", Package);
+ EXPECT_EQ("", Version);
+ EXPECT_EQ(Null | pkgCache::Dep::NoOp, Op);
+
+ Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
+ if (StripMultiArch == true)
+ EXPECT_EQ("gettext", Package);
+ else
+ EXPECT_EQ("gettext:native", Package);
+ EXPECT_EQ("0.12", Version);
+ EXPECT_EQ(Null | pkgCache::Dep::LessEq, Op);
+
+ Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
+ if (StripMultiArch == true)
+ EXPECT_EQ("libcurl4-gnutls-dev", Package);
+ else
+ EXPECT_EQ("libcurl4-gnutls-dev:native", Package);
+ EXPECT_EQ("", Version);
+ EXPECT_EQ(Null | pkgCache::Dep::Or, Op);
+
+ Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
+ EXPECT_EQ("libcurl3-gnutls-dev", Package);
+ EXPECT_EQ("7.15.5", Version);
+ EXPECT_EQ(Null | pkgCache::Dep::Greater, Op);
+
+ Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
+ EXPECT_EQ("debiandoc-sgml", Package);
+ EXPECT_EQ("", Version);
+ EXPECT_EQ(Null | pkgCache::Dep::NoOp, Op);
+
+ Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
+ EXPECT_EQ("apt", Package);
+ EXPECT_EQ("0.7.25", Version);
+ EXPECT_EQ(Null | pkgCache::Dep::GreaterEq, Op);
+
+ if (ParseArchFlags == true) {
+ Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
+ EXPECT_EQ("", Package); // not-for-me
+ } else {
+ EXPECT_EQ(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList));
+ Start = strstr(Start, ",");
+ Start++;
+ }
+
+ if (ParseArchFlags == true) {
+ Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
+ EXPECT_EQ("only-for-me", Package);
+ EXPECT_EQ("", Version);
+ EXPECT_EQ(Null | pkgCache::Dep::NoOp, Op);
+ } else {
+ EXPECT_EQ(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList));
+ Start = strstr(Start, ",");
+ Start++;
+ }
+
+ if (ParseArchFlags == true) {
+ Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
+ EXPECT_EQ("any-for-me", Package);
+ EXPECT_EQ("", Version);
+ EXPECT_EQ(Null | pkgCache::Dep::NoOp, Op);
+ } else {
+ EXPECT_EQ(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList));
+ Start = strstr(Start, ",");
+ Start++;
+ }
+
+ if (ParseArchFlags == true) {
+ Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
+ EXPECT_EQ("not-for-darwin", Package);
+ EXPECT_EQ("", Version);
+ EXPECT_EQ(Null | pkgCache::Dep::NoOp, Op);
+ } else {
+ EXPECT_EQ(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList));
+ Start = strstr(Start, ",");
+ Start++;
+ }
+
+ if (ParseArchFlags == true) {
+ Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
+ EXPECT_EQ("cpu-for-me", Package);
+ EXPECT_EQ("", Version);
+ EXPECT_EQ(Null | pkgCache::Dep::NoOp, Op);
+ } else {
+ EXPECT_EQ(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList));
+ Start = strstr(Start, ",");
+ Start++;
+ }
+
+ if (ParseArchFlags == true) {
+ Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
+ EXPECT_EQ("os-for-me", Package);
+ EXPECT_EQ("", Version);
+ EXPECT_EQ(Null | pkgCache::Dep::NoOp, Op);
+ } else {
+ EXPECT_EQ(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList));
+ Start = strstr(Start, ",");
+ Start++;
+ }
+
+ if (ParseArchFlags == true) {
+ Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
+ EXPECT_EQ("", Package); // cpu-not-for-me
+ } else {
+ EXPECT_EQ(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList));
+ Start = strstr(Start, ",");
+ Start++;
+ }
+
+ if (ParseArchFlags == true) {
+ Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
+ EXPECT_EQ("", Package); // os-not-for-me
+ } else {
+ EXPECT_EQ(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList));
+ Start = strstr(Start, ",");
+ Start++;
+ }
+
+ if (ParseRestrictionsList == true) {
+ Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
+ EXPECT_EQ("", Package); // not-in-stage1
+ } else {
+ EXPECT_EQ(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList));
+ Start = strstr(Start, ",");
+ Start++;
+ }
+
+ if (ParseRestrictionsList == true) {
+ Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
+ EXPECT_EQ("", Package); // not-in-stage1-or-in-nodoc
+ } else {
+ EXPECT_EQ(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList));
+ Start = strstr(Start, ",");
+ Start++;
+ }
+
+ if (ParseRestrictionsList == true) {
+ Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
+ EXPECT_EQ("only-in-stage1", Package);
+ } else {
+ EXPECT_EQ(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList));
+ Start = strstr(Start, ",");
+ Start++;
+ }
+
+ Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
+ if (StripMultiArch == true)
+ EXPECT_EQ("overlord-dev", Package);
+ else
+ EXPECT_EQ("overlord-dev:any", Package);
+ EXPECT_EQ("7.15.3~", Version);
+ EXPECT_EQ(Null | pkgCache::Dep::Equals | pkgCache::Dep::Or, Op);
+
+ debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
+ if (StripMultiArch == true)
+ EXPECT_EQ("overlord-dev", Package);
+ else
+ EXPECT_EQ("overlord-dev:native", Package);
+ EXPECT_EQ("7.15.5", Version);
+ EXPECT_EQ(Null | pkgCache::Dep::Greater, Op);
+}
+
+// FIXME: This testcase is too big/complex
+TEST(ParseDependsTest, Everything)
+{
+ bool StripMultiArch = true;
+ bool ParseArchFlags = false;
+ bool ParseRestrictionsList = false;
+ unsigned short runner = 0;
+
test:
-// std::clog << (StripMultiArch ? "NO-Multi" : "Multi") << " " << (ParseArchFlags ? "Flags" : "NO-Flags") << std::endl;
-
- // Stripping MultiArch is currently the default setting to not confuse
- // non-MultiArch capable users of the library with "strange" extensions.
- const char* Start = Depends;
- const char* End = Depends + strlen(Depends);
-
- Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
- if (StripMultiArch == true)
- equals("debhelper", Package);
- else
- equals("debhelper:any", Package);
- equals("5.0", Version);
- equals(Null | pkgCache::Dep::GreaterEq, Op);
-
- Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
- if (StripMultiArch == true)
- equals("libdb-dev", Package);
- else
- equals("libdb-dev:any", Package);
- equals("", Version);
- equals(Null | pkgCache::Dep::NoOp, Op);
-
- Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
- if (StripMultiArch == true)
- equals("gettext", Package);
- else
- equals("gettext:native", Package);
- equals("0.12", Version);
- equals(Null | pkgCache::Dep::LessEq, Op);
-
- Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
- if (StripMultiArch == true)
- equals("libcurl4-gnutls-dev", Package);
- else
- equals("libcurl4-gnutls-dev:native", Package);
- equals("", Version);
- equals(Null | pkgCache::Dep::Or, Op);
-
- Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
- equals("libcurl3-gnutls-dev", Package);
- equals("7.15.5", Version);
- equals(Null | pkgCache::Dep::Greater, Op);
-
- Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
- equals("debiandoc-sgml", Package);
- equals("", Version);
- equals(Null | pkgCache::Dep::NoOp, Op);
-
- Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
- equals("apt", Package);
- equals("0.7.25", Version);
- equals(Null | pkgCache::Dep::GreaterEq, Op);
-
- if (ParseArchFlags == true) {
- Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
- equals("", Package); // not-for-me
- } else {
- equals(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList));
- Start = strstr(Start, ",");
- Start++;
- }
-
- if (ParseArchFlags == true) {
- Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
- equals("only-for-me", Package);
- equals("", Version);
- equals(Null | pkgCache::Dep::NoOp, Op);
- } else {
- equals(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList));
- Start = strstr(Start, ",");
- Start++;
- }
-
- if (ParseArchFlags == true) {
- Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
- equals("any-for-me", Package);
- equals("", Version);
- equals(Null | pkgCache::Dep::NoOp, Op);
- } else {
- equals(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList));
- Start = strstr(Start, ",");
- Start++;
- }
-
- if (ParseArchFlags == true) {
- Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
- equals("not-for-darwin", Package);
- equals("", Version);
- equals(Null | pkgCache::Dep::NoOp, Op);
- } else {
- equals(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList));
- Start = strstr(Start, ",");
- Start++;
- }
-
- if (ParseArchFlags == true) {
- Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
- equals("cpu-for-me", Package);
- equals("", Version);
- equals(Null | pkgCache::Dep::NoOp, Op);
- } else {
- equals(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList));
- Start = strstr(Start, ",");
- Start++;
- }
-
- if (ParseArchFlags == true) {
- Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
- equals("os-for-me", Package);
- equals("", Version);
- equals(Null | pkgCache::Dep::NoOp, Op);
- } else {
- equals(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList));
- Start = strstr(Start, ",");
- Start++;
- }
-
- if (ParseArchFlags == true) {
- Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
- equals("", Package); // cpu-not-for-me
- } else {
- equals(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList));
- Start = strstr(Start, ",");
- Start++;
- }
-
- if (ParseArchFlags == true) {
- Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
- equals("", Package); // os-not-for-me
- } else {
- equals(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList));
- Start = strstr(Start, ",");
- Start++;
- }
-
- if (ParseRestrictionsList == true) {
- Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
- equals("", Package); // not-in-stage1
- } else {
- equals(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList));
- Start = strstr(Start, ",");
- Start++;
- }
-
- if (ParseRestrictionsList == true) {
- Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
- equals("", Package); // not-in-stage1-or-in-nodoc
- } else {
- equals(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList));
- Start = strstr(Start, ",");
- Start++;
- }
-
- if (ParseRestrictionsList == true) {
- Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
- equals("only-in-stage1", Package);
- } else {
- equals(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList));
- Start = strstr(Start, ",");
- Start++;
- }
-
- Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
- if (StripMultiArch == true)
- equals("overlord-dev", Package);
- else
- equals("overlord-dev:any", Package);
- equals("7.15.3~", Version);
- equals(Null | pkgCache::Dep::Equals | pkgCache::Dep::Or, Op);
-
- debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList);
- if (StripMultiArch == true)
- equals("overlord-dev", Package);
- else
- equals("overlord-dev:native", Package);
- equals("7.15.5", Version);
- equals(Null | pkgCache::Dep::Greater, Op);
-
- if (StripMultiArch == false)
- if (ParseArchFlags == false)
- ParseRestrictionsList = !ParseRestrictionsList;
- ParseArchFlags = !ParseArchFlags;
- StripMultiArch = !StripMultiArch;
-
- runner++;
- if (runner < 8)
- goto test; // this is the prove: tests are really evil ;)
-
- return 0;
+ {
+ SCOPED_TRACE(std::string("StripMultiArch: ") + (StripMultiArch ? "true" : "false"));
+ SCOPED_TRACE(std::string("ParseArchFlags: ") + (ParseArchFlags ? "true" : "false"));
+ SCOPED_TRACE(std::string("ParseRestrictionsList: ") + (ParseRestrictionsList ? "true" : "false"));
+ parseDependency(StripMultiArch, ParseArchFlags, ParseRestrictionsList);
+ }
+ if (StripMultiArch == false)
+ if (ParseArchFlags == false)
+ ParseRestrictionsList = !ParseRestrictionsList;
+ ParseArchFlags = !ParseArchFlags;
+ StripMultiArch = !StripMultiArch;
+
+ runner++;
+ if (runner < 8)
+ goto test; // this is the prove: tests are really evil ;)
}
diff --git a/test/libapt/run-tests b/test/libapt/run-tests
deleted file mode 100755
index 0baedcf9e..000000000
--- a/test/libapt/run-tests
+++ /dev/null
@@ -1,133 +0,0 @@
-#!/bin/sh
-set -e
-
-DIR=$(readlink -f $(dirname $0))
-if [ -z "$MAKELEVEL" ]; then
- echo 'Compiling the tests …'
- (cd $DIR && make)
- echo 'Running all testcases …'
-fi
-LDPATH="$DIR/../../build/bin"
-EXT="_libapt_test"
-EXIT_CODE=0
-
-# detect if output is on a terminal (colorful) or better not
-if expr match "$(readlink -f /proc/$$/fd/1)" '/dev/pts/[0-9]\+' > /dev/null; then
- COLHIGH='\033[1;35m'
- COLRESET='\033[0m'
- TESTOKAY='\033[1;32mOKAY\033[0m'
- TESTFAIL='\033[1;31mFAILED\033[0m'
-else
- COLHIGH=''
- COLRESET=''
- TESTOKAY='OK'
- TESTFAIL='###FAILED###'
-fi
-
-for testapp in $(ls ${LDPATH}/*$EXT)
-do
- name=$(basename ${testapp})
- NAME="${COLHIGH}${name}${COLRESET}"
- tmppath=""
-
- if [ $name = "GetListOfFilesInDir${EXT}" ]; then
- # TODO: very-low: move env creation to the actual test-app
- tmppath=$(mktemp -d)
- touch "${tmppath}/anormalfile" \
- "${tmppath}/01yet-anothernormalfile" \
- "${tmppath}/anormalapt.conf" \
- "${tmppath}/01yet-anotherapt.conf" \
- "${tmppath}/anormalapt.list" \
- "${tmppath}/01yet-anotherapt.list" \
- "${tmppath}/wrongextension.wron" \
- "${tmppath}/wrong-extension.wron" \
- "${tmppath}/strangefile." \
- "${tmppath}/s.t.r.a.n.g.e.f.i.l.e" \
- "${tmppath}/.hiddenfile" \
- "${tmppath}/.hiddenfile.conf" \
- "${tmppath}/.hiddenfile.list" \
- "${tmppath}/multi..dot" \
- "${tmppath}/multi.dot.conf" \
- "${tmppath}/multi.dot.list" \
- "${tmppath}/disabledfile.disabled" \
- "${tmppath}/disabledfile.conf.disabled" \
- "${tmppath}/disabledfile.list.disabled" \
- "${tmppath}/invälid.conf" \
- "${tmppath}/invalíd" \
- "${tmppath}/01invalíd"
- mkdir "${tmppath}/invaliddir" \
- "${tmppath}/directory.conf" \
- "${tmppath}/directory.list" \
- "${tmppath}/directory.wron" \
- "${tmppath}/directory.list.disabled"
- ln -s "${tmppath}/anormalfile" "${tmppath}/linkedfile.list"
- ln -s "${tmppath}/non-existing-file" "${tmppath}/brokenlink.list"
- elif [ $name = "getLanguages${EXT}" ]; then
- tmppath=$(mktemp -d)
- touch "${tmppath}/ftp.de.debian.org_debian_dists_sid_main_i18n_Translation-tr" \
- "${tmppath}/ftp.de.debian.org_debian_dists_sid_main_i18n_Translation-pt" \
- "${tmppath}/ftp.de.debian.org_debian_dists_sid_main_i18n_Translation-se~" \
- "${tmppath}/ftp.de.debian.org_debian_dists_sid_main_i18n_Translation-st.bak" \
- "${tmppath}/ftp.de.debian.org_debian_dists_sid_main_i18n_Translation-ast_DE" \
- "${tmppath}/ftp.de.debian.org_debian_dists_sid_main_i18n_Translation-tlh%5fDE"
- elif [ $name = "HashSums${EXT}" ]; then
- TMP="$(readlink -f "./${0}")"
- tmppath="$TMP"
- tmppath="${tmppath} $(md5sum $TMP | cut -d' ' -f 1)"
- tmppath="${tmppath} $(sha1sum $TMP | cut -d' ' -f 1)"
- tmppath="${tmppath} $(sha256sum $TMP | cut -d' ' -f 1)"
- tmppath="${tmppath} $(sha512sum $TMP | cut -d' ' -f 1)"
- elif [ $name = "CompareVersion${EXT}" ]; then
- tmppath="${DIR}/versions.lst"
- elif [ $name = "CdromFindPackages${EXT}" ]; then
- tmppath=$(mktemp -d)
- mkdir -p "${tmppath}/.disk" "${tmppath}/pool" \
- "${tmppath}/dists/stable/main/binary-i386" \
- "${tmppath}/dists/stable/main/source" \
- "${tmppath}/dists/stable/contrib/binary-amd64" \
- "${tmppath}/dists/stable/contrib/binary-all" \
- "${tmppath}/dists/unstable/main/binary-i386" \
- "${tmppath}/dists/unstable/main/i18n" \
- "${tmppath}/dists/unstable/main/source" \
- "${tmppath}/dists/broken/non-free/source"
- touch "${tmppath}/dists/broken/.aptignr" \
- "${tmppath}/dists/stable/main/binary-i386/Packages" \
- "${tmppath}/dists/stable/main/binary-i386/Packages.bz2" \
- "${tmppath}/dists/stable/main/source/Sources.xz" \
- "${tmppath}/dists/stable/contrib/binary-amd64/Packages" \
- "${tmppath}/dists/stable/contrib/binary-amd64/Packages.gz" \
- "${tmppath}/dists/stable/contrib/binary-all/Packages" \
- "${tmppath}/dists/unstable/main/binary-i386/Packages.xz" \
- "${tmppath}/dists/unstable/main/binary-i386/Packages.lzma" \
- "${tmppath}/dists/unstable/main/i18n/Translation-en" \
- "${tmppath}/dists/unstable/main/i18n/Translation-de.bz2" \
- "${tmppath}/dists/unstable/main/source/Sources.xz" \
- "${tmppath}/dists/broken/non-free/source/Sources.gz" \
- "${tmppath}/dists/stable/Release.gpg" \
- "${tmppath}/dists/stable/Release" \
- "${tmppath}/dists/unstable/InRelease" \
- "${tmppath}/dists/broken/Release.gpg"
- ln -s "${tmppath}/dists/unstable" "${tmppath}/dists/sid"
- elif [ $name = "CdromFindMountPointForDevice${EXT}" ]; then
- tmppath=$(mktemp)
- echo 'rootfs / rootfs rw 0 0
-sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
-sysfs0 /sys0 sysfs rw,nosuid,nodev,noexec,relatime 0 0
-/dev/disk/by-uuid/fadcbc52-6284-4874-aaaa-dcee1f05fe21 / ext4 rw,relatime,errors=remount-ro,data=ordered 0 0
-/dev/sda1 /boot/efi vfat rw,nosuid,nodev,noexec,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=437,iocharset=utf8,shortname=lower,quiet,utf8,errors=remount-ro,rw,nosuid,nodev,noexec,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=437,iocharset=utf8,shortname=lower,quiet,utf8,errors=remount-ro,rw,nosuid,nodev,noexec,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=437,iocharset=utf8,shortname=lower,quiet,utf8,errors=remount-ro,rw,nosuid,nodev,noexec,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=437,iocharset=utf8,shortname=lower,quiet,utf8,errors=remount-ro 0 0
-tmpfs /tmp tmpfs rw,nosuid,nodev,relatime 0 0' > $tmppath
- fi
-
- echo -n "Testing with ${NAME} "
- if MALLOC_PERTURB_=21 MALLOC_CHECK_=2 LD_LIBRARY_PATH=${LDPATH} ${testapp} ${tmppath} ; then
- echo "$TESTOKAY"
- else
- echo "$TESTFAIL"
- EXIT_CODE=1
- fi
-
- if [ -n "$tmppath" -a -d "$tmppath" ]; then
- rm -rf "$tmppath"
- fi
-done
-exit $EXIT_CODE
diff --git a/test/libapt/sourcelist_test.cc b/test/libapt/sourcelist_test.cc
index 71aa54f1e..eb2d76c43 100644
--- a/test/libapt/sourcelist_test.cc
+++ b/test/libapt/sourcelist_test.cc
@@ -1,6 +1,5 @@
#include <config.h>
-#include <apt-pkg/configuration.h>
#include <apt-pkg/sourcelist.h>
#include <apt-pkg/fileutl.h>
@@ -9,26 +8,20 @@
#include <string.h>
#include <unistd.h>
-#include "assert.h"
+#include <gtest/gtest.h>
-char *tempfile = NULL;
-int tempfile_fd = -1;
+#include "file-helpers.h"
-static void remove_tmpfile(void)
-{
- if (tempfile_fd > 0)
- close(tempfile_fd);
- if (tempfile != NULL) {
- unlink(tempfile);
- free(tempfile);
- }
-}
+class SourceList : public pkgSourceList {
+ public:
+ using pkgSourceList::ParseFileDeb822;
+};
-int main()
+TEST(SourceListTest,ParseFileDeb822)
{
- _config->Set("APT::Sources::Use-Deb822", true);
-
- const char contents[] = ""
+ FileFd fd;
+ char * tempfile;
+ createTemporaryFile("parsefiledeb822", fd, &tempfile,
"Types: deb\n"
"URIs: http://ftp.debian.org/debian\n"
"Suites: stable\n"
@@ -39,22 +32,12 @@ int main()
"Types: deb\n"
"URIs: http://ftp.debian.org/debian\n"
"Suites: unstable\n"
- "Sections: main non-free\n"
- ;
-
- FileFd fd;
- atexit(remove_tmpfile);
- tempfile = strdup("apt-test.XXXXXXXX");
- tempfile_fd = mkstemp(tempfile);
-
- /* (Re-)Open (as FileFd), write and seek to start of the temp file */
- equals(fd.OpenDescriptor(tempfile_fd, FileFd::ReadWrite), true);
- equals(fd.Write(contents, strlen(contents)), true);
- equals(fd.Seek(0), true);
+ "Sections: main non-free\n");
+ fd.Close();
- pkgSourceList sources(tempfile);
- equals(sources.size(), 2);
+ SourceList sources;
+ EXPECT_EQ(2, sources.ParseFileDeb822(tempfile));
+ EXPECT_EQ(2, sources.size());
- /* clean up handled by atexit handler, so just return here */
- return 0;
+ unlink(tempfile);
}
diff --git a/test/libapt/strutil_test.cc b/test/libapt/strutil_test.cc
index 618f4daba..bc004fd66 100644
--- a/test/libapt/strutil_test.cc
+++ b/test/libapt/strutil_test.cc
@@ -1,96 +1,72 @@
#include <config.h>
-
#include <apt-pkg/strutl.h>
-
#include <string>
#include <vector>
-#include "assert.h"
+#include <gtest/gtest.h>
-int main()
+TEST(StrUtilTest,DeEscapeString)
{
- std::string input, output, expected;
-
- // no input
- input = "foobar";
- expected = "foobar";
- output = DeEscapeString(input);
- equals(output, expected);
-
+ // nothing special
+ EXPECT_EQ("", DeEscapeString(""));
+ EXPECT_EQ("foobar", DeEscapeString("foobar"));
// hex and octal
- input = "foo\\040bar\\x0abaz";
- expected = "foo bar\nbaz";
- output = DeEscapeString(input);
- equals(output, expected);
-
- // at the end
- input = "foo\\040";
- expected = "foo ";
- output = DeEscapeString(input);
- equals(output, expected);
-
- // double escape
- input = "foo\\\\ x";
- expected = "foo\\ x";
- output = DeEscapeString(input);
- equals(output, expected);
-
- // double escape at the end
- input = "\\\\foo\\\\";
- expected = "\\foo\\";
- output = DeEscapeString(input);
- equals(output, expected);
-
- // the string that we actually need it for
- input = "/media/Ubuntu\\04011.04\\040amd64";
- expected = "/media/Ubuntu 11.04 amd64";
- output = DeEscapeString(input);
- equals(output, expected);
+ EXPECT_EQ("foo bar\nbaz", DeEscapeString("foo\\040bar\\x0abaz"));
+ EXPECT_EQ("foo ", DeEscapeString("foo\\040"));
+ EXPECT_EQ("\nbaz", DeEscapeString("\\x0abaz"));
+ EXPECT_EQ("/media/Ubuntu 11.04 amd64", DeEscapeString("/media/Ubuntu\\04011.04\\040amd64"));
+ // double slashes
+ EXPECT_EQ("foo\\ x", DeEscapeString("foo\\\\ x"));
+ EXPECT_EQ("\\foo\\", DeEscapeString("\\\\foo\\\\"));
+}
+TEST(StrUtilTest,StringSplitBasic)
+{
+ std::vector<std::string> result = StringSplit("", "");
+ EXPECT_EQ(result.size(), 0);
- // Split
- input = "status: libnet1:amd64: unpacked";
- std::vector<std::string> result = StringSplit(input, ": ");
- equals(result[0], "status");
- equals(result[1], "libnet1:amd64");
- equals(result[2], "unpacked");
- equals(result.size(), 3);
+ result = StringSplit("abc", "");
+ EXPECT_EQ(result.size(), 0);
- input = "status: libnet1:amd64: unpacked";
- result = StringSplit(input, "xxx");
- equals(result[0], input);
- equals(result.size(), 1);
+ result = StringSplit("", "abc");
+ EXPECT_EQ(result.size(), 1);
- input = "status: libnet1:amd64: unpacked";
- result = StringSplit(input, "");
- equals(result.size(), 0);
+ result = StringSplit("abc", "b");
+ ASSERT_EQ(result.size(), 2);
+ EXPECT_EQ(result[0], "a");
+ EXPECT_EQ(result[1], "c");
- input = "x:y:z";
- result = StringSplit(input, ":", 2);
- equals(result.size(), 2);
- equals(result[0], "x");
- equals(result[1], "y:z");
+ result = StringSplit("abc", "abc");
+ ASSERT_EQ(result.size(), 2);
+ EXPECT_EQ(result[0], "");
+ EXPECT_EQ(result[1], "");
+}
+TEST(StrUtilTest,StringSplitDpkgStatus)
+{
+ std::string const input = "status: libnet1:amd64: unpacked";
+ std::vector<std::string> result = StringSplit(input, "xxx");
+ ASSERT_EQ(result.size(), 1);
+ EXPECT_EQ(result[0], input);
- input = "abc";
result = StringSplit(input, "");
- equals(result.size(), 0);
-
- // endswith
- bool b;
- input = "abcd";
- b = APT::String::Endswith(input, "d");
- equals(b, true);
-
- b = APT::String::Endswith(input, "cd");
- equals(b, true);
-
- b = APT::String::Endswith(input, "abcd");
- equals(b, true);
-
- b = APT::String::Endswith(input, "x");
- equals(b, false);
-
- b = APT::String::Endswith(input, "abcndefg");
- equals(b, false);
-
- return 0;
+ EXPECT_EQ(result.size(), 0);
+
+ result = StringSplit(input, ": ");
+ ASSERT_EQ(result.size(), 3);
+ EXPECT_EQ(result[0], "status");
+ EXPECT_EQ(result[1], "libnet1:amd64");
+ EXPECT_EQ(result[2], "unpacked");
+
+ result = StringSplit("x:y:z", ":", 2);
+ ASSERT_EQ(result.size(), 2);
+ EXPECT_EQ(result[0], "x");
+ EXPECT_EQ(result[1], "y:z");
+}
+TEST(StrUtilTest,EndsWith)
+{
+ using APT::String::Endswith;
+ EXPECT_TRUE(Endswith("abcd", "d"));
+ EXPECT_TRUE(Endswith("abcd", "cd"));
+ EXPECT_TRUE(Endswith("abcd", "abcd"));
+ EXPECT_FALSE(Endswith("abcd", "x"));
+ EXPECT_FALSE(Endswith("abcd", "abcndefg"));
}
diff --git a/test/libapt/tagfile_test.cc b/test/libapt/tagfile_test.cc
index aaf46e3e9..1bac75b55 100644
--- a/test/libapt/tagfile_test.cc
+++ b/test/libapt/tagfile_test.cc
@@ -8,55 +8,29 @@
#include <string.h>
#include <unistd.h>
-#include "assert.h"
+#include <gtest/gtest.h>
-char *tempfile = NULL;
-int tempfile_fd = -1;
+#include "file-helpers.h"
-static void remove_tmpfile(void)
-{
- if (tempfile_fd > 0)
- close(tempfile_fd);
- if (tempfile != NULL) {
- unlink(tempfile);
- free(tempfile);
- }
-}
-
-int main()
+TEST(TagFileTest,SingleField)
{
FileFd fd;
- const char contents[] = "FieldA-12345678: the value of the field";
- atexit(remove_tmpfile);
- tempfile = strdup("apt-test.XXXXXXXX");
- tempfile_fd = mkstemp(tempfile);
-
- /* (Re-)Open (as FileFd), write and seek to start of the temp file */
- equals(fd.OpenDescriptor(tempfile_fd, FileFd::ReadWrite), true);
- equals(fd.Write(contents, strlen(contents)), true);
- equals(fd.Seek(0), true);
+ createTemporaryFile("singlefield", fd, NULL, "FieldA-12345678: the value of the field");
pkgTagFile tfile(&fd);
pkgTagSection section;
- equals(tfile.Step(section), true);
-
- /* It has one field */
- equals(section.Count(), 1);
-
- /* ... and it is called FieldA-12345678 */
- equals(section.Exists("FieldA-12345678"), true);
-
- /* its value is correct */
- equals(section.FindS("FieldA-12345678"), std::string("the value of the field"));
- /* A non-existent field has an empty string as value */
- equals(section.FindS("FieldB-12345678"), std::string());
-
- /* ... and Exists does not lie about missing fields... */
- equalsNot(section.Exists("FieldB-12345678"), true);
-
- /* There is only one section in this tag file */
- equals(tfile.Step(section), false);
-
- /* clean up handled by atexit handler, so just return here */
- return 0;
+ ASSERT_TRUE(tfile.Step(section));
+
+ // It has one field
+ EXPECT_EQ(1, section.Count());
+ // ... and it is called FieldA-12345678
+ EXPECT_TRUE(section.Exists("FieldA-12345678"));
+ // its value is correct
+ EXPECT_EQ("the value of the field", section.FindS("FieldA-12345678"));
+ // A non-existent field has an empty string as value
+ EXPECT_EQ("", section.FindS("FieldB-12345678"));
+ // ... and Exists does not lie about missing fields...
+ EXPECT_FALSE(section.Exists("FieldB-12345678"));
+ // There is only one section in this tag file
+ EXPECT_FALSE(tfile.Step(section));
}
diff --git a/test/libapt/uri_test.cc b/test/libapt/uri_test.cc
index 6559f1390..1662f51f0 100644
--- a/test/libapt/uri_test.cc
+++ b/test/libapt/uri_test.cc
@@ -1,124 +1,119 @@
#include <config.h>
-
#include <apt-pkg/strutl.h>
-
#include <string>
+#include <gtest/gtest.h>
-#include "assert.h"
-
-int main() {
- // Basic stuff
- {
- URI U("http://www.debian.org:90/temp/test");
- equals("http", U.Access);
- equals("", U.User);
- equals("", U.Password);
- equals(90, U.Port);
- equals("www.debian.org", U.Host);
- equals("/temp/test", U.Path);
- } {
- URI U("http://jgg:foo@ualberta.ca/blah");
- equals("http", U.Access);
- equals("jgg", U.User);
- equals("foo", U.Password);
- equals(0, U.Port);
- equals("ualberta.ca", U.Host);
- equals("/blah", U.Path);
- } {
- URI U("file:/usr/bin/foo");
- equals("file", U.Access);
- equals("", U.User);
- equals("", U.Password);
- equals(0, U.Port);
- equals("", U.Host);
- equals("/usr/bin/foo", U.Path);
- } {
- URI U("cdrom:Moo Cow Rom:/debian");
- equals("cdrom", U.Access);
- equals("", U.User);
- equals("", U.Password);
- equals(0, U.Port);
- equals("Moo Cow Rom", U.Host);
- equals("/debian", U.Path);
- } {
- URI U("gzip:./bar/cow");
- equals("gzip", U.Access);
- equals("", U.User);
- equals("", U.Password);
- equals(0, U.Port);
- equals(".", U.Host);
- equals("/bar/cow", U.Path);
- } {
- URI U("ftp:ftp.fr.debian.org/debian/pool/main/x/xtel/xtel_3.2.1-15_i386.deb");
- equals("ftp", U.Access);
- equals("", U.User);
- equals("", U.Password);
- equals(0, U.Port);
- equals("ftp.fr.debian.org", U.Host);
- equals("/debian/pool/main/x/xtel/xtel_3.2.1-15_i386.deb", U.Path);
- }
-
- // RFC 2732 stuff
- {
- URI U("http://[1080::8:800:200C:417A]/foo");
- equals("http", U.Access);
- equals("", U.User);
- equals("", U.Password);
- equals(0, U.Port);
- equals("1080::8:800:200C:417A", U.Host);
- equals("/foo", U.Path);
- } {
- URI U("http://[::FFFF:129.144.52.38]:80/index.html");
- equals("http", U.Access);
- equals("", U.User);
- equals("", U.Password);
- equals(80, U.Port);
- equals("::FFFF:129.144.52.38", U.Host);
- equals("/index.html", U.Path);
- } {
- URI U("http://[::FFFF:129.144.52.38:]:80/index.html");
- equals("http", U.Access);
- equals("", U.User);
- equals("", U.Password);
- equals(80, U.Port);
- equals("::FFFF:129.144.52.38:", U.Host);
- equals("/index.html", U.Path);
- } {
- URI U("http://[::FFFF:129.144.52.38:]/index.html");
- equals("http", U.Access);
- equals("", U.User);
- equals("", U.Password);
- equals(0, U.Port);
- equals("::FFFF:129.144.52.38:", U.Host);
- equals("/index.html", U.Path);
- }
- /* My Evil Corruption of RFC 2732 to handle CDROM names! Fun for
- the whole family! */
- {
- URI U("cdrom:[The Debian 1.2 disk, 1/2 R1:6]/debian/");
- equals("cdrom", U.Access);
- equals("", U.User);
- equals("", U.Password);
- equals(0, U.Port);
- equals("The Debian 1.2 disk, 1/2 R1:6", U.Host);
- equals("/debian/", U.Path);
- } {
- URI U("cdrom:Foo Bar Cow/debian/");
- equals("cdrom", U.Access);
- equals("", U.User);
- equals("", U.Password);
- equals(0, U.Port);
- equals("Foo Bar Cow", U.Host);
- equals("/debian/", U.Path);
- }
-
- // Percent-encoding.
- {
- URI U("ftp://foo:b%40r@example.org");
- equals("foo", U.User);
- equals("b@r", U.Password);
- equals("ftp://foo:b%40r@example.org/", (std::string) U);
- }
-
- return 0;
+TEST(URITest, BasicHTTP)
+{
+ URI U("http://www.debian.org:90/temp/test");
+ EXPECT_EQ("http", U.Access);
+ EXPECT_EQ("", U.User);
+ EXPECT_EQ("", U.Password);
+ EXPECT_EQ(90, U.Port);
+ EXPECT_EQ("www.debian.org", U.Host);
+ EXPECT_EQ("/temp/test", U.Path);
+ // Login data
+ U = URI("http://jgg:foo@ualberta.ca/blah");
+ EXPECT_EQ("http", U.Access);
+ EXPECT_EQ("jgg", U.User);
+ EXPECT_EQ("foo", U.Password);
+ EXPECT_EQ(0, U.Port);
+ EXPECT_EQ("ualberta.ca", U.Host);
+ EXPECT_EQ("/blah", U.Path);
+}
+TEST(URITest, SingeSlashFile)
+{
+ URI U("file:/usr/bin/foo");
+ EXPECT_EQ("file", U.Access);
+ EXPECT_EQ("", U.User);
+ EXPECT_EQ("", U.Password);
+ EXPECT_EQ(0, U.Port);
+ EXPECT_EQ("", U.Host);
+ EXPECT_EQ("/usr/bin/foo", U.Path);
+}
+TEST(URITest, BasicCDROM)
+{
+ URI U("cdrom:Moo Cow Rom:/debian");
+ EXPECT_EQ("cdrom", U.Access);
+ EXPECT_EQ("", U.User);
+ EXPECT_EQ("", U.Password);
+ EXPECT_EQ(0, U.Port);
+ EXPECT_EQ("Moo Cow Rom", U.Host);
+ EXPECT_EQ("/debian", U.Path);
+}
+TEST(URITest, RelativeGzip)
+{
+ URI U("gzip:./bar/cow");
+ EXPECT_EQ("gzip", U.Access);
+ EXPECT_EQ("", U.User);
+ EXPECT_EQ("", U.Password);
+ EXPECT_EQ(0, U.Port);
+ EXPECT_EQ(".", U.Host);
+ EXPECT_EQ("/bar/cow", U.Path);
+}
+TEST(URITest, NoSlashFTP)
+{
+ URI U("ftp:ftp.fr.debian.org/debian/pool/main/x/xtel/xtel_3.2.1-15_i386.deb");
+ EXPECT_EQ("ftp", U.Access);
+ EXPECT_EQ("", U.User);
+ EXPECT_EQ("", U.Password);
+ EXPECT_EQ(0, U.Port);
+ EXPECT_EQ("ftp.fr.debian.org", U.Host);
+ EXPECT_EQ("/debian/pool/main/x/xtel/xtel_3.2.1-15_i386.deb", U.Path);
+}
+TEST(URITest, RFC2732)
+{
+ URI U("http://[1080::8:800:200C:417A]/foo");
+ EXPECT_EQ("http", U.Access);
+ EXPECT_EQ("", U.User);
+ EXPECT_EQ("", U.Password);
+ EXPECT_EQ(0, U.Port);
+ EXPECT_EQ("1080::8:800:200C:417A", U.Host);
+ EXPECT_EQ("/foo", U.Path);
+ // with port
+ U = URI("http://[::FFFF:129.144.52.38]:80/index.html");
+ EXPECT_EQ("http", U.Access);
+ EXPECT_EQ("", U.User);
+ EXPECT_EQ("", U.Password);
+ EXPECT_EQ(80, U.Port);
+ EXPECT_EQ("::FFFF:129.144.52.38", U.Host);
+ EXPECT_EQ("/index.html", U.Path);
+ // extra colon
+ U = URI("http://[::FFFF:129.144.52.38:]:80/index.html");
+ EXPECT_EQ("http", U.Access);
+ EXPECT_EQ("", U.User);
+ EXPECT_EQ("", U.Password);
+ EXPECT_EQ(80, U.Port);
+ EXPECT_EQ("::FFFF:129.144.52.38:", U.Host);
+ EXPECT_EQ("/index.html", U.Path);
+ // extra colon port
+ U = URI("http://[::FFFF:129.144.52.38:]/index.html");
+ EXPECT_EQ("http", U.Access);
+ EXPECT_EQ("", U.User);
+ EXPECT_EQ("", U.Password);
+ EXPECT_EQ(0, U.Port);
+ EXPECT_EQ("::FFFF:129.144.52.38:", U.Host);
+ EXPECT_EQ("/index.html", U.Path);
+ // My Evil Corruption of RFC 2732 to handle CDROM names!
+ // Fun for the whole family! */
+ U = URI("cdrom:[The Debian 1.2 disk, 1/2 R1:6]/debian/");
+ EXPECT_EQ("cdrom", U.Access);
+ EXPECT_EQ("", U.User);
+ EXPECT_EQ("", U.Password);
+ EXPECT_EQ(0, U.Port);
+ EXPECT_EQ("The Debian 1.2 disk, 1/2 R1:6", U.Host);
+ EXPECT_EQ("/debian/", U.Path);
+ // no brackets
+ U = URI("cdrom:Foo Bar Cow/debian/");
+ EXPECT_EQ("cdrom", U.Access);
+ EXPECT_EQ("", U.User);
+ EXPECT_EQ("", U.Password);
+ EXPECT_EQ(0, U.Port);
+ EXPECT_EQ("Foo Bar Cow", U.Host);
+ EXPECT_EQ("/debian/", U.Path);
+ // percent encoded
+ U = URI("ftp://foo:b%40r@example.org");
+ EXPECT_EQ("foo", U.User);
+ EXPECT_EQ("b@r", U.Password);
+ EXPECT_EQ("ftp://foo:b%40r@example.org/", (std::string) U);
}
diff --git a/test/libapt/versions.lst b/test/libapt/versions.lst
deleted file mode 100644
index 8dd8ebdc9..000000000
--- a/test/libapt/versions.lst
+++ /dev/null
@@ -1,106 +0,0 @@
-# List of
-# ver1 ver2 ret
-# Of versions worth testing
-# 1 means that ver1 > ver2
-# -1 means that ver1 < ver2
-# 0 means that ver1 = ver2
-7.6p2-4 7.6-0 1
-1.0.3-3 1.0-1 1
-1.3 1.2.2-2 1
-1.3 1.2.2 1
-
-# Important attributes
-# disabled as dpkg --compare-versions doesn't like them… (versions have to start with a number)
-#- . -1
-#p - -1
-#a - -1
-#z - -1
-#a . -1
-#z . -1
-
-# disabled as dpkg --compare-versions doesn't like them… (versions have to start with a number)
-#III-alpha9.8 III-alpha9.8-1.5 -1
-
-# Epochs
-1:0.4 10.3 1
-1:1.25-4 1:1.25-8 -1
-0:1.18.36 1.18.36 0
-
-# native version
-1.18.36 1.18.35 1
-0:1.18.36 1.18.35 1
-
-# Funky, but allowed, characters in upstream version
-9:1.18.36:5.4-20 10:0.5.1-22 -1
-9:1.18.36:5.4-20 9:1.18.36:5.5-1 -1
-9:1.18.36:5.4-20 9:1.18.37:4.3-22 -1
-1.18.36-0.17.35-18 1.18.36-19 1
-
-# Junk
-1:1.2.13-3 1:1.2.13-3.1 -1
-2.0.7pre1-4 2.0.7r-1 -1
-
-# Test some properties of text strings
-0-pre 0-pre 0
-0-pre 0-pree -1
-
-1.1.6r2-2 1.1.6r-1 1
-2.6b2-1 2.6b-2 1
-
-98.1p5-1 98.1-pre2-b6-2 -1
-0.4a6-2 0.4-1 1
-
-1:3.0.5-2 1:3.0.5.1 -1
-
-# #205960
-3.0~rc1-1 3.0-1 -1
-
-# #573592 - debian policy 5.6.12
-1.0 1.0-0 0
-0.2 1.0-0 -1
-1.0 1.0-0+b1 -1
-1.0 1.0-0~ 1
-
-# if a version includes a dash
-# it should be the debrev dash - policy says so…
-0:0-0-0 0-0 1
-
-# do we like strange versions? Yes we like strange versions…
-0 0 0
-0 00 0
-
-# "steal" the testcases from cupt
-1.2.3 1.2.3 0 # identical
-4.4.3-2 4.4.3-2 0 # identical
-1:2ab:5 1:2ab:5 0 # this is correct...
-7:1-a:b-5 7:1-a:b-5 0 # and this
-57:1.2.3abYZ+~-4-5 57:1.2.3abYZ+~-4-5 0 # and those too
-1.2.3 0:1.2.3 0 # zero epoch
-1.2.3 1.2.3-0 0 # zero revision
-009 9 0 # zeroes...
-009ab5 9ab5 0 # there as well
-1.2.3 1.2.3-1 -1 # added non-zero revision
-1.2.3 1.2.4 -1 # just bigger
-1.2.4 1.2.3 1 # order doesn't matter
-1.2.24 1.2.3 1 # bigger, eh?
-0.10.0 0.8.7 1 # bigger, eh?
-3.2 2.3 1 # major number rocks
-1.3.2a 1.3.2 1 # letters rock
-0.5.0~git 0.5.0~git2 -1 # numbers rock
-2a 21 -1 # but not in all places
-1.3.2a 1.3.2b -1 # but there is another letter
-1:1.2.3 1.2.4 1 # epoch rocks
-1:1.2.3 1:1.2.4 -1 # bigger anyway
-1.2a+~bCd3 1.2a++ -1 # tilde doesn't rock
-1.2a+~bCd3 1.2a+~ 1 # but first is longer!
-5:2 304-2 1 # epoch rocks
-5:2 304:2 -1 # so big epoch?
-25:2 3:2 1 # 25 > 3, obviously
-1:2:123 1:12:3 -1 # 12 > 2
-1.2-5 1.2-3-5 -1 # 1.2 < 1.2-3
-5.10.0 5.005 1 # preceding zeroes don't matters
-3a9.8 3.10.2 -1 # letters are before all letter symbols
-3a9.8 3~10 1 # but after the tilde
-1.4+OOo3.0.0~ 1.4+OOo3.0.0-4 -1 # another tilde check
-2.4.7-1 2.4.7-z -1 # revision comparing
-1.002-1+b2 1.00 1 # whatever...