Browse Source

Merge branch 'debian/sid' into feature/source-deb822

debian/1.8.y
Michael Vogt 10 years ago
parent
commit
c93d14fc05
  1. 17
      apt-pkg/contrib/fileutl.cc
  2. 2
      apt-pkg/contrib/fileutl.h
  3. 12
      apt-pkg/contrib/gpgv.cc
  4. 12
      apt-pkg/deb/dpkgpm.cc
  5. 61
      apt-pkg/install-progress.cc
  6. 17
      apt-pkg/install-progress.h
  7. 4
      apt-pkg/policy.cc
  8. 11
      apt-pkg/tagfile.cc
  9. 11
      cmdline/apt-extracttemplates.cc
  10. 95
      cmdline/apt-get.cc
  11. 19
      cmdline/apt-key.in
  12. 2
      configure.ac
  13. 28
      debian/changelog
  14. 17
      debian/tests/run-tests
  15. 4
      doc/apt-verbatim.ent
  16. 4
      doc/po/apt-doc.pot
  17. 157
      po/ar.po
  18. 159
      po/ast.po
  19. 159
      po/bg.po
  20. 157
      po/bs.po
  21. 159
      po/ca.po
  22. 159
      po/cs.po
  23. 157
      po/cy.po
  24. 540
      po/da.po
  25. 159
      po/de.po
  26. 157
      po/dz.po
  27. 157
      po/el.po
  28. 159
      po/es.po
  29. 157
      po/eu.po
  30. 157
      po/fi.po
  31. 165
      po/fr.po
  32. 159
      po/gl.po
  33. 159
      po/hu.po
  34. 162
      po/it.po
  35. 159
      po/ja.po
  36. 157
      po/km.po
  37. 159
      po/ko.po
  38. 157
      po/ku.po
  39. 157
      po/lt.po
  40. 157
      po/mr.po
  41. 159
      po/nb.po
  42. 157
      po/ne.po
  43. 159
      po/nl.po
  44. 157
      po/nn.po
  45. 162
      po/pl.po
  46. 159
      po/pt.po
  47. 157
      po/pt_BR.po
  48. 157
      po/ro.po
  49. 159
      po/ru.po
  50. 159
      po/sk.po
  51. 159
      po/sl.po
  52. 159
      po/sv.po
  53. 159
      po/th.po
  54. 157
      po/tl.po
  55. 159
      po/tr.po
  56. 159
      po/uk.po
  57. 159
      po/vi.po
  58. 159
      po/zh_CN.po
  59. 157
      po/zh_TW.po
  60. BIN
      test/integration/exploid-keyring-with-dupe-keys.pub
  61. BIN
      test/integration/exploid-keyring-with-dupe-subkeys.pub
  62. 17
      test/integration/framework
  63. BIN
      test/integration/keyrings/test-archive-keyring.pub
  64. BIN
      test/integration/keyrings/test-archive-keyring.sec
  65. BIN
      test/integration/keyrings/test-master-keyring.pub
  66. BIN
      test/integration/keyrings/test-master-keyring.sec
  67. 22
      test/integration/test-apt-get-source
  68. 70
      test/integration/test-apt-get-source-arch
  69. 104
      test/integration/test-apt-key-net-update
  70. 43
      test/integration/test-apt-progress-fd-conffile
  71. 18
      test/integration/test-bug-728500-tempdir
  72. 32
      test/integration/test-bug-732746-preferences
  73. 13
      test/libapt/fileutl_test.cc
  74. 4
      vendor/getinfo
  75. 7
      vendor/raspbian/apt-vendor.ent
  76. 11
      vendor/raspbian/makefile
  77. 6
      vendor/raspbian/sources.list.in
  78. 8
      vendor/steamos/apt-vendor.ent
  79. 11
      vendor/steamos/makefile
  80. 7
      vendor/steamos/sources.list.in

17
apt-pkg/contrib/fileutl.cc

@ -1827,3 +1827,20 @@ std::vector<std::string> Glob(std::string const &pattern, int flags)
return result;
}
/*}}}*/
std::string GetTempDir()
{
const char *tmpdir = getenv("TMPDIR");
#ifdef P_tmpdir
if (!tmpdir)
tmpdir = P_tmpdir;
#endif
// check that tmpdir is set and exists
struct stat st;
if (!tmpdir || strlen(tmpdir) == 0 || stat(tmpdir, &st) != 0)
tmpdir = "/tmp";
return string(tmpdir);
}

2
apt-pkg/contrib/fileutl.h

@ -165,6 +165,8 @@ bool DirectoryExists(std::string const &Path) __attrib_const;
bool CreateDirectory(std::string const &Parent, std::string const &Path);
time_t GetModificationTime(std::string const &Path);
std::string GetTempDir();
/** \brief Ensure the existence of the given Path
*
* \param Parent directory of the Path directory - a trailing

12
apt-pkg/contrib/gpgv.cc

@ -10,6 +10,7 @@
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
#include<apt-pkg/configuration.h>
#include<apt-pkg/error.h>
@ -21,16 +22,9 @@
/*}}}*/
static char * GenerateTemporaryFileTemplate(const char *basename) /*{{{*/
{
const char *tmpdir = getenv("TMPDIR");
#ifdef P_tmpdir
if (!tmpdir)
tmpdir = P_tmpdir;
#endif
if (!tmpdir)
tmpdir = "/tmp";
std::string out;
strprintf(out, "%s/%s.XXXXXX", tmpdir, basename);
std::string tmpdir = GetTempDir();
strprintf(out, "%s/%s.XXXXXX", tmpdir.c_str(), basename);
return strdup(out.c_str());
}
/*}}}*/

12
apt-pkg/deb/dpkgpm.cc

@ -44,6 +44,7 @@
#include <unistd.h>
#include <sys/ioctl.h>
#include <pty.h>
#include <stdio.h>
#include <apti18n.h>
/*}}}*/
@ -596,7 +597,7 @@ void pkgDPkgPM::ProcessDpkgStatusLine(char *line)
errors look like this:
'status: /var/cache/apt/archives/krecipes_0.8.1-0ubuntu1_i386.deb : error : trying to overwrite `/usr/share/doc/kde/HTML/en/krecipes/krectip.png', which is also in package krecipes-data
and conffile-prompt like this
'status: conffile-prompt: conffile : 'current-conffile' 'new-conffile' useredited distedited
'status:/etc/compiz.conf/compiz.conf : conffile-prompt: 'current-conffile' 'new-conffile' useredited distedited
*/
if (prefix == "status")
{
@ -608,7 +609,7 @@ void pkgDPkgPM::ProcessDpkgStatusLine(char *line)
WriteApportReport(list[1].c_str(), list[3].c_str());
return;
}
else if(action == "conffile")
else if(action == "conffile-prompt")
{
d->progress->ConffilePrompt(list[1], PackagesDone, PackagesTotal,
list[3]);
@ -1036,7 +1037,10 @@ void pkgDPkgPM::StartPtyMagic()
if (tcgetattr(STDOUT_FILENO, &d->tt) == 0)
{
ioctl(1, TIOCGWINSZ, (char *)&win);
if (openpty(&d->master, &d->slave, NULL, &d->tt, &win) < 0)
if (_config->FindB("Dpkg::Use-Pty", true) == false)
{
d->master = d->slave = -1;
} else if (openpty(&d->master, &d->slave, NULL, &d->tt, &win) < 0)
{
_error->Errno("openpty", _("Can not write log (%s)"), _("Is /dev/pts mounted?"));
d->master = d->slave = -1;
@ -1182,7 +1186,7 @@ bool pkgDPkgPM::GoNoABIBreak(APT::Progress::PackageManager *progress)
StartPtyMagic();
// Tell the progress that its starting and fork dpkg
d->progress->Start();
d->progress->Start(d->master);
// this loop is runs once per dpkg operation
vector<Item>::const_iterator I = List.begin();

61
apt-pkg/install-progress.cc

@ -9,7 +9,8 @@
#include <sys/ioctl.h>
#include <sstream>
#include <fcntl.h>
#include <algorithm>
#include <stdio.h>
namespace APT {
namespace Progress {
@ -222,17 +223,47 @@ bool PackageManagerProgressDeb822Fd::StatusChanged(std::string PackageName,
return true;
}
PackageManagerFancy::PackageManagerFancy()
: child_pty(-1)
{
// setup terminal size
old_SIGWINCH = signal(SIGWINCH, PackageManagerFancy::staticSIGWINCH);
instances.push_back(this);
}
std::vector<PackageManagerFancy*> PackageManagerFancy::instances;
PackageManagerFancy::~PackageManagerFancy()
{
instances.erase(find(instances.begin(), instances.end(), this));
signal(SIGWINCH, old_SIGWINCH);
}
void PackageManagerFancy::staticSIGWINCH(int signum)
{
std::vector<PackageManagerFancy *>::const_iterator I;
for(I = instances.begin(); I != instances.end(); I++)
(*I)->HandleSIGWINCH(signum);
}
int PackageManagerFancy::GetNumberTerminalRows()
{
struct winsize win;
// FIXME: get from "child_pty" instead?
if(ioctl(STDOUT_FILENO, TIOCGWINSZ, (char *)&win) != 0)
return -1;
if(_config->FindB("Debug::InstallProgress::Fancy", false) == true)
std::cerr << "GetNumberTerminalRows: " << win.ws_row << std::endl;
return win.ws_row;
}
void PackageManagerFancy::SetupTerminalScrollArea(int nr_rows)
{
if(_config->FindB("Debug::InstallProgress::Fancy", false) == true)
std::cerr << "SetupTerminalScrollArea: " << nr_rows << std::endl;
// scroll down a bit to avoid visual glitch when the screen
// area shrinks by one row
std::cout << "\n";
@ -241,30 +272,22 @@ void PackageManagerFancy::SetupTerminalScrollArea(int nr_rows)
std::cout << "\033[s";
// set scroll region (this will place the cursor in the top left)
std::cout << "\033[1;" << nr_rows - 1 << "r";
std::cout << "\033[0;" << nr_rows - 1 << "r";
// restore cursor but ensure its inside the scrolling area
std::cout << "\033[u";
static const char *move_cursor_up = "\033[1A";
std::cout << move_cursor_up;
// setup env for (hopefully!) ncurses
string s;
strprintf(s, "%i", nr_rows);
setenv("LINES", s.c_str(), 1);
// ensure its flushed
std::flush(std::cout);
}
PackageManagerFancy::PackageManagerFancy()
{
// setup terminal size
old_SIGWINCH = signal(SIGWINCH, HandleSIGWINCH);
}
PackageManagerFancy::~PackageManagerFancy()
{
signal(SIGWINCH, old_SIGWINCH);
// 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);
}
void PackageManagerFancy::HandleSIGWINCH(int)
@ -273,8 +296,9 @@ void PackageManagerFancy::HandleSIGWINCH(int)
SetupTerminalScrollArea(nr_terminal_rows);
}
void PackageManagerFancy::Start()
void PackageManagerFancy::Start(int a_child_pty)
{
child_pty = a_child_pty;
int nr_terminal_rows = GetNumberTerminalRows();
if (nr_terminal_rows > 0)
SetupTerminalScrollArea(nr_terminal_rows);
@ -291,6 +315,7 @@ void PackageManagerFancy::Stop()
static const char* clear_screen_below_cursor = "\033[J";
std::cout << clear_screen_below_cursor;
}
child_pty = -1;
}
bool PackageManagerFancy::StatusChanged(std::string PackageName,

17
apt-pkg/install-progress.h

@ -4,6 +4,7 @@
#include <string>
#include <unistd.h>
#include <signal.h>
#include <vector>
namespace APT {
namespace Progress {
@ -28,7 +29,7 @@ namespace Progress {
virtual ~PackageManager() {};
/* Global Start/Stop */
virtual void Start() {};
virtual void Start(int child_pty=-1) {};
virtual void Stop() {};
/* When dpkg is invoked (may happen multiple times for each
@ -116,16 +117,22 @@ namespace Progress {
class PackageManagerFancy : public PackageManager
{
private:
static void staticSIGWINCH(int);
static std::vector<PackageManagerFancy*> instances;
protected:
static void SetupTerminalScrollArea(int nr_rows);
static int GetNumberTerminalRows();
static void HandleSIGWINCH(int);
void SetupTerminalScrollArea(int nr_rows);
void HandleSIGWINCH(int);
int GetNumberTerminalRows();
sighandler_t old_SIGWINCH;
int child_pty;
public:
PackageManagerFancy();
~PackageManagerFancy();
virtual void Start();
virtual void Start(int child_pty=-1);
virtual void Stop();
virtual bool StatusChanged(std::string PackageName,
unsigned int StepsDone,

4
apt-pkg/policy.cc

@ -405,6 +405,10 @@ bool ReadPinFile(pkgPolicy &Plcy,string File)
PreferenceSection Tags;
while (TF.Step(Tags) == true)
{
// can happen when there are only comments in a record
if (Tags.Count() == 0)
continue;
string Name = Tags.FindS("Package");
if (Name.empty() == true)
return _error->Error(_("Invalid record in the preferences file %s, no Package header"), File.c_str());

11
apt-pkg/tagfile.cc

@ -259,7 +259,12 @@ bool pkgTagSection::Scan(const char *Start,unsigned long MaxLength)
TagCount = 0;
while (TagCount+1 < sizeof(Indexes)/sizeof(Indexes[0]) && Stop < End)
{
TrimRecord(true,End);
TrimRecord(true,End);
// this can happen when TrimRecord trims away the entire Record
// (e.g. because it just contains comments)
if(Stop == End)
return true;
// Start a new index and add it to the hash
if (isspace(Stop[0]) == 0)
@ -273,7 +278,9 @@ bool pkgTagSection::Scan(const char *Start,unsigned long MaxLength)
if (Stop == 0)
return false;
for (; Stop+1 < End && Stop[1] == '\r'; Stop++);
for (; Stop+1 < End && Stop[1] == '\r'; Stop++)
/* nothing */
;
// Double newline marks the end of the record
if (Stop+1 < End && Stop[1] == '\n')

11
cmdline/apt-extracttemplates.cc

@ -47,8 +47,6 @@
using namespace std;
#define TMPDIR "/tmp"
pkgCache *DebFile::Cache = 0;
// DebFile::DebFile - Construct the DebFile object /*{{{*/
@ -253,14 +251,11 @@ string WriteFile(const char *package, const char *prefix, const char *data)
{
char fn[512];
static int i;
const char *tempdir = NULL;
tempdir = getenv("TMPDIR");
if (tempdir == NULL)
tempdir = TMPDIR;
std::string tempdir = GetTempDir();
snprintf(fn, sizeof(fn), "%s/%s.%s.%u%d",
_config->Find("APT::ExtractTemplates::TempDir", tempdir).c_str(),
_config->Find("APT::ExtractTemplates::TempDir",
tempdir.c_str()).c_str(),
package, prefix, getpid(), i++);
FileFd f;
if (data == NULL)

95
cmdline/apt-get.cc

@ -198,18 +198,31 @@ pkgSrcRecords::Parser *FindSrc(const char *Name,pkgRecords &Recs,
pkgSrcRecords &SrcRecs,string &Src,
CacheFile &CacheFile)
{
string VerTag;
string VerTag, UserRequestedVerTag;
string ArchTag = "";
string RelTag = _config->Find("APT::Default-Release");
string TmpSrc = Name;
pkgDepCache *Cache = CacheFile.GetDepCache();
// extract the version/release from the pkgname
const size_t found = TmpSrc.find_last_of("/=");
if (found != string::npos) {
if (TmpSrc[found] == '/')
RelTag = TmpSrc.substr(found+1);
else
VerTag = TmpSrc.substr(found+1);
// extract release
size_t found = TmpSrc.find_last_of("/");
if (found != string::npos)
{
RelTag = TmpSrc.substr(found+1);
TmpSrc = TmpSrc.substr(0,found);
}
// extract the version
found = TmpSrc.find_last_of("=");
if (found != string::npos)
{
VerTag = UserRequestedVerTag = TmpSrc.substr(found+1);
TmpSrc = TmpSrc.substr(0,found);
}
// extract arch
found = TmpSrc.find_last_of(":");
if (found != string::npos)
{
ArchTag = TmpSrc.substr(found+1);
TmpSrc = TmpSrc.substr(0,found);
}
@ -217,10 +230,25 @@ pkgSrcRecords::Parser *FindSrc(const char *Name,pkgRecords &Recs,
install a version and determine the source package name, then look
in the archive for a source package of the same name. */
bool MatchSrcOnly = _config->FindB("APT::Get::Only-Source");
const pkgCache::PkgIterator Pkg = Cache->FindPkg(TmpSrc);
pkgCache::PkgIterator Pkg;
if (ArchTag != "")
Pkg = Cache->FindPkg(TmpSrc, ArchTag);
else
Pkg = Cache->FindPkg(TmpSrc);
// if we can't find a package but the user qualified with a arch,
// error out here
if (Pkg.end() && ArchTag != "")
{
Src = Name;
_error->Error(_("Can not find a package for architecture '%s'"),
ArchTag.c_str());
return 0;
}
if (MatchSrcOnly == false && Pkg.end() == false)
{
if(VerTag.empty() == false || RelTag.empty() == false)
if(VerTag != "" || RelTag != "" || ArchTag != "")
{
bool fuzzy = false;
// we have a default release, try to locate the pkg. we do it like
@ -240,6 +268,17 @@ pkgSrcRecords::Parser *FindSrc(const char *Name,pkgRecords &Recs,
if (Ver.end() == true)
break;
}
// ignore arches that are not for us
if (ArchTag != "" && Ver.Arch() != ArchTag)
continue;
// pick highest version for the arch unless the user wants
// something else
if (ArchTag != "" && VerTag == "" && RelTag == "")
if(Cache->VS().CmpVersion(VerTag, Ver.VerStr()) < 0)
VerTag = Ver.VerStr();
// We match against a concrete version (or a part of this version)
if (VerTag.empty() == false &&
(fuzzy == true || Cache->VS().CmpVersion(VerTag, Ver.VerStr()) != 0) && // exact match
@ -280,6 +319,20 @@ pkgSrcRecords::Parser *FindSrc(const char *Name,pkgRecords &Recs,
break;
}
}
if (Src == "" && ArchTag != "")
{
if (VerTag != "")
_error->Error(_("Can not find a package '%s' with version '%s'"),
Pkg.FullName().c_str(), VerTag.c_str());
if (RelTag != "")
_error->Error(_("Can not find a package '%s' with release '%s'"),
Pkg.FullName().c_str(), RelTag.c_str());
Src = Name;
return 0;
}
if (Src.empty() == true)
{
// if we don't have found a fitting package yet so we will
@ -331,17 +384,15 @@ pkgSrcRecords::Parser *FindSrc(const char *Name,pkgRecords &Recs,
const string Ver = Parse->Version();
// See if we need to look for a specific release tag
if (RelTag != "")
if (RelTag != "" && UserRequestedVerTag == "")
{
const string Rel = GetReleaseForSourceRecord(SrcList, Parse);
if (Rel == RelTag)
{
ioprintf(c1out, "Selectied version '%s' (%s) for %s\n",
Ver.c_str(), RelTag.c_str(), Src.c_str());
Last = Parse;
Offset = Parse->Offset();
break;
Version = Ver;
}
}
@ -362,9 +413,13 @@ pkgSrcRecords::Parser *FindSrc(const char *Name,pkgRecords &Recs,
if (VerTag.empty() == false && (VerTag == Ver))
break;
}
if (UserRequestedVerTag == "" && Version != "" && RelTag != "")
ioprintf(c1out, "Selected version '%s' (%s) for %s\n",
Version.c_str(), RelTag.c_str(), Src.c_str());
if (Last != 0 || VerTag.empty() == true)
break;
_error->Error(_("Ignore unavailable version '%s' of package '%s'"), VerTag.c_str(), TmpSrc.c_str());
_error->Error(_("Can not find version '%s' of package '%s'"), VerTag.c_str(), TmpSrc.c_str());
return 0;
}
@ -1481,14 +1536,12 @@ bool DoChangelog(CommandLine &CmdL)
bool const downOnly = _config->FindB("APT::Get::Download-Only", false);
char tmpname[100];
char* tmpdir = NULL;
const char* tmpdir = NULL;
if (downOnly == false)
{
const char* const tmpDir = getenv("TMPDIR");
if (tmpDir != NULL && *tmpDir != '\0')
snprintf(tmpname, sizeof(tmpname), "%s/apt-changelog-XXXXXX", tmpDir);
else
strncpy(tmpname, "/tmp/apt-changelog-XXXXXX", sizeof(tmpname));
std::string systemTemp = GetTempDir();
snprintf(tmpname, sizeof(tmpname), "%s/apt-changelog-XXXXXX",
systemTemp.c_str());
tmpdir = mkdtemp(tmpname);
if (tmpdir == NULL)
return _error->Errno("mkdtemp", "mkdtemp failed");

19
cmdline/apt-key.in

@ -25,6 +25,9 @@ GPG_CMD="$GPG_CMD --no-auto-check-trustdb --trust-model always"
GPG="$GPG_CMD"
APT_DIR="/"
eval $(apt-config shell APT_DIR Dir)
MASTER_KEYRING='&keyring-master-filename;'
eval $(apt-config shell MASTER_KEYRING APT::Key::MasterKeyring)
ARCHIVE_KEYRING='&keyring-filename;'
@ -33,7 +36,7 @@ REMOVED_KEYS='&keyring-removed-filename;'
eval $(apt-config shell REMOVED_KEYS APT::Key::RemovedKeys)
ARCHIVE_KEYRING_URI='&keyring-uri;'
eval $(apt-config shell ARCHIVE_KEYRING_URI APT::Key::ArchiveKeyringURI)
TMP_KEYRING=/var/lib/apt/keyrings/maybe-import-keyring.gpg
TMP_KEYRING=${APT_DIR}/var/lib/apt/keyrings/maybe-import-keyring.gpg
requires_root() {
if [ "$(id -u)" -ne 0 ]; then
@ -107,7 +110,11 @@ add_keys_with_verify_against_master_keyring() {
# (otherwise it does not make sense from a security POV)
net_update() {
# Disabled for now as code is insecure (LP: #1013639 (and 857472, 1013128))
exit 1
APT_KEY_NET_UPDATE_ENABLED=""
eval $(apt-config shell APT_KEY_NET_UPDATE_ENABLED APT::Key::Net-Update-Enabled)
if [ -z "$APT_KEY_NET_UPDATE_ENABLED" ]; then
exit 1
fi
if [ -z "$ARCHIVE_KEYRING_URI" ]; then
echo >&2 "ERROR: Your distribution is not supported in net-update as no uri for the archive-keyring is set"
@ -120,15 +127,15 @@ net_update() {
echo >&2 "ERROR: an installed wget is required for a network-based update"
exit 1
fi
if [ ! -d /var/lib/apt/keyrings ]; then
mkdir -p /var/lib/apt/keyrings
if [ ! -d ${APT_DIR}/var/lib/apt/keyrings ]; then
mkdir -p ${APT_DIR}/var/lib/apt/keyrings
fi
keyring=/var/lib/apt/keyrings/$(basename $ARCHIVE_KEYRING)
keyring=${APT_DIR}/var/lib/apt/keyrings/$(basename $ARCHIVE_KEYRING_URI)
old_mtime=0
if [ -e $keyring ]; then
old_mtime=$(stat -c %Y $keyring)
fi
(cd /var/lib/apt/keyrings; wget --timeout=90 -q -N $ARCHIVE_KEYRING_URI)
(cd ${APT_DIR}/var/lib/apt/keyrings; wget --timeout=90 -q -N $ARCHIVE_KEYRING_URI)
if [ ! -e $keyring ]; then
return
fi

2
configure.ac

@ -18,7 +18,7 @@ AC_CONFIG_AUX_DIR(buildlib)
AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in)
PACKAGE="apt"
PACKAGE_VERSION="0.9.14"
PACKAGE_VERSION="0.9.14.1"
PACKAGE_MAIL="APT Development Team <deity@lists.debian.org>"
AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE")
AC_DEFINE_UNQUOTED(PACKAGE_VERSION,"$PACKAGE_VERSION")

28
debian/changelog

@ -1,3 +1,31 @@
apt (0.9.14.2) UNRELEASED; urgency=low
[ Joe Hansen ]
* Danish translation update. Closes: #732166
[ Peter Green ]
* add apt-vendor for raspbian. Closes: #732749
[ Michael Vogt ]
* vendor/getinfo:
- fix ubuntu-codename
* vendor/steamos/*:
- add steamos support
-- Christian Perrier <bubulle@debian.org> Sun, 15 Dec 2013 08:43:06 +0100
apt (0.9.14.1) unstable; urgency=medium
* fix apt-get source -t dist regression (closes: #731853)
and add testcase
* clarify error message when apt-get source=ver fails
(thans to David Kalnischkies)
* Fix conffile prompt regression (LP: #1260297)
and add testcase
* improve error message for apt-get source pkg:arch{=ver,/release}
-- Michael Vogt <mvo@debian.org> Thu, 12 Dec 2013 18:34:29 +0100
apt (0.9.14) unstable; urgency=low
[ David Kalnischkies ]

17
debian/tests/run-tests

@ -2,6 +2,17 @@
set -e
make
make test
test/integration/run-tests
# auto-package-test is very unhappy if stuff it writen to stderr
exec 2> apt-stderr.log
# we need the buildin webserver for the tests
if [ ! -e environment.mak ]; then
./configure
fi
make -C test/interactive-helper/
# run against the installed apt
APT_INTEGRATION_TESTS_WEBSERVER_BIN_DIR=$(pwd)/build/bin \
APT_INTEGRATION_TESTS_METHODS_DIR=/usr/lib/apt/methods \
APT_INTEGRATION_TESTS_BUILD_DIR=/usr/bin \
./test/integration/run-tests

4
doc/apt-verbatim.ent

@ -219,14 +219,14 @@
">
<!-- this will be updated by 'prepare-release' -->
<!ENTITY apt-product-version "0.9.14">
<!ENTITY apt-product-version "0.9.14.1">
<!-- (Code)names for various things used all over the place -->
<!ENTITY oldstable-codename "squeeze">
<!ENTITY stable-codename "wheezy">
<!ENTITY testing-codename "jessie">
<!ENTITY stable-version "7">
<!ENTITY ubuntu-codename "precise">
<!ENTITY ubuntu-codename "trusty">
<!-- good and bad just refers to matching and not matching a pattern…
It is not a remark about the specific perl version.

4
doc/po/apt-doc.pot

@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: apt-doc 0.9.9.4\n"
"Project-Id-Version: apt-doc 0.9.14\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
"POT-Creation-Date: 2013-12-07 14:40+0100\n"
"POT-Creation-Date: 2013-12-12 18:37+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

157
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: 2013-12-07 14:40+0100\n"
"POT-Creation-Date: 2013-12-12 18:37+0100\n"
"PO-Revision-Date: 2006-10-20 21:28+0300\n"
"Last-Translator: Ossama M. Khayat <okhayat@yahoo.com>\n"
"Language-Team: Arabic <support@arabeyes.org>\n"
@ -161,7 +161,7 @@ msgid " Version table:"
msgstr " جدول النسخ:"
#: cmdline/apt-cache.cc:1733 cmdline/apt-cdrom.cc:210 cmdline/apt-config.cc:83
#: cmdline/apt-get.cc:1524 cmdline/apt-mark.cc:377 cmdline/apt.cc:66
#: cmdline/apt-get.cc:1579 cmdline/apt-mark.cc:377 cmdline/apt.cc:66
#: cmdline/apt-extracttemplates.cc:229 ftparchive/apt-ftparchive.cc:591
#: cmdline/apt-internal-solver.cc:34 cmdline/apt-sortpkgs.cc:147
#, fuzzy, c-format
@ -251,62 +251,77 @@ msgid ""
" -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n"
msgstr ""
#: cmdline/apt-get.cc:313
#: cmdline/apt-get.cc:244
#, fuzzy, c-format
msgid "Can not find a package for architecture '%s'"
msgstr "تعذر العثور على الحزمة %s"
#: cmdline/apt-get.cc:326
#, fuzzy, c-format
msgid "Can not find a package '%s' with version '%s'"
msgstr "تعذر العثور على الحزمة %s"
#: cmdline/apt-get.cc:329
#, fuzzy, c-format
msgid "Can not find a package '%s' with release '%s'"
msgstr "تعذر العثور على الحزمة %s"
#: cmdline/apt-get.cc:366
#, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr ""
#: cmdline/apt-get.cc:367
#: cmdline/apt-get.cc:422
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgid "Can not find version '%s' of package '%s'"
msgstr ""
#: cmdline/apt-get.cc:398
#: cmdline/apt-get.cc:453
#, c-format
msgid "Couldn't find package %s"
msgstr "تعذر العثور على الحزمة %s"
#: cmdline/apt-get.cc:403 cmdline/apt-mark.cc:70
#: cmdline/apt-get.cc:458 cmdline/apt-mark.cc:70
#, fuzzy, c-format
msgid "%s set to manually installed.\n"
msgstr "إلا أنه سيتم تثبيت %s"
#: cmdline/apt-get.cc:405 cmdline/apt-mark.cc:72
#: cmdline/apt-get.cc:460 cmdline/apt-mark.cc:72
#, fuzzy, c-format
msgid "%s set to automatically installed.\n"
msgstr "إلا أنه سيتم تثبيت %s"
#: cmdline/apt-get.cc:413 cmdline/apt-mark.cc:116
#: cmdline/apt-get.cc:468 cmdline/apt-mark.cc:116
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
#: cmdline/apt-get.cc:482 cmdline/apt-get.cc:490
#: cmdline/apt-get.cc:537 cmdline/apt-get.cc:545
msgid "Internal error, problem resolver broke stuff"
msgstr ""
#: cmdline/apt-get.cc:518 cmdline/apt-get.cc:555
#: cmdline/apt-get.cc:573 cmdline/apt-get.cc:610
msgid "Unable to lock the download directory"
msgstr "تعذر قَفْل دليل التنزيل"
#: cmdline/apt-get.cc:667
#: cmdline/apt-get.cc:722
msgid "Must specify at least one package to fetch source for"
msgstr "يجب تحديد حزمة واحدة على الأقل لجلب مصدرها"
#: cmdline/apt-get.cc:707 cmdline/apt-get.cc:1002
#: cmdline/apt-get.cc:762 cmdline/apt-get.cc:1057
#, c-format
msgid "Unable to find a source package for %s"
msgstr "تعذر العثور على مصدر الحزمة %s"
#: cmdline/apt-get.cc:724
#: cmdline/apt-get.cc:779
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
"%s\n"
msgstr ""
#: cmdline/apt-get.cc:729
#: cmdline/apt-get.cc:784
#, c-format
msgid ""
"Please use:\n"
@ -314,151 +329,151 @@ msgid ""
"to retrieve the latest (possibly unreleased) updates to the package.\n"
msgstr ""
#: cmdline/apt-get.cc:782
#: cmdline/apt-get.cc:837
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "تخطي الملف '%s' المنزل مسبقاً\n"
#: cmdline/apt-get.cc:805 cmdline/apt-get.cc:808
#: cmdline/apt-get.cc:860 cmdline/apt-get.cc:863
#: apt-private/private-install.cc:198 apt-private/private-install.cc:201
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "تعذر حساب المساحة الحرة في %s"
#: cmdline/apt-get.cc:819
#: cmdline/apt-get.cc:874
#, c-format
msgid "You don't have enough free space in %s"
msgstr "ليس هناك مساحة كافية في %s"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
#: cmdline/apt-get.cc:828
#: cmdline/apt-get.cc:883
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "يجب جلب %sب/%sب من الأرشيفات المصدرية.\n"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB
#: cmdline/apt-get.cc:833
#: cmdline/apt-get.cc:888
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "يجب جلب %sب من الأرشيفات المصدريّة.\n"
#: cmdline/apt-get.cc:839
#: cmdline/apt-get.cc:894
#, c-format
msgid "Fetch source %s\n"
msgstr "إحضار المصدر %s\n"
#: cmdline/apt-get.cc:860
#: cmdline/apt-get.cc:915
msgid "Failed to fetch some archives."
msgstr "فشل إحضار بعض الأرشيفات."
#: cmdline/apt-get.cc:865 apt-private/private-install.cc:325
#: cmdline/apt-get.cc:920 apt-private/private-install.cc:325
msgid "Download complete and in download only mode"
msgstr "اكتمل التنزيل وفي وضع التنزيل فقط"
#: cmdline/apt-get.cc:891
#: cmdline/apt-get.cc:946
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr ""
#: cmdline/apt-get.cc:903
#: cmdline/apt-get.cc:958
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "أمر فك الحزمة '%s' فشل.\n"
#: cmdline/apt-get.cc:904
#: cmdline/apt-get.cc:959
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr ""
#: cmdline/apt-get.cc:926
#: cmdline/apt-get.cc:981
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "أمر البناء '%s' فشل.\n"
#: cmdline/apt-get.cc:946
#: cmdline/apt-get.cc:1001
msgid "Child process failed"
msgstr ""
#: cmdline/apt-get.cc:965
#: cmdline/apt-get.cc:1020
msgid "Must specify at least one package to check builddeps for"
msgstr ""
#: cmdline/apt-get.cc:990
#: cmdline/apt-get.cc:1045
#, c-format
msgid ""
"No architecture information available for %s. See apt.conf(5) APT::"
"Architectures for setup"
msgstr ""
#: cmdline/apt-get.cc:1014 cmdline/apt-get.cc:1017
#: cmdline/apt-get.cc:1069 cmdline/apt-get.cc:1072
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr ""
#: cmdline/apt-get.cc:1037
#: cmdline/apt-get.cc:1092
#, c-format
msgid "%s has no build depends.\n"
msgstr ""
#: cmdline/apt-get.cc:1207
#: cmdline/apt-get.cc:1262
#, c-format
msgid ""
"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
"packages"
msgstr ""
#: cmdline/apt-get.cc:1225
#: cmdline/apt-get.cc:1280
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
"found"
msgstr ""
#: cmdline/apt-get.cc:1248
#: cmdline/apt-get.cc:1303
#, c-format
msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
msgstr ""
#: cmdline/apt-get.cc:1287
#: cmdline/apt-get.cc:1342
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because candidate version of "
"package %s can't satisfy version requirements"
msgstr ""
#: cmdline/apt-get.cc:1293
#: cmdline/apt-get.cc:1348
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because package %s has no candidate "
"version"
msgstr ""
#: cmdline/apt-get.cc:1316
#: cmdline/apt-get.cc:1371
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr ""
#: cmdline/apt-get.cc:1331
#: cmdline/apt-get.cc:1386
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr ""
#: cmdline/apt-get.cc:1336
#: cmdline/apt-get.cc:1391
msgid "Failed to process build dependencies"
msgstr ""
#: cmdline/apt-get.cc:1429 cmdline/apt-get.cc:1441
#: cmdline/apt-get.cc:1484 cmdline/apt-get.cc:1496
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "الاتصال بـ%s (%s)"
#: cmdline/apt-get.cc:1529
#: cmdline/apt-get.cc:1584
msgid "Supported modules:"
msgstr "الوحدات المدعومة:"
#: cmdline/apt-get.cc:1570
#: cmdline/apt-get.cc:1625
msgid ""
"Usage: apt-get [options] command\n"
" apt-get [options] install|remove pkg1 [pkg2 ...]\n"
@ -531,7 +546,7 @@ msgstr "%s هي النسخة الأحدث.\n"
#: cmdline/apt-mark.cc:247 cmdline/apt-mark.cc:328
#: apt-pkg/contrib/fileutl.cc:850 apt-pkg/contrib/gpgv.cc:223
#: apt-pkg/deb/dpkgpm.cc:1174
#: apt-pkg/deb/dpkgpm.cc:1178
#, c-format
msgid "Waited for %s but it wasn't there"
msgstr ""
@ -3058,138 +3073,138 @@ msgid ""
"used instead."
msgstr ""
#: apt-pkg/deb/dpkgpm.cc:90
#: apt-pkg/deb/dpkgpm.cc:91
#, fuzzy, c-format
msgid "Installing %s"
msgstr "تم تثبيت %s"
#: apt-pkg/deb/dpkgpm.cc:91 apt-pkg/deb/dpkgpm.cc:977
#: apt-pkg/deb/dpkgpm.cc:92 apt-pkg/deb/dpkgpm.cc:978
#, c-format
msgid "Configuring %s"
msgstr "تهيئة %s"
#: apt-pkg/deb/dpkgpm.cc:92 apt-pkg/deb/dpkgpm.cc:984
#: apt-pkg/deb/dpkgpm.cc:93 apt-pkg/deb/dpkgpm.cc:985
#, c-format
msgid "Removing %s"
msgstr "إزالة %s"
#: apt-pkg/deb/dpkgpm.cc:93
#: apt-pkg/deb/dpkgpm.cc:94
#, fuzzy, c-format
msgid "Completely removing %s"
msgstr "تمت إزالة %s بالكامل"
#: apt-pkg/deb/dpkgpm.cc:94
#: apt-pkg/deb/dpkgpm.cc:95
#, c-format
msgid "Noting disappearance of %s"
msgstr ""
#: apt-pkg/deb/dpkgpm.cc:95
#: apt-pkg/deb/dpkgpm.cc:96
#, c-format
msgid "Running post-installation trigger %s"
msgstr ""
#. FIXME: use a better string after freeze
#: apt-pkg/deb/dpkgpm.cc:808
#: apt-pkg/deb/dpkgpm.cc:809
#, c-format
msgid "Directory '%s' missing"
msgstr ""
#: apt-pkg/deb/dpkgpm.cc:823 apt-pkg/deb/dpkgpm.cc:845
#: apt-pkg/deb/dpkgpm.cc:824 apt-pkg/deb/dpkgpm.cc:846
#, fuzzy, c-format
msgid "Could not open file '%s'"
msgstr "فشل إغلاق الملف %s"
#: apt-pkg/deb/dpkgpm.cc:970
#: apt-pkg/deb/dpkgpm.cc:971
#, c-format
msgid "Preparing %s"
msgstr "تحضير %s"
#: apt-pkg/deb/dpkgpm.cc:971
#: apt-pkg/deb/dpkgpm.cc:972
#, c-format
msgid "Unpacking %s"
msgstr "فتح %s"
#: apt-pkg/deb/dpkgpm.cc:976
#: apt-pkg/deb/dpkgpm.cc:977
#, c-format
msgid "Preparing to configure %s"
msgstr "التحضير لتهيئة %s"
#: apt-pkg/deb/dpkgpm.cc:978
#: apt-pkg/deb/dpkgpm.cc:979
#, c-format
msgid "Installed %s"
msgstr "تم تثبيت %s"
#: apt-pkg/deb/dpkgpm.cc:983
#: apt-pkg/deb/dpkgpm.cc:984
#, c-format
msgid "Preparing for removal of %s"
msgstr "التحضير لإزالة %s"
#: apt-pkg/deb/dpkgpm.cc:985
#: apt-pkg/deb/dpkgpm.cc:986
#, c-format
msgid "Removed %s"
msgstr "تم إزالة %s"
#: apt-pkg/deb/dpkgpm.cc:990
#: apt-pkg/deb/dpkgpm.cc:991
#, c-format
msgid "Preparing to completely remove %s"
msgstr "التحضير لإزالة %s بالكامل"
#: apt-pkg/deb/dpkgpm.cc:991
#: apt-pkg/deb/dpkgpm.cc:992
#, c-format
msgid "Completely removed %s"
msgstr "تمت إزالة %s بالكامل"
#: apt-pkg/deb/dpkgpm.cc:1041 apt-pkg/deb/dpkgpm.cc:1062
#: apt-pkg/deb/dpkgpm.cc:1045 apt-pkg/deb/dpkgpm.cc:1066
#, fuzzy, c-format
msgid "Can not write log (%s)"
msgstr "تعذرت الكتابة إلى %s"
#: apt-pkg/deb/dpkgpm.cc:1041
#: apt-pkg/deb/dpkgpm.cc:1045
msgid "Is /dev/pts mounted?"
msgstr ""
#: apt-pkg/deb/dpkgpm.cc:1062
#: apt-pkg/deb/dpkgpm.cc:1066
msgid "Is stdout a terminal?"
msgstr ""
#: apt-pkg/deb/dpkgpm.cc:1545
#: apt-pkg/deb/dpkgpm.cc:1549
msgid "Operation was interrupted before it could finish"
msgstr ""
#: apt-pkg/deb/dpkgpm.cc:1607
#: apt-pkg/deb/dpkgpm.cc:1611
msgid "No apport report written because MaxReports is reached already"
msgstr ""
#. check if its not a follow up error
#: apt-pkg/deb/dpkgpm.cc:1612
#: apt-pkg/deb/dpkgpm.cc:1616
msgid "dependency problems - leaving unconfigured"
msgstr ""
#: apt-pkg/deb/dpkgpm.cc:1614
#: apt-pkg/deb/dpkgpm.cc:1618
msgid ""
"No apport report written because the error message indicates its a followup "
"error from a previous failure."
msgstr ""
#: apt-pkg/deb/dpkgpm.cc:1620
#: apt-pkg/deb/dpkgpm.cc:1624
msgid ""
"No apport report written because the error message indicates a disk full "
"error"
msgstr ""
#: apt-pkg/deb/dpkgpm.cc:1627
#: apt-pkg/deb/dpkgpm.cc:1631
msgid ""
"No apport report written because the error message indicates a out of memory "
"error"
msgstr ""
#: apt-pkg/deb/dpkgpm.cc:1634 apt-pkg/deb/dpkgpm.cc:1640
#: apt-pkg/deb/dpkgpm.cc:1638 apt-pkg/deb/dpkgpm.cc:1644
msgid ""
"No apport report written because the error message indicates an issue on the "
"local system"
msgstr ""
#: apt-pkg/deb/dpkgpm.cc:1661
#: apt-pkg/deb/dpkgpm.cc:1665
msgid ""
"No apport report written because the error message indicates a dpkg I/O error"
msgstr ""

159
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: 2013-12-07 14:40+0100\n"
"POT-Creation-Date: 2013-12-12 18:37+0100\n"
"PO-Revision-Date: 2010-10-02 23:35+0100\n"
"Last-Translator: Iñigo Varela <ivarela@softastur.org>\n"
"Language-Team: Asturian (ast)\n"
@ -154,7 +154,7 @@ msgid " Version table:"
msgstr " Tabla de versiones:"
#: cmdline/apt-cache.cc:1733 cmdline/apt-cdrom.cc:210 cmdline/apt-config.cc:83
#: cmdline/apt-get.cc:1524 cmdline/apt-mark.cc:377 cmdline/apt.cc:66
#: cmdline/apt-get.cc:1579 cmdline/apt-mark.cc:377 cmdline/apt.cc:66
#: cmdline/apt-extracttemplates.cc:229 ftparchive/apt-ftparchive.cc:591
#: cmdline/apt-internal-solver.cc:34 cmdline/apt-sortpkgs.cc:147
#, c-format
@ -294,55 +294,70 @@ msgstr ""
" -c=? Llee esti ficheru de configuración\n"
" -o=? Conseña una opción de configuración arbitraria, p. ex.\n"
#: cmdline/apt-get.cc:313
#: cmdline/apt-get.cc:244
#, fuzzy, c-format
msgid "Can not find a package for architecture '%s'"
msgstr "Nun pudo alcontrase dengún paquete por regex '%s'"
#: cmdline/apt-get.cc:326
#, fuzzy, c-format
msgid "Can not find a package '%s' with version '%s'"
msgstr "Nun pudo alcontrase dengún paquete por regex '%s'"
#: cmdline/apt-get.cc:329
#, fuzzy, c-format
msgid "Can not find a package '%s' with release '%s'"
msgstr "Nun pudo alcontrase dengún paquete por regex '%s'"
#: cmdline/apt-get.cc:366
#, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "Tomando '%s' como paquetes d'oríxenes en llugar de '%s'\n"
#: cmdline/apt-get.cc:367
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
#: cmdline/apt-get.cc:422
#, fuzzy, c-format
msgid "Can not find version '%s' of package '%s'"
msgstr "Inorar versión non disponible de '%s' del paquete '%s'"
#: cmdline/apt-get.cc:398
#: cmdline/apt-get.cc:453
#, c-format
msgid "Couldn't find package %s"
msgstr "Nun pudo alcontrase'l paquete %s"
#: cmdline/apt-get.cc:403 cmdline/apt-mark.cc:70
#: cmdline/apt-get.cc:458 cmdline/apt-mark.cc:70
#, c-format
msgid "%s set to manually installed.\n"
msgstr "%s axustáu como instaláu manualmente.\n"
#: cmdline/apt-get.cc:405 cmdline/apt-mark.cc:72
#: cmdline/apt-get.cc:460 cmdline/apt-mark.cc:72
#, c-format
msgid "%s set to automatically installed.\n"
msgstr "%s axustáu como instaláu automáticamente.\n"
#: cmdline/apt-get.cc:413 cmdline/apt-mark.cc:116
#: cmdline/apt-get.cc:468 cmdline/apt-mark.cc:116
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
#: cmdline/apt-get.cc:482 cmdline/apt-get.cc:490
#: cmdline/apt-get.cc:537 cmdline/apt-get.cc:545
msgid "Internal error, problem resolver broke stuff"
msgstr "Error internu, l'iguador de problemes frañó coses"
#: cmdline/apt-get.cc:518 cmdline/apt-get.cc:555
#: cmdline/apt-get.cc:573 cmdline/apt-get.cc:610
msgid "Unable to lock the download directory"
msgstr "Nun pue bloquiase'l direutoriu de descarga"
#: cmdline/apt-get.cc:667
#: cmdline/apt-get.cc:722
msgid "Must specify at least one package to fetch source for"
msgstr "Has de conseñar polo menos un paquete p'algamar so fonte"
#: cmdline/apt-get.cc:707 cmdline/apt-get.cc:1002
#: cmdline/apt-get.cc:762 cmdline/apt-get.cc:1057
#, c-format
msgid "Unable to find a source package for %s"
msgstr "Nun pudo alcontrase un paquete fonte pa %s"
#: cmdline/apt-get.cc:724
#: cmdline/apt-get.cc:779
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
@ -351,7 +366,7 @@ msgstr ""
"AVISU: '%s' packaging is maintained in the '%s' version control system at:\n"
"%s\n"
#: cmdline/apt-get.cc:729
#: cmdline/apt-get.cc:784
#, fuzzy, c-format
msgid ""
"Please use:\n"
@ -363,97 +378,97 @@ msgstr ""
"pa baxar los caberos anovamientos (posiblemente tovía nun sacaos) pal "
"paquete.\n"
#: cmdline/apt-get.cc:782
#: cmdline/apt-get.cc:837
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "Saltando'l ficheru yá descargáu '%s'\n"
#: cmdline/apt-get.cc:805 cmdline/apt-get.cc:808
#: cmdline/apt-get.cc:860 cmdline/apt-get.cc:863
#: apt-private/private-install.cc:198 apt-private/private-install.cc:201
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "Nun pue determinase l'espaciu llibre de %s"
#: cmdline/apt-get.cc:819
#: cmdline/apt-get.cc:874
#, c-format
msgid "You don't have enough free space in %s"
msgstr "Nun hai espaciu llibre bastante en %s"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
#: cmdline/apt-get.cc:828
#: cmdline/apt-get.cc:883
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "Hai falta descargar %sB/%sB d'archivos fonte.\n"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB
#: cmdline/apt-get.cc:833
#: cmdline/apt-get.cc:888
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "Hai falta descargar %sB d'archivos fonte.\n"
#: cmdline/apt-get.cc:839
#: cmdline/apt-get.cc:894
#, c-format
msgid "Fetch source %s\n"
msgstr "Fonte descargada %s\n"
#: cmdline/apt-get.cc:860
#: cmdline/apt-get.cc:915
msgid "Failed to fetch some archives."
msgstr "Falló la descarga de dellos archivos."
#: cmdline/apt-get.cc:865 apt-private/private-install.cc:325
#: cmdline/apt-get.cc:920 apt-private/private-install.cc:325
msgid "Download complete and in download only mode"
msgstr "Descarga completa y en mou de sólo descarga"
#: cmdline/apt-get.cc:891
#: cmdline/apt-get.cc:946
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "Saltando'l desempaquetáu de la fonte yá desempaquetada en %s\n"
#: cmdline/apt-get.cc:903
#: cmdline/apt-get.cc:958
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "Falló la orde de desempaquetáu '%s'.\n"
#: cmdline/apt-get.cc:904
#: cmdline/apt-get.cc:959
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "Comprueba qu'el paquete 'dpkg-dev' ta instaláu.\n"
#: cmdline/apt-get.cc:926
#: cmdline/apt-get.cc:981
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "Falló la orde build '%s'.\n"
#: cmdline/apt-get.cc:946
#: cmdline/apt-get.cc:1001
msgid "Child process failed"
msgstr "Falló el procesu fíu"
#: cmdline/apt-get.cc:965
#: cmdline/apt-get.cc:1020
msgid "Must specify at least one package to check builddeps for"
msgstr ""
"Hai que conseñar polo menos un paquete pa verificar les dependencies de "
"construcción"
#: cmdline/apt-get.cc:990
#: cmdline/apt-get.cc:1045
#, c-format
msgid ""
"No architecture information available for %s. See apt.conf(5) APT::"
"Architectures for setup"
msgstr ""
#: cmdline/apt-get.cc:1014 cmdline/apt-get.cc:1017
#: cmdline/apt-get.cc:1069 cmdline/apt-get.cc:1072
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "Nun pudo algamase información de dependencies de construcción pa %s"
#: cmdline/apt-get.cc:1037
#: cmdline/apt-get.cc:1092
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s nun tien dependencies de construcción.\n"
#: cmdline/apt-get.cc:1207
#: cmdline/apt-get.cc:1262
#, fuzzy, c-format
msgid ""
"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
@ -462,7 +477,7 @@ msgstr ""
"La dependencia %s en %s nun puede satisfacese porque nun se puede atopar el "
"paquete %s"
#: cmdline/apt-get.cc:1225
#: cmdline/apt-get.cc:1280
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
@ -471,14 +486,14 @@ msgstr ""
"La dependencia %s en %s nun puede satisfacese porque nun se puede atopar el "
"paquete %s"
#: cmdline/apt-get.cc:1248
#: cmdline/apt-get.cc:1303
#, c-format
msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
msgstr ""
"Nun se pudo satisfacer la dependencia %s pa %s: El paquete instaláu %s ye "
"enforma nuevu"
#: cmdline/apt-get.cc:1287
#: cmdline/apt-get.cc:1342
#, fuzzy, c-format
msgid ""
"%s dependency for %s cannot be satisfied because candidate version of "
@ -487,7 +502,7 @@ msgstr ""
"La dependencia %s en %s nun puede satisfacese porque denguna versión "
"disponible del paquete %s satisfaz los requisitos de versión"
#: cmdline/apt-get.cc:1293
#: cmdline/apt-get.cc:1348
#, fuzzy, c-format
msgid ""
"%s dependency for %s cannot be satisfied because package %s has no candidate "
@ -496,30 +511,30 @@ msgstr ""
"La dependencia %s en %s nun puede satisfacese porque nun se puede atopar el "
"paquete %s"
#: cmdline/apt-get.cc:1316
#: cmdline/apt-get.cc:1371
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "Fallu pa satisfacer la dependencia %s pa %s: %s"
#: cmdline/apt-get.cc:1331
#: cmdline/apt-get.cc:1386
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "Les dependencies de construcción de %s nun pudieron satisfacese."
#: cmdline/apt-get.cc:1336
#: cmdline/apt-get.cc:1391
msgid "Failed to process build dependencies"
msgstr "Fallu al procesar les dependencies de construcción"
#: cmdline/apt-get.cc:1429 cmdline/apt-get.cc:1441
#: cmdline/apt-get.cc:1484 cmdline/apt-get.cc:1496
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "Coneutando a %s (%s)"
#: cmdline/apt-get.cc:1529
#: cmdline/apt-get.cc:1584
msgid "Supported modules:"
msgstr "Módulos sofitaos:"
#: cmdline/apt-get.cc:1570
#: cmdline/apt-get.cc:1625
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@ -637,7 +652,7 @@ msgstr "%s yá ta na versión más nueva.\n"
#: cmdline/apt-mark.cc:247 cmdline/apt-mark.cc:328
#: apt-pkg/contrib/fileutl.cc:850 apt-pkg/contrib/gpgv.cc:223
#: apt-pkg/deb/dpkgpm.cc:1174
#: apt-pkg/deb/dpkgpm.cc:1178
#, c-format
msgid "Waited for %s but it wasn't there"
msgstr "Esperaba %s pero nun taba ellí"
@ -3309,114 +3324,114 @@ msgstr ""
"Nun pudieron descargase dellos ficheros d'índiz; inoráronse o usáronse los "
"antiguos nel so llugar."
#: apt-pkg/deb/dpkgpm.cc:90
#: apt-pkg/deb/dpkgpm.cc:91
#, c-format
msgid "Installing %s"
msgstr "Instalando %s"
#: apt-pkg/deb/dpkgpm.cc:91 apt-pkg/deb/dpkgpm.cc:977
#: apt-pkg/deb/dpkgpm.cc:92 apt-pkg/deb/dpkgpm.cc:978
#, c-format
msgid "Configuring %s"
msgstr "Configurando %s"
#: apt-pkg/deb/dpkgpm.cc:92 apt-pkg/deb/dpkgpm.cc:984
#: apt-pkg/deb/dpkgpm.cc:93 apt-pkg/deb/dpkgpm.cc:985
#, c-format
msgid "Removing %s"
msgstr "Desinstalando %s"
#: apt-pkg/deb/dpkgpm.cc:93
#: apt-pkg/deb/dpkgpm.cc:94
#, c-format
msgid "Completely removing %s"
msgstr "Desinstalóse dafechu %s"
#: apt-pkg/deb/dpkgpm.cc:94
#: apt-pkg/deb/dpkgpm.cc:95
#, c-format
msgid "Noting disappearance of %s"
msgstr "Anotando desaniciáu de %s"
#: apt-pkg/deb/dpkgpm.cc:95
#: apt-pkg/deb/dpkgpm.cc:96
#, c-format
msgid "Running post-installation trigger %s"
msgstr "Executando activador de post-instalación de %s"
#. FIXME: use a better string after freeze
#: apt-pkg/deb/dpkgpm.cc:808
#: apt-pkg/deb/dpkgpm.cc:809
#, c-format
msgid "Directory '%s' missing"
msgstr "Falta'l direutoriu '%s'."
#: apt-pkg/deb/dpkgpm.cc:823 apt-pkg/deb/dpkgpm.cc:845
#: apt-pkg/deb/dpkgpm.cc:824 apt-pkg/deb/dpkgpm.cc:846
#, c-format
msgid "Could not open file '%s'"
msgstr "Nun pudo abrise'l ficheru '%s'"
#: apt-pkg/deb/dpkgpm.cc:970
#: apt-pkg/deb/dpkgpm.cc:971
#, c-format
msgid "Preparing %s"
msgstr "Preparando %s"
#: apt-pkg/deb/dpkgpm.cc:971
#: apt-pkg/deb/dpkgpm.cc:972
#, c-format
msgid "Unpacking %s"
msgstr "Desempaquetando %s"
#: apt-pkg/deb/dpkgpm.cc:976
#: apt-pkg/deb/dpkgpm.cc:977
#, c-format
msgid "Preparing to configure %s"