Browse Source

merged from davids branch

tags/debian/0.8.0
Michael Vogt 11 years ago
parent
commit
af8a8da9c1
67 changed files with 593 additions and 293 deletions
  1. +21
    -7
      apt-pkg/acquire-item.cc
  2. +75
    -23
      apt-pkg/acquire.cc
  3. +26
    -5
      apt-pkg/acquire.h
  4. +3
    -1
      apt-pkg/algorithms.cc
  5. +2
    -0
      apt-pkg/contrib/configuration.cc
  6. +52
    -5
      apt-pkg/contrib/fileutl.cc
  7. +4
    -4
      apt-pkg/contrib/fileutl.h
  8. +15
    -2
      apt-pkg/deb/dpkgpm.cc
  9. +82
    -35
      apt-pkg/depcache.cc
  10. +3
    -0
      apt-pkg/depcache.h
  11. +11
    -3
      apt-pkg/packagemanager.cc
  12. +14
    -1
      apt-pkg/pkgcachegen.cc
  13. +7
    -0
      apt-pkg/sourcelist.cc
  14. +10
    -2
      cmdline/apt-cache.cc
  15. +49
    -35
      cmdline/apt-get.cc
  16. +49
    -1
      debian/changelog
  17. +3
    -1
      doc/apt.ent
  18. +1
    -0
      doc/examples/configure-index
  19. +4
    -4
      doc/po/de.po
  20. +9
    -9
      dselect/install
  21. +19
    -21
      ftparchive/writer.cc
  22. +2
    -2
      po/apt-all.pot
  23. +4
    -4
      po/ar.po
  24. +4
    -4
      po/ast.po
  25. +2
    -2
      po/bg.po
  26. +2
    -2
      po/bs.po
  27. +6
    -6
      po/ca.po
  28. +2
    -2
      po/cs.po
  29. +4
    -4
      po/cy.po
  30. +3
    -3
      po/da.po
  31. +2
    -2
      po/de.po
  32. +4
    -4
      po/dz.po
  33. +2
    -2
      po/el.po
  34. +2
    -2
      po/en_GB.po
  35. +6
    -6
      po/es.po
  36. +4
    -4
      po/eu.po
  37. +2
    -2
      po/fi.po
  38. +2
    -2
      po/fr.po
  39. +2
    -2
      po/gl.po
  40. +2
    -2
      po/he.po
  41. +2
    -2
      po/hu.po
  42. +2
    -2
      po/it.po
  43. +2
    -2
      po/ja.po
  44. +4
    -4
      po/km.po
  45. +4
    -4
      po/ko.po
  46. +2
    -2
      po/ku.po
  47. +2
    -2
      po/lt.po
  48. +4
    -4
      po/mr.po
  49. +2
    -2
      po/nb.po
  50. +4
    -4
      po/ne.po
  51. +2
    -2
      po/nl.po
  52. +2
    -2
      po/nn.po
  53. +2
    -2
      po/pl.po
  54. +7
    -7
      po/pt.po
  55. +4
    -4
      po/pt_BR.po
  56. +2
    -2
      po/ro.po
  57. +2
    -2
      po/ru.po
  58. +2
    -2
      po/sk.po
  59. +2
    -2
      po/sl.po
  60. +2
    -2
      po/sv.po
  61. +4
    -4
      po/th.po
  62. +4
    -4
      po/tl.po
  63. +2
    -2
      po/uk.po
  64. +2
    -2
      po/vi.po
  65. +2
    -2
      po/zh_CN.po
  66. +4
    -4
      po/zh_TW.po
  67. +4
    -4
      test/makefile

+ 21
- 7
apt-pkg/acquire-item.cc View File

@@ -1327,7 +1327,8 @@ pkgAcqArchive::pkgAcqArchive(pkgAcquire *Owner,pkgSourceList *Sources,
the archive is already available in the cache and stashs the MD5 for
checking later. */
bool pkgAcqArchive::QueueNext()
{
{
string const ForceHash = _config->Find("Acquire::ForceHash");
for (; Vf.end() == false; Vf++)
{
// Ignore not source sources
@@ -1350,12 +1351,25 @@ bool pkgAcqArchive::QueueNext()
return false;
string PkgFile = Parse.FileName();
if(Parse.SHA256Hash() != "")
ExpectedHash = HashString("SHA256", Parse.SHA256Hash());
else if (Parse.SHA1Hash() != "")
ExpectedHash = HashString("SHA1", Parse.SHA1Hash());
else
ExpectedHash = HashString("MD5Sum", Parse.MD5Hash());
if (ForceHash.empty() == false)
{
if(stringcasecmp(ForceHash, "sha256") == 0)
ExpectedHash = HashString("SHA256", Parse.SHA256Hash());
else if (stringcasecmp(ForceHash, "sha1") == 0)
ExpectedHash = HashString("SHA1", Parse.SHA1Hash());
else
ExpectedHash = HashString("MD5Sum", Parse.MD5Hash());
}
else
{
string Hash;
if ((Hash = Parse.SHA256Hash()).empty() == false)
ExpectedHash = HashString("SHA256", Hash);
else if ((Hash = Parse.SHA1Hash()).empty() == false)
ExpectedHash = HashString("SHA1", Hash);
else
ExpectedHash = HashString("MD5Sum", Parse.MD5Hash());
}
if (PkgFile.empty() == true)
return _error->Error(_("The package index files are corrupted. No Filename: "
"field for package %s."),


+ 75
- 23
apt-pkg/acquire.cc View File

@@ -19,6 +19,7 @@
#include <apt-pkg/configuration.h>
#include <apt-pkg/error.h>
#include <apt-pkg/strutl.h>
#include <apt-pkg/fileutl.h>

#include <apti18n.h>

@@ -29,7 +30,6 @@
#include <dirent.h>
#include <sys/time.h>
#include <errno.h>
#include <sys/stat.h>
/*}}}*/

using namespace std;
@@ -37,32 +37,81 @@ using namespace std;
// Acquire::pkgAcquire - Constructor /*{{{*/
// ---------------------------------------------------------------------
/* We grab some runtime state from the configuration space */
pkgAcquire::pkgAcquire(pkgAcquireStatus *Log) : Log(Log)
pkgAcquire::pkgAcquire() : Queues(0), Workers(0), Configs(0), Log(NULL), ToFetch(0),
Debug(_config->FindB("Debug::pkgAcquire",false)),
Running(false), LockFD(-1)
{
Queues = 0;
Configs = 0;
Workers = 0;
ToFetch = 0;
Running = false;
string Mode = _config->Find("Acquire::Queue-Mode","host");
string const Mode = _config->Find("Acquire::Queue-Mode","host");
if (strcasecmp(Mode.c_str(),"host") == 0)
QueueMode = QueueHost;
if (strcasecmp(Mode.c_str(),"access") == 0)
QueueMode = QueueAccess;
QueueMode = QueueAccess;
}
pkgAcquire::pkgAcquire(pkgAcquireStatus *Progress) : Queues(0), Workers(0),
Configs(0), Log(Progress), ToFetch(0),
Debug(_config->FindB("Debug::pkgAcquire",false)),
Running(false), LockFD(-1)
{
string const Mode = _config->Find("Acquire::Queue-Mode","host");
if (strcasecmp(Mode.c_str(),"host") == 0)
QueueMode = QueueHost;
if (strcasecmp(Mode.c_str(),"access") == 0)
QueueMode = QueueAccess;
Setup(Progress, "");
}
/*}}}*/
// Acquire::Setup - Delayed Constructor /*{{{*/
// ---------------------------------------------------------------------
/* Do everything needed to be a complete Acquire object and report the
success (or failure) back so the user knows that something is wrong… */
bool pkgAcquire::Setup(pkgAcquireStatus *Progress, string const &Lock)
{
Log = Progress;

Debug = _config->FindB("Debug::pkgAcquire",false);
// This is really a stupid place for this
struct stat St;
if (stat((_config->FindDir("Dir::State::lists") + "partial/").c_str(),&St) != 0 ||
S_ISDIR(St.st_mode) == 0)
_error->Error(_("Lists directory %spartial is missing."),
_config->FindDir("Dir::State::lists").c_str());
if (stat((_config->FindDir("Dir::Cache::Archives") + "partial/").c_str(),&St) != 0 ||
S_ISDIR(St.st_mode) == 0)
_error->Error(_("Archive directory %spartial is missing."),
_config->FindDir("Dir::Cache::Archives").c_str());
// check for existence and possibly create auxiliary directories
string const listDir = _config->FindDir("Dir::State::lists");
string const partialListDir = listDir + "partial/";
string const archivesDir = _config->FindDir("Dir::Cache::Archives");
string const partialArchivesDir = archivesDir + "partial/";

if (CheckDirectory(_config->FindDir("Dir::State"), partialListDir) == false &&
CheckDirectory(listDir, partialListDir) == false)
return _error->Errno("Acquire", _("List directory %spartial is missing."), listDir.c_str());

if (CheckDirectory(_config->FindDir("Dir::Cache"), partialArchivesDir) == false &&
CheckDirectory(archivesDir, partialArchivesDir) == false)
return _error->Errno("Acquire", _("Archives directory %spartial is missing."), archivesDir.c_str());

if (Lock.empty() == true || _config->FindB("Debug::NoLocking", false) == true)
return true;

// Lock the directory this acquire object will work in
LockFD = GetLock(flCombine(Lock, "lock"));
if (LockFD == -1)
return _error->Error(_("Unable to lock directory %s"), Lock.c_str());

return true;
}
/*}}}*/
// Acquire::CheckDirectory - ensure that the given directory exists /*{{{*/
// ---------------------------------------------------------------------
/* a small wrapper around CreateDirectory to check if it exists and to
remove the trailing "/apt/" from the parent directory if needed */
bool pkgAcquire::CheckDirectory(string const &Parent, string const &Path) const
{
if (DirectoryExists(Path) == true)
return true;

size_t const len = Parent.size();
if (len > 5 && Parent.find("/apt/", len - 6, 5) == len - 5)
{
if (CreateDirectory(Parent.substr(0,len-5), Path) == true)
return true;
}
else if (CreateDirectory(Parent, Path) == true)
return true;

return false;
}
/*}}}*/
// Acquire::~pkgAcquire - Destructor /*{{{*/
@@ -71,7 +120,10 @@ pkgAcquire::pkgAcquire(pkgAcquireStatus *Log) : Log(Log)
pkgAcquire::~pkgAcquire()
{
Shutdown();

if (LockFD != -1)
close(LockFD);

while (Configs != 0)
{
MethodConfig *Jnk = Configs;


+ 26
- 5
apt-pkg/acquire.h View File

@@ -66,6 +66,8 @@
#ifndef PKGLIB_ACQUIRE_H
#define PKGLIB_ACQUIRE_H

#include <apt-pkg/macros.h>

#include <vector>
#include <string>

@@ -161,7 +163,7 @@ class pkgAcquire
QueueAccess} QueueMode;

/** \brief If \b true, debugging information will be dumped to std::clog. */
bool Debug;
bool const Debug;
/** \brief If \b true, a download is currently in progress. */
bool Running;

@@ -332,15 +334,22 @@ class pkgAcquire
*/
double PartialPresent();

/** \brief Construct a new pkgAcquire.
/** \brief Delayed constructor
*
* \param Log The progress indicator associated with this
* download, or \b NULL for none. This object is not owned by the
* \param Progress indicator associated with this download or
* \b NULL for none. This object is not owned by the
* download process and will not be deleted when the pkgAcquire
* object is destroyed. Naturally, it should live for at least as
* long as the pkgAcquire object does.
* \param Lock defines a lock file that should be acquired to ensure
* only one Acquire class is in action at the time or an empty string
* if no lock file should be used.
*/
pkgAcquire(pkgAcquireStatus *Log = 0);
bool Setup(pkgAcquireStatus *Progress = NULL, string const &Lock = "");

/** \brief Construct a new pkgAcquire. */
pkgAcquire(pkgAcquireStatus *Log) __deprecated;
pkgAcquire();

/** \brief Destroy this pkgAcquire object.
*
@@ -348,6 +357,18 @@ class pkgAcquire
* this download.
*/
virtual ~pkgAcquire();

private:
/** \brief FD of the Lock file we acquire in Setup (if any) */
int LockFD;

/** \brief Ensure the existence of the given Path
*
* \param Parent directory of the Path directory - a trailing
* /apt/ will be removed before CreateDirectory call.
* \param Path which should exist after (successful) call
*/
bool CheckDirectory(string const &Parent, string const &Path) const;
};

/** \brief Represents a single download source from which an item


+ 3
- 1
apt-pkg/algorithms.cc View File

@@ -1398,7 +1398,9 @@ bool ListUpdate(pkgAcquireStatus &Stat,
int PulseInterval)
{
pkgAcquire::RunResult res;
pkgAcquire Fetcher(&Stat);
pkgAcquire Fetcher;
if (Fetcher.Setup(&Stat, _config->FindDir("Dir::State::Lists")) == false)
return false;

// Populate it with the source selection
if (List.GetIndexes(&Fetcher) == false)


+ 2
- 0
apt-pkg/contrib/configuration.cc View File

@@ -773,6 +773,8 @@ bool ReadConfigFile(Configuration &Conf,const string &FName,bool const &AsSectio
else
return _error->Error(_("Syntax error %s:%u: Unsupported directive '%s'"),FName.c_str(),CurLine,Tag.c_str());
}
else if (Tag.empty() == true && NoWord == false && Word == "#clear")
return _error->Error(_("Syntax error %s:%u: clear directive requires an option tree as argument"),FName.c_str(),CurLine);
else
{
// Set the item in the configuration class


+ 52
- 5
apt-pkg/contrib/fileutl.cc View File

@@ -18,6 +18,7 @@
/*}}}*/
// Include Files /*{{{*/
#include <apt-pkg/fileutl.h>
#include <apt-pkg/strutl.h>
#include <apt-pkg/error.h>
#include <apt-pkg/sptr.h>
#include <apt-pkg/configuration.h>
@@ -197,15 +198,61 @@ bool FileExists(string File)
return true;
}
/*}}}*/
// DirectoryExists - Check if a directory exists and is really one /*{{{*/
// ---------------------------------------------------------------------
/* */
bool DirectoryExists(string const &Path)
{
struct stat Buf;
if (stat(Path.c_str(),&Buf) != 0)
return false;
return ((Buf.st_mode & S_IFDIR) != 0);
}
/*}}}*/
// CreateDirectory - poor man's mkdir -p guarded by a parent directory /*{{{*/
// ---------------------------------------------------------------------
/* This method will create all directories needed for path in good old
mkdir -p style but refuses to do this if Parent is not a prefix of
this Path. Example: /var/cache/ and /var/cache/apt/archives are given,
so it will create apt/archives if /var/cache exists - on the other
hand if the parent is /var/lib the creation will fail as this path
is not a parent of the path to be generated. */
bool CreateDirectory(string const &Parent, string const &Path)
{
if (Parent.empty() == true || Path.empty() == true)
return false;

if (DirectoryExists(Path) == true)
return true;

if (DirectoryExists(Parent) == false)
return false;

// we are not going to create directories "into the blue"
if (Path.find(Parent, 0) != 0)
return false;

vector<string> const dirs = VectorizeString(Path.substr(Parent.size()), '/');
string progress = Parent;
for (vector<string>::const_iterator d = dirs.begin(); d != dirs.end(); ++d)
{
if (d->empty() == true)
continue;

progress.append("/").append(*d);
if (DirectoryExists(progress) == true)
continue;

if (mkdir(progress.c_str(), 0755) != 0)
return false;
}
return true;
}
/*}}}*/
// GetListOfFilesInDir - returns a vector of files in the given dir /*{{{*/
// ---------------------------------------------------------------------
/* If an extension is given only files with this extension are included
in the returned vector, otherwise every "normal" file is included. */
std::vector<string> GetListOfFilesInDir(string const &Dir, string const &Ext,
bool const &SortList)
{
return GetListOfFilesInDir(Dir, Ext, SortList, false);
}
std::vector<string> GetListOfFilesInDir(string const &Dir, string const &Ext,
bool const &SortList, bool const &AllowNoExt)
{


+ 4
- 4
apt-pkg/contrib/fileutl.h View File

@@ -21,6 +21,7 @@
#ifndef PKGLIB_FILEUTL_H
#define PKGLIB_FILEUTL_H

#include <apt-pkg/macros.h>

#include <string>
#include <vector>
@@ -82,11 +83,10 @@ bool RunScripts(const char *Cnf);
bool CopyFile(FileFd &From,FileFd &To);
int GetLock(string File,bool Errors = true);
bool FileExists(string File);
// FIXME: next ABI-Break: merge the two method-headers
bool DirectoryExists(string const &Path) __attrib_const;
bool CreateDirectory(string const &Parent, string const &Path);
std::vector<string> GetListOfFilesInDir(string const &Dir, string const &Ext,
bool const &SortList);
std::vector<string> GetListOfFilesInDir(string const &Dir, string const &Ext,
bool const &SortList, bool const &AllowNoExt);
bool const &SortList, bool const &AllowNoExt=false);
std::vector<string> GetListOfFilesInDir(string const &Dir, std::vector<string> const &Ext,
bool const &SortList);
string SafeGetCWD();


+ 15
- 2
apt-pkg/deb/dpkgpm.cc View File

@@ -105,7 +105,7 @@ ionice(int PID)
/* */
pkgDPkgPM::pkgDPkgPM(pkgDepCache *Cache)
: pkgPackageManager(Cache), dpkgbuf_pos(0),
term_out(NULL), PackagesDone(0), PackagesTotal(0)
term_out(NULL), history_out(NULL), PackagesDone(0), PackagesTotal(0)
{
}
/*}}}*/
@@ -124,7 +124,19 @@ bool pkgDPkgPM::Install(PkgIterator Pkg,string File)
if (File.empty() == true || Pkg.end() == true)
return _error->Error("Internal Error, No file name for %s",Pkg.Name());

List.push_back(Item(Item::Install,Pkg,File));
// If the filename string begins with DPkg::Chroot-Directory, return the
// substr that is within the chroot so dpkg can access it.
string const chrootdir = _config->FindDir("DPkg::Chroot-Directory","/");
if (chrootdir != "/" && File.find(chrootdir) == 0)
{
size_t len = chrootdir.length();
if (chrootdir.at(len - 1) == '/')
len--;
List.push_back(Item(Item::Install,Pkg,File.substr(len)));
}
else
List.push_back(Item(Item::Install,Pkg,File));

return true;
}
/*}}}*/
@@ -651,6 +663,7 @@ bool pkgDPkgPM::CloseLog()
fprintf(history_out, "End-Date: %s\n", timestr);
fclose(history_out);
}
history_out = NULL;

return true;
}


+ 82
- 35
apt-pkg/depcache.cc View File

@@ -841,42 +841,15 @@ void pkgDepCache::Update(OpProgress *Prog)
if (installed == false)
recheck.insert(G.Index());
}
std::vector<std::string> Archs = APT::Configuration::getArchitectures();
bool checkChanged = false;
do {
for(std::set<unsigned long>::const_iterator g = recheck.begin();
g != recheck.end(); ++g) {
GrpIterator G = GrpIterator(*Cache, Cache->GrpP + *g);
VerIterator allV = G.FindPkg("all").CurrentVer();
for (std::vector<std::string>::const_iterator a = Archs.begin();
a != Archs.end(); ++a)
{
PkgIterator P = G.FindPkg(*a);
if (P.end() == true) continue;
for (VerIterator V = P.VersionList(); V.end() != true; ++V)
{
// FIXME: String comparison isn't a save indicator!
if (strcmp(allV.VerStr(),V.VerStr()) != 0)
continue;
unsigned char const CurDepState = VersionState(V.DependsList(),DepInstall,DepInstMin,DepInstPolicy);
if ((CurDepState & DepInstMin) != DepInstMin)
break; // we found the correct version, but it is broken. Better try another arch or later again
P->CurrentVer = V.Index();
AddStates(P);
Update(P);
AddSizes(P);
checkChanged = true;
break;
}
}
recheck.erase(g);
}
} while (checkChanged == true && recheck.empty() == false);

if (_config->FindB("Debug::MultiArchKiller", false) == true)
for(std::set<unsigned long>::const_iterator g = recheck.begin();
g != recheck.end(); ++g)
std::cout << "No pseudo package for »" << GrpIterator(*Cache, Cache->GrpP + *g).Name() << "« installed" << std::endl;
while (recheck.empty() != true)
{
std::set<unsigned long>::const_iterator g = recheck.begin();
unsigned long const G = *g;
recheck.erase(g);
if (unlikely(ReInstallPseudoForGroup(G, recheck) == false))
_error->Warning(_("Internal error, group »%s« has no installable pseudo package"), GrpIterator(*Cache, Cache->GrpP + *g).Name());
}
}

if (Prog != 0)
@@ -885,6 +858,80 @@ void pkgDepCache::Update(OpProgress *Prog)
readStateFile(Prog);
}
/*}}}*/
// DepCache::ReInstallPseudoForGroup - MultiArch helper for Update() /*{{{*/
// ---------------------------------------------------------------------
/* RemovePseudoInstalledPkg() is very successful. It even kills packages
to an amount that no pseudo package is left, but we need a pseudo package
for upgrading senarios so we need to reinstall one pseudopackage which
doesn't break everything. Thankfully we can't have architecture depending
negative dependencies so this problem is already eliminated */
bool pkgDepCache::ReInstallPseudoForGroup(pkgCache::PkgIterator const &P, std::set<unsigned long> &recheck)
{
if (P->CurrentVer != 0)
return true;
// recursive call for packages which provide this package
for (pkgCache::PrvIterator Prv = P.ProvidesList(); Prv.end() != true; ++Prv)
ReInstallPseudoForGroup(Prv.OwnerPkg(), recheck);
// check if we actually need to look at this group
unsigned long const G = P->Group;
std::set<unsigned long>::const_iterator Pi = recheck.find(G);
if (Pi == recheck.end())
return true;
recheck.erase(Pi); // remove here, so we can't fall into an endless loop
if (unlikely(ReInstallPseudoForGroup(G, recheck) == false))
{
recheck.insert(G);
return false;
}
return true;
}
bool pkgDepCache::ReInstallPseudoForGroup(unsigned long const &G, std::set<unsigned long> &recheck)
{
std::vector<std::string> static const Archs = APT::Configuration::getArchitectures();
pkgCache::GrpIterator Grp(*Cache, Cache->GrpP + G);
if (unlikely(Grp.end() == true))
return false;
for (std::vector<std::string>::const_iterator a = Archs.begin();
a != Archs.end(); ++a)
{
pkgCache::PkgIterator P = Grp.FindPkg(*a);
if (P.end() == true)
continue;
pkgCache::VerIterator allV = Grp.FindPkg("all").CurrentVer();
for (VerIterator V = P.VersionList(); V.end() != true; ++V)
{
// search for the same version as the all package
if (allV->Hash != V->Hash || strcmp(allV.VerStr(),V.VerStr()) != 0)
continue;
unsigned char const CurDepState = VersionState(V.DependsList(),DepInstall,DepInstMin,DepInstPolicy);
// If it is broken, try to install dependencies first before retry
if ((CurDepState & DepInstMin) != DepInstMin)
{
for (pkgCache::DepIterator D = V.DependsList(); D.end() != true; ++D)
{
if (D->Type != pkgCache::Dep::PreDepends && D->Type != pkgCache::Dep::Depends)
continue;
ReInstallPseudoForGroup(D.TargetPkg(), recheck);
}
unsigned char const CurDepState = VersionState(V.DependsList(),DepInstall,DepInstMin,DepInstPolicy);
// if package ist still broken… try another arch
if ((CurDepState & DepInstMin) != DepInstMin)
break;
}
// dependencies satisfied: reinstall the package
RemoveSizes(P);
RemoveStates(P);
P->CurrentVer = V.Index();
PkgState[P->ID].InstallVer = V;
AddStates(P);
Update(P);
AddSizes(P);
return true;
}
}
return false;
}
/*}}}*/
// DepCache::Update - Update the deps list of a package /*{{{*/
// ---------------------------------------------------------------------
/* This is a helper for update that only does the dep portion of the scan.


+ 3
- 0
apt-pkg/depcache.h View File

@@ -331,6 +331,7 @@ class pkgDepCache : protected pkgCache::Namespace
// Legacy.. We look like a pkgCache
inline operator pkgCache &() {return *Cache;};
inline Header &Head() {return *Cache->HeaderP;};
inline GrpIterator GrpBegin() {return Cache->GrpBegin();};
inline PkgIterator PkgBegin() {return Cache->PkgBegin();};
inline GrpIterator FindGrp(string const &Name) {return Cache->FindGrp(Name);};
inline PkgIterator FindPkg(string const &Name) {return Cache->FindPkg(Name);};
@@ -469,6 +470,8 @@ class pkgDepCache : protected pkgCache::Namespace
private:
// Helper for Update(OpProgress) to remove pseudoinstalled arch all packages
bool RemovePseudoInstalledPkg(PkgIterator &Pkg, std::set<unsigned long> &recheck);
bool ReInstallPseudoForGroup(unsigned long const &Grp, std::set<unsigned long> &recheck);
bool ReInstallPseudoForGroup(pkgCache::PkgIterator const &P, std::set<unsigned long> &recheck);
};

#endif

+ 11
- 3
apt-pkg/packagemanager.cc View File

@@ -596,9 +596,17 @@ bool pkgPackageManager::SmartUnPack(PkgIterator Pkg)
{
if(Install(Pkg,FileNames[Pkg->ID]) == false)
return false;
} else if (SmartUnPack(Pkg.Group().FindPkg("all")) == false)
return false;

} else {
// Pseudo packages will not be unpacked - instead we will do this
// for the "real" package, but only once and if it is already
// configured we don't need to unpack it again…
PkgIterator const P = Pkg.Group().FindPkg("all");
if (List->IsFlag(P,pkgOrderList::UnPacked) != true &&
List->IsFlag(P,pkgOrderList::Configured) != true) {
if (SmartUnPack(P) == false)
return false;
}
}
List->Flag(Pkg,pkgOrderList::UnPacked,pkgOrderList::States);
// Perform immedate configuration of the package.


+ 14
- 1
apt-pkg/pkgcachegen.cc View File

@@ -1003,7 +1003,20 @@ bool pkgMakeStatusCache(pkgSourceList &List,OpProgress &Progress,
// Decide if we can write to the files..
string const CacheFile = _config->FindFile("Dir::Cache::pkgcache");
string const SrcCacheFile = _config->FindFile("Dir::Cache::srcpkgcache");

// ensure the cache directory exists
if (CacheFile.empty() == false || SrcCacheFile.empty() == false)
{
string dir = _config->FindDir("Dir::Cache");
size_t const len = dir.size();
if (len > 5 && dir.find("/apt/", len - 6, 5) == len - 5)
dir = dir.substr(0, len - 5);
if (CacheFile.empty() == false)
CreateDirectory(dir, flNotFile(CacheFile));
if (SrcCacheFile.empty() == false)
CreateDirectory(dir, flNotFile(SrcCacheFile));
}

// Decide if we can write to the cache
bool Writeable = false;
if (CacheFile.empty() == false)


+ 7
- 0
apt-pkg/sourcelist.cc View File

@@ -94,6 +94,13 @@ bool pkgSourceList::Type::ParseLine(vector<metaIndex *> &List,
if (option.length() < 3)
return _error->Error(_("Malformed line %lu in source list %s ([option] too short)"),CurLine,File.c_str());

// accept options even if the last has no space before the ]-end marker
if (option.at(option.length()-1) == ']')
{
for (; *Buffer != ']'; --Buffer);
option.resize(option.length()-1);
}

size_t const needle = option.find('=');
if (needle == string::npos)
return _error->Error(_("Malformed line %lu in source list %s ([%s] is not an assignment)"),CurLine,File.c_str(), option.c_str());


+ 10
- 2
cmdline/apt-cache.cc View File

@@ -1585,6 +1585,14 @@ bool Policy(CommandLine &CmdL)
}

string const myArch = _config->Find("APT::Architecture");
char const * const msgInstalled = _(" Installed: ");
char const * const msgCandidate = _(" Candidate: ");
short const InstalledLessCandidate =
mbstowcs(NULL, msgInstalled, 0) - mbstowcs(NULL, msgCandidate, 0);
short const deepInstalled =
(InstalledLessCandidate < 0 ? (InstalledLessCandidate*-1) : 0) - 1;
short const deepCandidate =
(InstalledLessCandidate > 0 ? (InstalledLessCandidate) : 0) - 1;

// Print out detailed information for each package
for (const char **I = CmdL.FileList + 1; *I != 0; I++)
@@ -1604,14 +1612,14 @@ bool Policy(CommandLine &CmdL)
cout << Pkg.FullName(true) << ":" << endl;

// Installed version
cout << _(" Installed: ");
cout << msgInstalled << OutputInDepth(deepInstalled, " ");
if (Pkg->CurrentVer == 0)
cout << _("(none)") << endl;
else
cout << Pkg.CurrentVer().VerStr() << endl;
// Candidate Version
cout << _(" Candidate: ");
cout << msgCandidate << OutputInDepth(deepCandidate, " ");
pkgCache::VerIterator V = Plcy.GetCandidateVer(Pkg);
if (V.end() == true)
cout << _("(none)") << endl;


+ 49
- 35
cmdline/apt-get.cc View File

@@ -692,7 +692,7 @@ bool CacheFile::CheckDeps(bool AllowBroken)
}
else
{
c1out << _("You might want to run `apt-get -f install' to correct these.") << endl;
c1out << _("You might want to run 'apt-get -f install' to correct these.") << endl;
ShowBroken(c1out,*this,true);

return _error->Error(_("Unmet dependencies. Try using -f."));
@@ -811,20 +811,19 @@ bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask = true,
pkgRecords Recs(Cache);
if (_error->PendingError() == true)
return false;
// Lock the archive directory
FileFd Lock;
if (_config->FindB("Debug::NoLocking",false) == false &&
_config->FindB("APT::Get::Print-URIs") == false)
{
Lock.Fd(GetLock(_config->FindDir("Dir::Cache::Archives") + "lock"));
if (_error->PendingError() == true)
return _error->Error(_("Unable to lock the download directory"));
}

// Create the download object
pkgAcquire Fetcher;
AcqTextStatus Stat(ScreenWidth,_config->FindI("quiet",0));
pkgAcquire Fetcher(&Stat);
if (_config->FindB("APT::Get::Print-URIs", false) == true)
{
// force a hashsum for compatibility reasons
_config->CndSet("Acquire::ForceHash", "md5sum");
if (Fetcher.Setup(&Stat, "") == false)
return false;
}
else if (Fetcher.Setup(&Stat, _config->FindDir("Dir::Cache::Archives")) == false)
return false;

// Read the source list
pkgSourceList List;
@@ -1148,20 +1147,27 @@ bool TryToInstall(pkgCache::PkgIterator Pkg,pkgDepCache &Cache,
Pkg.FullName(true).c_str());
pkgCache::PrvIterator I = Pkg.ProvidesList();
unsigned short provider = 0;
for (; I.end() == false; I++)
{
pkgCache::PkgIterator Pkg = I.OwnerPkg();
if (Cache[Pkg].CandidateVerIter(Cache) == I.OwnerVer())
{
c1out << " " << Pkg.FullName(true) << " " << I.OwnerVer().VerStr();
if (Cache[Pkg].Install() == true && Cache[Pkg].NewInstall() == false)
c1out << " " << Pkg.FullName(true) << " " << I.OwnerVer().VerStr() <<
_(" [Installed]") << endl;
else
c1out << " " << Pkg.FullName(true) << " " << I.OwnerVer().VerStr() << endl;
}
c1out << _(" [Installed]");
c1out << endl;
++provider;
}
}
c1out << _("You should explicitly select one to install.") << endl;
// if we found no candidate which provide this package, show non-candidates
if (provider == 0)
for (I = Pkg.ProvidesList(); I.end() == false; I++)
c1out << " " << I.OwnerPkg().FullName(true) << " " << I.OwnerVer().VerStr()
<< _(" [Not candidate version]") << endl;
else
c1out << _("You should explicitly select one to install.") << endl;
}
else
{
@@ -1258,6 +1264,11 @@ bool TryToChangeVer(pkgCache::PkgIterator Pkg,pkgDepCache &Cache,
}
Cache.SetCandidateVersion(Ver);

// Set the all package to the same candidate
if (Ver.Pseudo() == true)
Cache.SetCandidateVersion(Match.Find(Pkg.Group().FindPkg("all")));

return true;
}
/*}}}*/
@@ -1446,23 +1457,19 @@ bool DoUpdate(CommandLine &CmdL)
if (List.ReadMainList() == false)
return false;

// Lock the list directory
FileFd Lock;
if (_config->FindB("Debug::NoLocking",false) == false)
{
Lock.Fd(GetLock(_config->FindDir("Dir::State::Lists") + "lock"));
if (_error->PendingError() == true)
return _error->Error(_("Unable to lock the list directory"));
}
// Create the progress
AcqTextStatus Stat(ScreenWidth,_config->FindI("quiet",0));
// Just print out the uris an exit if the --print-uris flag was used
if (_config->FindB("APT::Get::Print-URIs") == true)
{
// force a hashsum for compatibility reasons
_config->CndSet("Acquire::ForceHash", "md5sum");

// get a fetcher
pkgAcquire Fetcher(&Stat);
pkgAcquire Fetcher;
if (Fetcher.Setup(&Stat) == false)
return false;

// Populate it with the source selection and get all Indexes
// (GetAll=true)
@@ -1781,11 +1788,14 @@ bool DoInstall(CommandLine &CmdL)
// Run over the matches
bool Hit = false;
for (Pkg = Cache->PkgBegin(); Pkg.end() == false; Pkg++)
for (pkgCache::GrpIterator Grp = Cache->GrpBegin(); Grp.end() == false; ++Grp)
{
if (regexec(&Pattern,Pkg.Name(),0,0,0) != 0)
if (regexec(&Pattern,Grp.Name(),0,0,0) != 0)
continue;
Pkg = Grp.FindPkg("native");
if (unlikely(Pkg.end() == true))
continue;

ioprintf(c1out,_("Note, selecting %s for regex '%s'\n"),
Pkg.Name(),S);
@@ -1832,7 +1842,7 @@ bool DoInstall(CommandLine &CmdL)
packages */
if (BrokenFix == true && Cache->BrokenCount() != 0)
{
c1out << _("You might want to run `apt-get -f install' to correct these:") << endl;
c1out << _("You might want to run 'apt-get -f install' to correct these:") << endl;
ShowBroken(c1out,Cache,false);

return _error->Error(_("Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution)."));
@@ -2211,7 +2221,9 @@ bool DoSource(CommandLine &CmdL)

// Create the download object
AcqTextStatus Stat(ScreenWidth,_config->FindI("quiet",0));
pkgAcquire Fetcher(&Stat);
pkgAcquire Fetcher;
if (Fetcher.Setup(&Stat) == false)
return false;

DscFile *Dsc = new DscFile[CmdL.FileSize()];
@@ -2468,7 +2480,9 @@ bool DoBuildDep(CommandLine &CmdL)

// Create the download object
AcqTextStatus Stat(ScreenWidth,_config->FindI("quiet",0));
pkgAcquire Fetcher(&Stat);
pkgAcquire Fetcher;
if (Fetcher.Setup(&Stat) == false)
return false;

unsigned J = 0;
for (const char **I = CmdL.FileList + 1; *I != 0; I++, J++)


+ 49
- 1
debian/changelog View File

@@ -1,5 +1,53 @@
apt (0.7.26~exp4) UNRELEASEDexperimental; urgency=low

[ David Kalnischkies ]
* apt-pkg/depcache.cc:
- rewrite the pseudo package reinstaller to be more intelligent
in his package choices
* apt-pkg/packagemanager.cc:
- don't try to "unpack" pseudo packages twice
* apt-pkg/contrib/fileutl.cc:
- add a parent-guarded "mkdir -p" as CreateDirectory()
* apt-pkg/acquire.{cc,h}:
- add a delayed constructor with Setup() for success reporting
- check for and create directories in Setup if needed instead of
error out unfriendly in the Constructor (Closes: #523920, #525783)
- optional handle a lock file in Setup()
* apt-pkg/acquire-item.cc:
- Acquire::ForceHash to force method for expected hash
* cmdline/apt-get.cc:
- remove the lock file handling and let Acquire take care of it instead
- display MD5Sum in --print-uris if not forced to use another method
instead of displaying the strongest available (Closes: #576420)
- regex for package names executed on Grp- not PkgIterator
- show non-candidates as fallback for virtual packages (Closes: #578385)
- set also "all" to this version for pseudo packages in TryToChangeVer
* apt-pkg/deb/dpkgpm.cc:
- remove Chroot-Directory from files passed to install commands.
Thanks to Kel Modderman for report & patch! (Closes: #577226)
* ftparchive/writer.cc:
- remove 999 chars Files and Checksums rewrite limit (Closes: #577759)
* cmdline/apt-cache.cc:
- align Installed and Candidate Version in policy so they can be compared
easier, thanks Ralf Gesellensetter for the pointer! (Closes: #578657)
* doc/apt.ent:
- Add a note about APT_CONFIG in the -c description (Closes: #578267)
* doc/po/de.po:
- correct typos in german apt_preferences manpage, thanks Chris Leick!
* apt-pkg/sourcelist.cc:
- be less strict and accept [option=value] as well
* apt-pkg/contrib/configuration.cc:
- error out if #clear directive has no argument

[ Jari Aalto ]
* cmdline/apt-get.cc:
- replace backticks with single quotes around fix-broken command
in the broken packages message. (Closes: #577168)
* dselect/install:
- modernize if-statements not to use 'x' (Closes: #577117)
- replace backticks with POSIX $() (Closes: #577116)

[ Michael Vogt ]
* [ Abi break ] apt-pkg/acquire-item.{cc,h}:
- add "IsIndexFile" to constructor of pkgAcqFile so that it sends
the right cache control headers
@@ -11,7 +59,7 @@ apt (0.7.26~exp4) UNRELEASEDexperimental; urgency=low
- Add test for Esperanto that has nocounty associated with them
(LP: #560956)

-- Michael Vogt <michael.vogt@ubuntu.com> Tue, 04 May 2010 09:55:08 +0200
-- David Kalnischkies <kalnischkies@gmail.com> Sat, 03 Apr 2010 14:58:39 +0200

apt (0.7.26~exp3) experimental; urgency=low



+ 3
- 1
doc/apt.ent View File

@@ -261,7 +261,9 @@
<term><option>--config-file</option></term>
<listitem><para>Configuration File; Specify a configuration file to use.
The program will read the default configuration file and then this
configuration file. See &apt-conf; for syntax information.
configuration file. If configuration settings need to be set before the
default configuration files are parsed specify a file with the <envar>APT_CONFIG</envar>
environment variable. See &apt-conf; for syntax information.
</para>
</listitem>
</varlistentry>


+ 1
- 0
doc/examples/configure-index View File

@@ -169,6 +169,7 @@ Acquire
Queue-Mode "host"; // host|access
Retries "0";
Source-Symlinks "true";
ForceHash "sha256"; // hashmethod used for expected hash: sha256, sha1 or md5sum

PDiffs "true"; // try to get the IndexFile diffs
PDiffs::FileLimit "4"; // don't use diffs if we would need more than 4 diffs


+ 4
- 4
doc/po/de.po View File

@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: apt-doc 0.7.24\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
"POT-Creation-Date: 2010-03-19 11:14+0100\n"
"PO-Revision-Date: 2010-03-22 07:41+0100\n"
"PO-Revision-Date: 2010-04-21 14:04+0200\n"
"Last-Translator: Chris Leick <c.leick@vollbio.de>\n"
"Language-Team: German <debian-l10n-german@lists.debian.org>\n"
"MIME-Version: 1.0\n"
@@ -1120,7 +1120,7 @@ msgid ""
msgstr ""
"<!ENTITY translation-holder \"\n"
" Die deutsche Übersetzung wurde 2009 von Chris Leick <email>c.leick@vollbio.de</email> angefertigt\n"
" in Zusammenarbeit mit dem Debian German-l10n-Team <email>debian-l10n-german@lists.debian.org</email>.\n"
" in Zusammenarbeit mit dem Deutschen l10n-Team von Debian <email>debian-l10n-german@lists.debian.org</email>.\n"
"\">\n"

#. type: Plain text
@@ -8683,7 +8683,7 @@ msgid ""
msgstr ""
"Eine Version eines Pakets, dessen Ursprung nicht das lokale System ist, aber "
"ein anderer in &sources-list; aufgelisteter Ort und der zu einer "
"<literal>unstable</literal>-Distribution gehört. wird nur installiert, falls "
"<literal>unstable</literal>-Distribution gehört, wird nur installiert, falls "
"es zur Installation ausgewählt wurde und nicht bereits eine Version des "
"Pakets installiert ist."

@@ -9023,7 +9023,7 @@ msgstr ""
"Paketversionen eine höhere Priorität als die Vorgabe (500) zu geben, die zu "
"einer <literal>stable</literal>-Distribution gehören und eine ungeheuer "
"niedrige Priorität Paketversionen, die zu anderen <literal>Debian</literal>-"
"Distribution gehören. <placeholder type=\"programlisting\" id=\"0\"/>"
"Distributionen gehören. <placeholder type=\"programlisting\" id=\"0\"/>"

#. type: Content of: <refentry><refsect1><refsect2><para><programlisting>
#: apt_preferences.5.xml:507 apt_preferences.5.xml:553


+ 9
- 9
dselect/install View File

@@ -12,11 +12,11 @@ DPKG_OPTS="--admindir=$1"
APT_OPT0="-oDir::State::status=$1/status"
APT_OPT1="-oDPkg::Options::=$DPKG_OPTS"
set -e
RES=`apt-config shell CLEAN DSelect::Clean OPTS DSelect::Options \
RES=$(apt-config shell CLEAN DSelect::Clean OPTS DSelect::Options \
DPKG Dir::Bin::dpkg/f APTGET Dir::Bin::apt-get/f \
ARCHIVES Dir::Cache::Archives/d \
WAIT DSelect::WaitAfterDownload/b \
CHECKDIR DSelect::CheckDir/b`
CHECKDIR DSelect::CheckDir/b)
eval $RES
set +e

@@ -46,7 +46,7 @@ yesno() {
echo $ans | tr YN yn
}

if [ x$WAIT = "xtrue" ]; then
if [ "$WAIT" = "true" ]; then
$APTGET $OPTS "$APT_OPT0" "$APT_OPT1" -d dselect-upgrade
echo $"Press enter to continue." && read RES
$APTGET $OPTS "$APT_OPT0" "$APT_OPT1" dselect-upgrade
@@ -64,20 +64,20 @@ fi
# Finished OK
if [ $RES -eq 0 ]; then

if [ `ls $ARCHIVES $ARCHIVES/partial | egrep -v "^lock$|^partial$" | wc -l` \
if [ $(ls $ARCHIVES $ARCHIVES/partial | egrep -v "^lock$|^partial$" | wc -l) \
-eq 0 ]; then
exit 0
fi

NEWLS=`ls -ld $ARCHIVES`
if [ x$CHECKDIR = "xtrue" ]; then
if [ "x$OLDLS" = "x$NEWLS" ]; then
NEWLS=$(ls -ld $ARCHIVES)
if [ "$CHECKDIR" = "true" ]; then
if [ "$OLDLS" = "$NEWLS" ]; then
exit 0
fi
fi
# Check the cleaning mode
case `echo $CLEAN | tr '[:upper:]' '[:lower:]'` in
case $(echo $CLEAN | tr '[:upper:]' '[:lower:]') in
auto)
$APTGET "$APT_OPT0" "$APT_OPT1" autoclean &&
echo $"Press enter to continue." && read RES && exit 0;
@@ -89,7 +89,7 @@ if [ $RES -eq 0 ]; then
prompt)
exec 3>&1
echo -n $"Do you want to erase any previously downloaded .deb files?"
if [ `yesno "" y` = y ]; then
if [ $(yesno "" y) = y ]; then
$APTGET "$APT_OPT0" "$APT_OPT1" clean &&
echo $"Press enter to continue." && read RES && exit 0;
fi


+ 19
- 21
ftparchive/writer.cc View File

@@ -28,6 +28,7 @@
#include <ftw.h>
#include <fnmatch.h>
#include <iostream>
#include <sstream>
#include <memory>
#include "cachedb.h"
@@ -706,23 +707,20 @@ bool SourcesWriter::DoPackage(string FileName)
// Add the dsc to the files hash list
string const strippedName = flNotDir(FileName);
char Files[1000];
snprintf(Files,sizeof(Files),"\n %s %lu %s\n %s",
string(MD5.Result()).c_str(),St.st_size,
strippedName.c_str(),
Tags.FindS("Files").c_str());

char ChecksumsSha1[1000];
snprintf(ChecksumsSha1,sizeof(ChecksumsSha1),"\n %s %lu %s\n %s",
string(SHA1.Result()).c_str(),St.st_size,
strippedName.c_str(),
Tags.FindS("Checksums-Sha1").c_str());

char ChecksumsSha256[1000];
snprintf(ChecksumsSha256,sizeof(ChecksumsSha256),"\n %s %lu %s\n %s",
string(SHA256.Result()).c_str(),St.st_size,
strippedName.c_str(),
Tags.FindS("Checksums-Sha256").c_str());
std::ostringstream ostreamFiles;
ostreamFiles << "\n " << string(MD5.Result()) << " " << St.st_size << " "
<< strippedName << "\n " << Tags.FindS("Files");
string const Files = ostreamFiles.str();

std::ostringstream ostreamSha1;
ostreamSha1 << "\n " << string(SHA1.Result()) << " " << St.st_size << " "
<< strippedName << "\n " << Tags.FindS("Checksums-Sha1");
string const ChecksumsSha1 = ostreamSha1.str();

std::ostringstream ostreamSha256;
ostreamSha256 << "\n " << string(SHA256.Result()) << " " << St.st_size << " "
<< strippedName << "\n " << Tags.FindS("Checksums-Sha256");
string const ChecksumsSha256 = ostreamSha256.str();

// Strip the DirStrip prefix from the FileName and add the PathPrefix
string NewFileName;
@@ -740,7 +738,7 @@ bool SourcesWriter::DoPackage(string FileName)

// Perform the delinking operation over all of the files
string ParseJnk;
const char *C = Files;
const char *C = Files.c_str();
char *RealPath = NULL;
for (;isspace(*C); C++);
while (*C != 0)
@@ -773,9 +771,9 @@ bool SourcesWriter::DoPackage(string FileName)

unsigned int End = 0;
SetTFRewriteData(Changes[End++],"Source",Package.c_str(),"Package");
SetTFRewriteData(Changes[End++],"Files",Files);
SetTFRewriteData(Changes[End++],"Checksums-Sha1",ChecksumsSha1);
SetTFRewriteData(Changes[End++],"Checksums-Sha256",ChecksumsSha256);
SetTFRewriteData(Changes[End++],"Files",Files.c_str());
SetTFRewriteData(Changes[End++],"Checksums-Sha1",ChecksumsSha1.c_str());
SetTFRewriteData(Changes[End++],"Checksums-Sha256",ChecksumsSha256.c_str());
if (Directory != "./")
SetTFRewriteData(Changes[End++],"Directory",Directory.c_str());
SetTFRewriteData(Changes[End++],"Priority",BestPrio.c_str());


+ 2
- 2
po/apt-all.pot View File

@@ -670,7 +670,7 @@ msgid " Done"
msgstr ""

#: cmdline/apt-get.cc:684
msgid "You might want to run `apt-get -f install' to correct these."
msgid "You might want to run 'apt-get -f install' to correct these."
msgstr ""

#: cmdline/apt-get.cc:687
@@ -981,7 +981,7 @@ msgid "%s set to manually installed.\n"
msgstr ""

#: cmdline/apt-get.cc:1808
msgid "You might want to run `apt-get -f install' to correct these:"
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr ""

#: cmdline/apt-get.cc:1811


+ 4
- 4
po/ar.po View File

@@ -672,8 +672,8 @@ msgid " Done"
msgstr " تم"

#: cmdline/apt-get.cc:684
msgid "You might want to run `apt-get -f install' to correct these."
msgstr "قد ترغب بتنفيذ الأمر `apt-get -f install' لتصحيح هذه."
msgid "You might want to run 'apt-get -f install' to correct these."
msgstr "قد ترغب بتنفيذ الأمر 'apt-get -f install' لتصحيح هذه."

#: cmdline/apt-get.cc:687
msgid "Unmet dependencies. Try using -f."
@@ -979,8 +979,8 @@ msgid "%s set to manually installed.\n"
msgstr "إلا أنه سيتم تثبيت %s"

#: cmdline/apt-get.cc:1794
msgid "You might want to run `apt-get -f install' to correct these:"
msgstr "قد ترغب بتشغيل `apt-get -f install' لتصحيح هذه:"
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "قد ترغب بتشغيل 'apt-get -f install' لتصحيح هذه:"

#: cmdline/apt-get.cc:1797
msgid ""


+ 4
- 4
po/ast.po View File

@@ -766,8 +766,8 @@ msgid " Done"
msgstr " Fecho"

#: cmdline/apt-get.cc:684
msgid "You might want to run `apt-get -f install' to correct these."
msgstr "Habríes d'executar `apt-get -f install' para igualo."
msgid "You might want to run 'apt-get -f install' to correct these."
msgstr "Habríes d'executar 'apt-get -f install' para igualo."

#: cmdline/apt-get.cc:687
msgid "Unmet dependencies. Try using -f."
@@ -1080,8 +1080,8 @@ msgid "%s set to manually installed.\n"
msgstr "%s axustáu como instaláu manualmente.\n"

#: cmdline/apt-get.cc:1794
msgid "You might want to run `apt-get -f install' to correct these:"
msgstr "Habríes d'executar `apt-get -f install' para iguar estos:"
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Habríes d'executar 'apt-get -f install' para iguar estos:"

#: cmdline/apt-get.cc:1797
msgid ""


+ 2
- 2
po/bg.po View File

@@ -779,7 +779,7 @@ msgid " Done"
msgstr " Готово"

#: cmdline/apt-get.cc:684
msgid "You might want to run `apt-get -f install' to correct these."
msgid "You might want to run 'apt-get -f install' to correct these."
msgstr ""
"Възможно е да изпълните „apt-get -f install“, за да коригирате тези "
"неизправности."
@@ -1098,7 +1098,7 @@ msgid "%s set to manually installed.\n"
msgstr "%s е отбелязан като ръчно инсталиран.\n"

#: cmdline/apt-get.cc:1794
msgid "You might want to run `apt-get -f install' to correct these:"
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Възможно е да изпълните „apt-get -f install“, за да коригирате:"

#: cmdline/apt-get.cc:1797


+ 2
- 2
po/bs.po View File

@@ -679,7 +679,7 @@ msgid " Done"
msgstr " Urađeno"

#: cmdline/apt-get.cc:684
msgid "You might want to run `apt-get -f install' to correct these."
msgid "You might want to run 'apt-get -f install' to correct these."
msgstr ""

#: cmdline/apt-get.cc:687
@@ -982,7 +982,7 @@ msgid "%s set to manually installed.\n"
msgstr "ali se %s treba instalirati"

#: cmdline/apt-get.cc:1794
msgid "You might want to run `apt-get -f install' to correct these:"
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr ""

#: cmdline/apt-get.cc:1797


+ 6
- 6
po/ca.po View File

@@ -769,8 +769,8 @@ msgid " Done"
msgstr " Fet"

#: cmdline/apt-get.cc:684
msgid "You might want to run `apt-get -f install' to correct these."
msgstr "Potser voldreu executar `apt-get -f install' per a corregir-ho."
msgid "You might want to run 'apt-get -f install' to correct these."
msgstr "Potser voldreu executar 'apt-get -f install' per a corregir-ho."

#: cmdline/apt-get.cc:687
msgid "Unmet dependencies. Try using -f."
@@ -1089,8 +1089,8 @@ msgid "%s set to manually installed.\n"
msgstr "S'ha marcat %s com instal·lat manualment.\n"

#: cmdline/apt-get.cc:1794
msgid "You might want to run `apt-get -f install' to correct these:"
msgstr "Potser voldreu executar `apt-get -f install' per a corregir-ho:"
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Potser voldreu executar 'apt-get -f install' per a corregir-ho:"

#: cmdline/apt-get.cc:1797
msgid ""
@@ -3153,8 +3153,8 @@ msgstr "La connexió s'ha tancat prematurament"
#~ msgid ""
#~ "Some broken packages were found while trying to process build-"
#~ "dependencies for %s.\n"
#~ "You might want to run `apt-get -f install' to correct these."
#~ "You might want to run 'apt-get -f install' to correct these."
#~ msgstr ""
#~ "S'han trobat alguns paquets trencats mentre es processaven les\n"
#~ "dependències de construcció per a %s.\n"
#~ "Potser voldreu executar `apt-get -f install' per a corregir-ho."
#~ "Potser voldreu executar 'apt-get -f install' per a corregir-ho."

+ 2
- 2
po/cs.po View File

@@ -764,7 +764,7 @@ msgid " Done"
msgstr " Hotovo"

#: cmdline/apt-get.cc:684
msgid "You might want to run `apt-get -f install' to correct these."
msgid "You might want to run 'apt-get -f install' to correct these."
msgstr "Pro opravení můžete spustit „apt-get -f install“."

#: cmdline/apt-get.cc:687
@@ -1077,7 +1077,7 @@ msgid "%s set to manually installed.\n"
msgstr "%s nastaven jako instalovaný ručně.\n"

#: cmdline/apt-get.cc:1794
msgid "You might want to run `apt-get -f install' to correct these:"
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Pro opravení následujících můžete spustit „apt-get -f install“:"

#: cmdline/apt-get.cc:1797


+ 4
- 4
po/cy.po View File

@@ -797,8 +797,8 @@ msgid " Done"
msgstr " Wedi Gorffen"

#: cmdline/apt-get.cc:684
msgid "You might want to run `apt-get -f install' to correct these."
msgstr "Efallai hoffech rhedeg `apt-get -f install' er mwyn cywiro'r rhain."
msgid "You might want to run 'apt-get -f install' to correct these."
msgstr "Efallai hoffech rhedeg 'apt-get -f install' er mwyn cywiro'r rhain."

#: cmdline/apt-get.cc:687
msgid "Unmet dependencies. Try using -f."
@@ -1116,8 +1116,8 @@ msgid "%s set to manually installed.\n"
msgstr "ond mae %s yn mynd i gael ei sefydlu"

#: cmdline/apt-get.cc:1794
msgid "You might want to run `apt-get -f install' to correct these:"
msgstr "Efallai hoffech rhedeg `apt-get -f install' er mwyn cywiro'r rhain:"
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Efallai hoffech rhedeg 'apt-get -f install' er mwyn cywiro'r rhain:"

# FIXME
#: cmdline/apt-get.cc:1797


+ 3
- 3
po/da.po View File

@@ -773,7 +773,7 @@ msgid " Done"
msgstr " Færdig"

#: cmdline/apt-get.cc:684
msgid "You might want to run `apt-get -f install' to correct these."
msgid "You might want to run 'apt-get -f install' to correct these."
msgstr "Du kan muligvis rette dette ved at køre 'apt-get -f install'."

#: cmdline/apt-get.cc:687
@@ -1087,7 +1087,7 @@ msgid "%s set to manually installed.\n"
msgstr "%s sat til manuelt installeret.\n"

#: cmdline/apt-get.cc:1794
msgid "You might want to run `apt-get -f install' to correct these:"
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Du kan muligvis rette det ved at køre 'apt-get -f install':"

#: cmdline/apt-get.cc:1797
@@ -3142,7 +3142,7 @@ msgstr "Forbindelsen lukkedes for hurtigt"
#~ msgid ""
#~ "Some broken packages were found while trying to process build-"
#~ "dependencies.\n"
#~ "You might want to run `apt-get -f install' to correct these."
#~ "You might want to run 'apt-get -f install' to correct these."
#~ msgstr ""
#~ "Det blev fundet ødelagte pakker under behandlingen af "
#~ "opbygningsafhængighederne.\n"


+ 2
- 2
po/de.po View File

@@ -785,7 +785,7 @@ msgid " Done"
msgstr " Fertig"

#: cmdline/apt-get.cc:684
msgid "You might want to run `apt-get -f install' to correct these."
msgid "You might want to run 'apt-get -f install' to correct these."
msgstr "Probieren Sie »apt-get -f install«, um dies zu korrigieren."

#: cmdline/apt-get.cc:687
@@ -1107,7 +1107,7 @@ msgid "%s set to manually installed.\n"
msgstr "%s wurde als manuell installiert festgelegt.\n"

#: cmdline/apt-get.cc:1794
msgid "You might want to run `apt-get -f install' to correct these:"
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Probieren Sie »apt-get -f install«, um dies zu korrigieren:"

#: cmdline/apt-get.cc:1797


+ 4
- 4
po/dz.po View File

@@ -778,8 +778,8 @@ msgid " Done"
msgstr "འབད་ཚར་ཡི།"

#: cmdline/apt-get.cc:684
msgid "You might want to run `apt-get -f install' to correct these."
msgstr "འ་ནི་འདི་ཚུ་ནོར་བཅོས་འབད་ནི་ལུ་ཁྱོད་ཀྱི་`apt-get -f install'དེ་གཡོག་བཀོལ་དགོཔ་འོང་།"
msgid "You might want to run 'apt-get -f install' to correct these."
msgstr "འ་ནི་འདི་ཚུ་ནོར་བཅོས་འབད་ནི་ལུ་ཁྱོད་ཀྱི་'apt-get -f install'དེ་གཡོག་བཀོལ་དགོཔ་འོང་།"

#: cmdline/apt-get.cc:687
msgid "Unmet dependencies. Try using -f."
@@ -1094,8 +1094,8 @@ msgid "%s set to manually installed.\n"
msgstr "འདི་འབདཝ་ད་%sའདི་གཞི་བཙུགས་འབད་ནི་ཨིན།"

#: cmdline/apt-get.cc:1794
msgid "You might want to run `apt-get -f install' to correct these:"
msgstr "འདི་ཚུ་ནོར་བཅོས་འབད་ནིའི་དོན་ལུ་ཁྱོད་ཀྱི་`apt-get -f install'དེ་གཡོག་བཀོལ་དགོཔ་འོང་:"
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "འདི་ཚུ་ནོར་བཅོས་འབད་ནིའི་དོན་ལུ་ཁྱོད་ཀྱི་'apt-get -f install'དེ་གཡོག་བཀོལ་དགོཔ་འོང་:"

#: cmdline/apt-get.cc:1797
msgid ""


+ 2
- 2
po/el.po View File

@@ -786,7 +786,7 @@ msgid " Done"
msgstr " Ετοιμο"

#: cmdline/apt-get.cc:684
msgid "You might want to run `apt-get -f install' to correct these."
msgid "You might want to run 'apt-get -f install' to correct these."
msgstr ""
"Ίσως να πρέπει να τρέξετε apt-get -f install για να διορθώσετε αυτά τα "
"προβλήματα."
@@ -1108,7 +1108,7 @@ msgid "%s set to manually installed.\n"
msgstr "το %s έχει εγκατασταθεί με το χέρι\n"

#: cmdline/apt-get.cc:1794
msgid "You might want to run `apt-get -f install' to correct these:"
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Aν τρέξετε 'apt-get -f install' ίσως να διορθώσετε αυτά τα προβλήματα:"

#: cmdline/apt-get.cc:1797


+ 2
- 2
po/en_GB.po View File

@@ -765,7 +765,7 @@ msgid " Done"
msgstr "Done"

#: cmdline/apt-get.cc:684
msgid "You might want to run `apt-get -f install' to correct these."
msgid "You might want to run 'apt-get -f install' to correct these."
msgstr "You might want to run ‘apt-get -f install’ to correct these."

#: cmdline/apt-get.cc:687
@@ -1079,7 +1079,7 @@ msgid "%s set to manually installed.\n"
msgstr "%s set to manually installed.\n"

#: cmdline/apt-get.cc:1794
msgid "You might want to run `apt-get -f install' to correct these:"
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "You might want to run 'apt-get -f install' to correct these:"

#: cmdline/apt-get.cc:1797


+ 6
- 6
po/es.po View File

@@ -780,8 +780,8 @@ msgid " Done"
msgstr " Listo"

#: cmdline/apt-get.cc:684
msgid "You might want to run `apt-get -f install' to correct these."
msgstr "Tal vez quiera ejecutar `apt-get -f install' para corregirlo."
msgid "You might want to run 'apt-get -f install' to correct these."
msgstr "Tal vez quiera ejecutar 'apt-get -f install' para corregirlo."

#: cmdline/apt-get.cc:687
msgid "Unmet dependencies. Try using -f."
@@ -1098,8 +1098,8 @@ msgid "%s set to manually installed.\n"
msgstr "fijado %s como instalado manualmente.\n"

#: cmdline/apt-get.cc:1794
msgid "You might want to run `apt-get -f install' to correct these:"
msgstr "Tal vez quiera ejecutar `apt-get -f install' para corregirlo:"
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Tal vez quiera ejecutar 'apt-get -f install' para corregirlo:"

#: cmdline/apt-get.cc:1797
msgid ""
@@ -3180,11 +3180,11 @@ msgstr "La conexi
#~ msgid ""
#~ "Some broken packages were found while trying to process build-"
#~ "dependencies.\n"
#~ "You might want to run `apt-get -f install' to correct these."
#~ "You might want to run 'apt-get -f install' to correct these."
#~ msgstr ""
#~ "Se encontraron algunos paquetes rotos mientras se intentaba procesar\n"
#~ "las dependencies de construcción. Tal vez quiera ejecutar \n"
#~ "`apt-get -f install' para corregirlos."
#~ "'apt-get -f install' para corregirlos."

#~ msgid ""
#~ "Usage: apt-cache [options] command\n"


+ 4
- 4
po/eu.po View File

@@ -768,8 +768,8 @@ msgid " Done"
msgstr " Eginda"

#: cmdline/apt-get.cc:684
msgid "You might want to run `apt-get -f install' to correct these."
msgstr "Beharbada `apt-get -f install' exekutatu nahiko duzu zuzentzeko."
msgid "You might want to run 'apt-get -f install' to correct these."
msgstr "Beharbada 'apt-get -f install' exekutatu nahiko duzu zuzentzeko."

#: cmdline/apt-get.cc:687
msgid "Unmet dependencies. Try using -f."
@@ -1084,8 +1084,8 @@ msgid "%s set to manually installed.\n"
msgstr "%s eskuz instalatua bezala ezarri.\n"

#: cmdline/apt-get.cc:1794
msgid "You might want to run `apt-get -f install' to correct these:"
msgstr "Beharbada `apt-get -f install' exekutatu nahiko duzu hauek zuzentzeko:"
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Beharbada 'apt-get -f install' exekutatu nahiko duzu hauek zuzentzeko:"

#: cmdline/apt-get.cc:1797
msgid ""


+ 2
- 2
po/fi.po View File

@@ -769,7 +769,7 @@ msgid " Done"
msgstr " Valmis"

#: cmdline/apt-get.cc:684
msgid "You might want to run `apt-get -f install' to correct these."
msgid "You might want to run 'apt-get -f install' to correct these."
msgstr "Halunnet suorittaa \"apt-get -f install\" korjaamaan nämä."

#: cmdline/apt-get.cc:687
@@ -1086,7 +1086,7 @@ msgid "%s set to manually installed.\n"
msgstr "%s on merkitty käyttäjän toimesta asennetuksi.\n"

#: cmdline/apt-get.cc:1794
msgid "You might want to run `apt-get -f install' to correct these:"
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Saatat haluta suorittaa \"apt-get -f install\" korjaamaan nämä:"

#: cmdline/apt-get.cc:1797


+ 2
- 2
po/fr.po View File

@@ -778,7 +778,7 @@ msgid " Done"
msgstr " Fait"

#: cmdline/apt-get.cc:684
msgid "You might want to run `apt-get -f install' to correct these."
msgid "You might want to run 'apt-get -f install' to correct these."
msgstr "Vous pouvez lancer « apt-get -f install » pour corriger ces problèmes."

#: cmdline/apt-get.cc:687
@@ -1107,7 +1107,7 @@ msgid "%s set to manually installed.\n"
msgstr "%s passé en « installé manuellement ».\n"

#: cmdline/apt-get.cc:1794
msgid "You might want to run `apt-get -f install' to correct these:"
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Vous pouvez lancer « apt-get -f install » pour corriger ces problèmes :"

#: cmdline/apt-get.cc:1797


+ 2
- 2
po/gl.po View File

@@ -780,7 +780,7 @@ msgid " Done"
msgstr " Rematado"

#: cmdline/apt-get.cc:684
msgid "You might want to run `apt-get -f install' to correct these."
msgid "You might want to run 'apt-get -f install' to correct these."
msgstr "Pode querer executar \"apt-get -f install\" para corrixilos."

#: cmdline/apt-get.cc:687
@@ -1097,7 +1097,7 @@ msgid "%s set to manually installed.\n"
msgstr "%s cambiouse a instalado manualmente.\n"

#: cmdline/apt-get.cc:1794
msgid "You might want to run `apt-get -f install' to correct these:"
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Pode querer executar \"apt-get -f install\" corrixir isto:"

#: cmdline/apt-get.cc:1797


+ 2
- 2
po/he.po View File

@@ -667,7 +667,7 @@ msgid " Done"
msgstr "סיום"

#: cmdline/apt-get.cc:684
msgid "You might want to run `apt-get -f install' to correct these."
msgid "You might want to run 'apt-get -f install' to correct these."
msgstr "אולי תרצה להריץ 'apt-get -f install' כדי לתקן את אלו."

#: cmdline/apt-get.cc:687
@@ -971,7 +971,7 @@ msgid "%s set to manually installed.\n"
msgstr "אבל %s הולכת להיות מותקנת"

#: cmdline/apt-get.cc:1784
msgid "You might want to run `apt-get -f install' to correct these:"
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr ""

#: cmdline/apt-get.cc:1787


+ 2
- 2
po/hu.po View File

@@ -773,7 +773,7 @@ msgid " Done"
msgstr " Kész"

#: cmdline/apt-get.cc:684
msgid "You might want to run `apt-get -f install' to correct these."
msgid "You might want to run 'apt-get -f install' to correct these."
msgstr "Ezek kijavításához próbáld futtatni az 'apt-get -f install'-t ."

#: cmdline/apt-get.cc:687
@@ -1082,7 +1082,7 @@ msgid "%s set to manually installed.\n"
msgstr "%s kézi telepítésre állított.\n"

#: cmdline/apt-get.cc:1794
msgid "You might want to run `apt-get -f install' to correct these:"
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Próbáld futtatni az 'apt-get -f install'-t az alábbiak javításához:"

#: cmdline/apt-get.cc:1797


+ 2
- 2
po/it.po View File

@@ -773,7 +773,7 @@ msgid " Done"
msgstr " Fatto"

#: cmdline/apt-get.cc:684
msgid "You might want to run `apt-get -f install' to correct these."
msgid "You might want to run 'apt-get -f install' to correct these."
msgstr ""
"È utile eseguire \"apt-get -f install\" per correggere questi problemi."

@@ -1098,7 +1098,7 @@ msgid "%s set to manually installed.\n"
msgstr "È stato impostato %s per l'installazione manuale.\n"

#: cmdline/apt-get.cc:1794
msgid "You might want to run `apt-get -f install' to correct these:"
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr ""
"È utile eseguire \"apt-get -f install\" per correggere questi problemi:"



+ 2
- 2
po/ja.po View File

@@ -769,7 +769,7 @@ msgid " Done"
msgstr " 完了"

#: cmdline/apt-get.cc:684
msgid "You might want to run `apt-get -f install' to correct these."
msgid "You might want to run 'apt-get -f install' to correct these."
msgstr ""
"これらを直すためには 'apt-get -f install' を実行する必要があるかもしれませ"
"ん。"
@@ -1087,7 +1087,7 @@ msgid "%s set to manually installed.\n"
msgstr "%s は手動でインストールしたと設定されました。\n"

#: cmdline/apt-get.cc:1794
msgid "You might want to run `apt-get -f install' to correct these:"
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr ""
"以下の問題を解決するために 'apt-get -f install' を実行する必要があるかもしれ"
"ません:"


+ 4
- 4
po/km.po View File

@@ -773,8 +773,8 @@ msgid " Done"
msgstr " ធ្វើ​រួច"

#: cmdline/apt-get.cc:684
msgid "You might want to run `apt-get -f install' to correct these."
msgstr "អ្នក​ប្រហែល​ជា​ចង់រត់ `apt-get -f install' ដើម្បី​កែ​វា​​ទាំងនេះ​ហើយ ។"
msgid "You might want to run 'apt-get -f install' to correct these."
msgstr "អ្នក​ប្រហែល​ជា​ចង់រត់ 'apt-get -f install' ដើម្បី​កែ​វា​​ទាំងនេះ​ហើយ ។"

#: cmdline/apt-get.cc:687
msgid "Unmet dependencies. Try using -f."
@@ -1083,8 +1083,8 @@ msgid "%s set to manually installed.\n"
msgstr "ប៉ុន្តែ​ %s នឹង​ត្រូវ​បាន​ដំឡើ​ង"

#: cmdline/apt-get.cc:1794
msgid "You might want to run `apt-get -f install' to correct these:"
msgstr "អ្នក​ប្រហែល​ជា​ចង់​រត់ `apt-get -f install' ដើម្បី​កែ​ពួក​វា​ទាំង​នេះ ៖"
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "អ្នក​ប្រហែល​ជា​ចង់​រត់ 'apt-get -f install' ដើម្បី​កែ​ពួក​វា​ទាំង​នេះ ៖"

#: cmdline/apt-get.cc:1797
msgid ""


+ 4
- 4
po/ko.po View File

@@ -766,9 +766,9 @@ msgid " Done"
msgstr " 완료"

#: cmdline/apt-get.cc:684
msgid "You might want to run `apt-get -f install' to correct these."
msgid "You might want to run 'apt-get -f install' to correct these."
msgstr ""
"이 상황을 바로잡으려면 `apt-get -f install'을 실행해야 할 수도 있습니다."
"이 상황을 바로잡으려면 'apt-get -f install'을 실행해야 할 수도 있습니다."

#: cmdline/apt-get.cc:687
msgid "Unmet dependencies. Try using -f."
@@ -1083,8 +1083,8 @@ msgid "%s set to manually installed.\n"
msgstr "%s 패키지 수동설치로 지정합니다.\n"

#: cmdline/apt-get.cc:1794
msgid "You might want to run `apt-get -f install' to correct these:"
msgstr "다음을 바로잡으려면 `apt-get -f install'을 실행해 보십시오:"
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "다음을 바로잡으려면 'apt-get -f install'을 실행해 보십시오:"

# FIXME: specify a solution? 무슨 솔루션?
#: cmdline/apt-get.cc:1797


+ 2
- 2
po/ku.po View File

@@ -682,7 +682,7 @@ msgid " Done"
msgstr " Temam"

#: cmdline/apt-get.cc:684
msgid "You might want to run `apt-get -f install' to correct these."
msgid "You might want to run 'apt-get -f install' to correct these."
msgstr ""

#: cmdline/apt-get.cc:687
@@ -983,7 +983,7 @@ msgid "%s set to manually installed.\n"
msgstr "lê %s dê were sazkirin"

#: cmdline/apt-get.cc:1794
msgid "You might want to run `apt-get -f install' to correct these:"
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr ""

#: cmdline/apt-get.cc:1797


+ 2
- 2
po/lt.po View File

@@ -741,7 +741,7 @@ msgid " Done"
msgstr " Įvykdyta"

#: cmdline/apt-get.cc:684
msgid "You might want to run `apt-get -f install' to correct these."
msgid "You might want to run 'apt-get -f install' to correct these."
msgstr "Įvykdykite „apt-get -f install“, jei norite ištaisyti šias klaidas."

#: cmdline/apt-get.cc:687
@@ -1050,7 +1050,7 @@ msgid "%s set to manually installed.\n"
msgstr "%s nustatytas kaip įdiegtas rankiniu būdu\n"

#: cmdline/apt-get.cc:1794
msgid "You might want to run `apt-get -f install' to correct these:"
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Jūs galite norėti paleisti 'apt-get -f install\" klaidų taisymui:"

#: cmdline/apt-get.cc:1797


+ 4
- 4
po/mr.po View File

@@ -766,7 +766,7 @@ msgid " Done"
msgstr "झाले"

#: cmdline/apt-get.cc:684
msgid "You might want to run `apt-get -f install' to correct these."
msgid "You might want to run 'apt-get -f install' to correct these."
msgstr "हे बरोबर करण्यासाठी तुम्हाला `apt-get -f संस्थापना' प्रोग्राम चालू करावा लागेल."

#: cmdline/apt-get.cc:687
@@ -1077,9 +1077,9 @@ msgid "%s set to manually installed.\n"
msgstr "%s स्वहस्ते संस्थापित करायचे आहे.\n"

#: cmdline/apt-get.cc:1794
msgid "You might want to run `apt-get -f install' to correct these:"
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr ""
"तुम्हाला कदाचित `apt-get -f install'(एपीटी-गेट -एफ संस्थापन') प्रोग्राम चालू करावा "
"तुम्हाला कदाचित 'apt-get -f install'(एपीटी-गेट -एफ संस्थापन') प्रोग्राम चालू करावा "
"लागेल'यात बदल करण्यासाठी:"

#: cmdline/apt-get.cc:1797
@@ -1087,7 +1087,7 @@ msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
msgstr ""
"अनमेट डिपेंडन्सीज.एपीटी-गेट -एफ संस्थापन (`apt-get -f install') पॅकेजशिवाय प्रयत्न करा "
"अनमेट डिपेंडन्सीज.एपीटी-गेट -एफ संस्थापन ('apt-get -f install') पॅकेजशिवाय प्रयत्न करा "
"(किंवा पर्याय सांगा)."

#: cmdline/apt-get.cc:1809


+ 2
- 2
po/nb.po View File

@@ -776,7 +776,7 @@ msgid " Done"
msgstr " Utført"

#: cmdline/apt-get.cc:684
msgid "You might want to run `apt-get -f install' to correct these."
msgid "You might want to run 'apt-get -f install' to correct these."
msgstr "Du vil kanskje kjøre «apt-get -f install» for å rette på dette."

#: cmdline/apt-get.cc:687
@@ -1090,7 +1090,7 @@ msgid "%s set to manually installed.\n"
msgstr "%s satt til manuell installasjon.\n"

#: cmdline/apt-get.cc:1794
msgid "You might want to run `apt-get -f install' to correct these:"
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Du vil kanskje utføre «apt-get -f install» for å rette på disse:"

#: cmdline/apt-get.cc:1797


+ 4
- 4
po/ne.po View File

@@ -770,8 +770,8 @@ msgid " Done"
msgstr "काम भयो"

#: cmdline/apt-get.cc:684
msgid "You might want to run `apt-get -f install' to correct these."
msgstr "यी सुधार गर्न तपाईँले `apt-get -f install' चलाउन पर्छ ।"
msgid "You might want to run 'apt-get -f install' to correct these."
msgstr "यी सुधार गर्न तपाईँले 'apt-get -f install' चलाउन पर्छ ।"

#: cmdline/apt-get.cc:687
msgid "Unmet dependencies. Try using -f."
@@ -1080,8 +1080,8 @@ msgid "%s set to manually installed.\n"
msgstr "तर %s स्थापना हुनुपर्यो"

#: cmdline/apt-get.cc:1794
msgid "You might want to run `apt-get -f install' to correct these:"
msgstr "तपाईँ यसलाई सुधार गर्न `apt-get -f install' चलाउन चाहनुहुन्छ:"
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "तपाईँ यसलाई सुधार गर्न 'apt-get -f install' चलाउन चाहनुहुन्छ:"

#: cmdline/apt-get.cc:1797
msgid ""


+ 2
- 2
po/nl.po View File

@@ -775,7 +775,7 @@ msgid " Done"
msgstr " Klaar"

#: cmdline/apt-get.cc:684
msgid "You might want to run `apt-get -f install' to correct these."
msgid "You might want to run 'apt-get -f install' to correct these."
msgstr "U kunt 'apt-get -f install' uitvoeren om dit op te lossen."

#: cmdline/apt-get.cc:687
@@ -1094,7 +1094,7 @@ msgid "%s set to manually installed.\n"
msgstr "%s is ingesteld voor handmatige installatie.\n"

#: cmdline/apt-get.cc:1794
msgid "You might want to run `apt-get -f install' to correct these:"
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr ""
"U wilt waarschijnlijk 'apt-get -f install' uitvoeren om volgende op te "
"lossen:"


+ 2
- 2
po/nn.po View File

@@ -772,7 +772,7 @@ msgid " Done"
msgstr " Ferdig"

#: cmdline/apt-get.cc:684
msgid "You might want to run `apt-get -f install' to correct these."
msgid "You might want to run 'apt-get -f install' to correct these."
msgstr "Du vil kanskje prøva å retta på desse ved å køyra «apt-get -f install»."

#: cmdline/apt-get.cc:687
@@ -1086,7 +1086,7 @@ msgid "%s set to manually installed.\n"
msgstr "men %s skal installerast"

#: cmdline/apt-get.cc:1794
msgid "You might want to run `apt-get -f install' to correct these:"
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Du vil kanskje prøva å retta på desse ved å køyra «apt-get -f install»."

#: cmdline/apt-get.cc:1797