summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apt-pkg/acquire-item.cc28
-rw-r--r--apt-pkg/acquire.cc98
-rw-r--r--apt-pkg/acquire.h31
-rw-r--r--apt-pkg/algorithms.cc4
-rw-r--r--apt-pkg/contrib/configuration.cc2
-rw-r--r--apt-pkg/contrib/fileutl.cc57
-rw-r--r--apt-pkg/contrib/fileutl.h8
-rw-r--r--apt-pkg/deb/dpkgpm.cc17
-rw-r--r--apt-pkg/depcache.cc117
-rw-r--r--apt-pkg/depcache.h3
-rw-r--r--apt-pkg/packagemanager.cc14
-rw-r--r--apt-pkg/pkgcachegen.cc15
-rw-r--r--apt-pkg/sourcelist.cc7
-rw-r--r--cmdline/apt-cache.cc12
-rw-r--r--cmdline/apt-get.cc84
-rw-r--r--debian/changelog50
-rw-r--r--doc/apt.ent4
-rw-r--r--doc/examples/configure-index1
-rw-r--r--doc/po/de.po8
-rwxr-xr-xdselect/install18
-rw-r--r--ftparchive/writer.cc40
-rw-r--r--po/apt-all.pot4
-rw-r--r--po/ar.po8
-rw-r--r--po/ast.po8
-rw-r--r--po/bg.po4
-rw-r--r--po/bs.po4
-rw-r--r--po/ca.po12
-rw-r--r--po/cs.po4
-rw-r--r--po/cy.po8
-rw-r--r--po/da.po6
-rw-r--r--po/de.po4
-rw-r--r--po/dz.po8
-rw-r--r--po/el.po4
-rw-r--r--po/en_GB.po4
-rw-r--r--po/es.po12
-rw-r--r--po/eu.po8
-rw-r--r--po/fi.po4
-rw-r--r--po/fr.po4
-rw-r--r--po/gl.po4
-rw-r--r--po/he.po4
-rw-r--r--po/hu.po4
-rw-r--r--po/it.po4
-rw-r--r--po/ja.po4
-rw-r--r--po/km.po8
-rw-r--r--po/ko.po8
-rw-r--r--po/ku.po4
-rw-r--r--po/lt.po4
-rw-r--r--po/mr.po8
-rw-r--r--po/nb.po4
-rw-r--r--po/ne.po8
-rw-r--r--po/nl.po4
-rw-r--r--po/nn.po4
-rw-r--r--po/pl.po4
-rw-r--r--po/pt.po14
-rw-r--r--po/pt_BR.po8
-rw-r--r--po/ro.po4
-rw-r--r--po/ru.po4
-rw-r--r--po/sk.po4
-rw-r--r--po/sl.po4
-rw-r--r--po/sv.po4
-rw-r--r--po/th.po8
-rw-r--r--po/tl.po8
-rw-r--r--po/uk.po4
-rw-r--r--po/vi.po4
-rw-r--r--po/zh_CN.po4
-rw-r--r--po/zh_TW.po8
-rw-r--r--test/makefile8
67 files changed, 593 insertions, 293 deletions
diff --git a/apt-pkg/acquire-item.cc b/apt-pkg/acquire-item.cc
index 6d4336425..1f253bb81 100644
--- a/apt-pkg/acquire-item.cc
+++ b/apt-pkg/acquire-item.cc
@@ -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."),
diff --git a/apt-pkg/acquire.cc b/apt-pkg/acquire.cc
index 74510ae21..832eaa02c 100644
--- a/apt-pkg/acquire.cc
+++ b/apt-pkg/acquire.cc
@@ -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;
diff --git a/apt-pkg/acquire.h b/apt-pkg/acquire.h
index 6c130c1b3..9e91a9f67 100644
--- a/apt-pkg/acquire.h
+++ b/apt-pkg/acquire.h
@@ -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
diff --git a/apt-pkg/algorithms.cc b/apt-pkg/algorithms.cc
index f8a9e210c..f1e51131a 100644
--- a/apt-pkg/algorithms.cc
+++ b/apt-pkg/algorithms.cc
@@ -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)
diff --git a/apt-pkg/contrib/configuration.cc b/apt-pkg/contrib/configuration.cc
index 7588b041c..9129d92f0 100644
--- a/apt-pkg/contrib/configuration.cc
+++ b/apt-pkg/contrib/configuration.cc
@@ -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
diff --git a/apt-pkg/contrib/fileutl.cc b/apt-pkg/contrib/fileutl.cc
index da32983f1..16f7ce929 100644
--- a/apt-pkg/contrib/fileutl.cc
+++ b/apt-pkg/contrib/fileutl.cc
@@ -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,16 +198,62 @@ 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)
{
std::vector<string> ext;
diff --git a/apt-pkg/contrib/fileutl.h b/apt-pkg/contrib/fileutl.h
index 85a94898c..003bd9b83 100644
--- a/apt-pkg/contrib/fileutl.h
+++ b/apt-pkg/contrib/fileutl.h
@@ -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();
diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc
index c0efa7b59..ca8faa8a5 100644
--- a/apt-pkg/deb/dpkgpm.cc
+++ b/apt-pkg/deb/dpkgpm.cc
@@ -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;
}
diff --git a/apt-pkg/depcache.cc b/apt-pkg/depcache.cc
index 2c7cdd5c2..423161b13 100644
--- a/apt-pkg/depcache.cc
+++ b/apt-pkg/depcache.cc
@@ -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.
diff --git a/apt-pkg/depcache.h b/apt-pkg/depcache.h
index 6765d3e7c..3decc7a5f 100644
--- a/apt-pkg/depcache.h
+++ b/apt-pkg/depcache.h
@@ -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
diff --git a/apt-pkg/packagemanager.cc b/apt-pkg/packagemanager.cc
index 034cc8339..eef79cccd 100644
--- a/apt-pkg/packagemanager.cc
+++ b/apt-pkg/packagemanager.cc
@@ -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.
diff --git a/apt-pkg/pkgcachegen.cc b/apt-pkg/pkgcachegen.cc
index 21240b951..114c9d5ed 100644
--- a/apt-pkg/pkgcachegen.cc
+++ b/apt-pkg/pkgcachegen.cc
@@ -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)
diff --git a/apt-pkg/sourcelist.cc b/apt-pkg/sourcelist.cc
index a860c7eac..e13472fa6 100644
--- a/apt-pkg/sourcelist.cc
+++ b/apt-pkg/sourcelist.cc
@@ -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());
diff --git a/cmdline/apt-cache.cc b/cmdline/apt-cache.cc
index 07b95e3ca..b0034bf6d 100644
--- a/cmdline/apt-cache.cc
+++ b/cmdline/apt-cache.cc
@@ -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;
diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc
index cd450b27a..26c731978 100644
--- a/cmdline/apt-get.cc
+++ b/cmdline/apt-get.cc
@@ -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++)
diff --git a/debian/changelog b/debian/changelog
index 2c2b038b6..97e15326c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -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
diff --git a/doc/apt.ent b/doc/apt.ent
index 19da4429e..c463f7811 100644
--- a/doc/apt.ent
+++ b/doc/apt.ent
@@ -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>
diff --git a/doc/examples/configure-index b/doc/examples/configure-index
index 3167e46da..d168417d8 100644
--- a/doc/examples/configure-index
+++ b/doc/examples/configure-index
@@ -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
diff --git a/doc/po/de.po b/doc/po/de.po
index 9270ecef3..5664eb780 100644
--- a/doc/po/de.po
+++ b/doc/po/de.po
@@ -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
diff --git a/dselect/install b/dselect/install
index 6779698e0..3ef213550 100755
--- a/dselect/install
+++ b/dselect/install
@@ -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
diff --git a/ftparchive/writer.cc b/ftparchive/writer.cc
index 45a8d212b..6cda29b21 100644
--- a/ftparchive/writer.cc
+++ b/ftparchive/writer.cc
@@ -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());
diff --git a/po/apt-all.pot b/po/apt-all.pot
index ae0a7c375..41b46aeff 100644
--- a/po/apt-all.pot
+++ b/po/apt-all.pot
@@ -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
diff --git a/po/ar.po b/po/ar.po
index 15d5f7205..c0864ec00 100644
--- a/po/ar.po
+++ b/po/ar.po
@@ -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 ""
diff --git a/po/ast.po b/po/ast.po
index 7df0e8f06..d3005dc3c 100644
--- a/po/ast.po
+++ b/po/ast.po
@@ -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 "Habres d'executar `apt-get -f install' para igualo."
+msgid "You might want to run 'apt-get -f install' to correct these."
+msgstr "Habres 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 axustu como instalu manualmente.\n"
#: cmdline/apt-get.cc:1794
-msgid "You might want to run `apt-get -f install' to correct these:"
-msgstr "Habres d'executar `apt-get -f install' para iguar estos:"
+msgid "You might want to run 'apt-get -f install' to correct these:"
+msgstr "Habres d'executar 'apt-get -f install' para iguar estos:"
#: cmdline/apt-get.cc:1797
msgid ""
diff --git a/po/bg.po b/po/bg.po
index 5c366b765..9d9b1c2d1 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -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
diff --git a/po/bs.po b/po/bs.po
index 7b2316bdb..aca1298aa 100644
--- a/po/bs.po
+++ b/po/bs.po
@@ -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
diff --git a/po/ca.po b/po/ca.po
index fa4c4a414..4cedaf9fc 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -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."
diff --git a/po/cs.po b/po/cs.po
index 9b1eccdb8..63094e903 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -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
diff --git a/po/cy.po b/po/cy.po
index 09f9a8869..05f8762cb 100644
--- a/po/cy.po
+++ b/po/cy.po
@@ -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
diff --git a/po/da.po b/po/da.po
index ffac0e91f..0db88f72a 100644
--- a/po/da.po
+++ b/po/da.po
@@ -773,7 +773,7 @@ msgid " Done"
msgstr " Frdig"
#: 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 kre '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 kre '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 "
#~ "opbygningsafhngighederne.\n"
diff --git a/po/de.po b/po/de.po
index 17d4c9b24..2f354b323 100644
--- a/po/de.po
+++ b/po/de.po
@@ -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
diff --git a/po/dz.po b/po/dz.po
index 3d0644477..526ba2fcf 100644
--- a/po/dz.po
+++ b/po/dz.po
@@ -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 ""
diff --git a/po/el.po b/po/el.po
index 5c4ead054..6cbadb132 100644
--- a/po/el.po
+++ b/po/el.po
@@ -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
diff --git a/po/en_GB.po b/po/en_GB.po
index 39163a47e..fa67efa0b 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -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
diff --git a/po/es.po b/po/es.po
index f8d09b3f5..70cad63dc 100644
--- a/po/es.po
+++ b/po/es.po
@@ -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 conexin se cerr prematuramente"
#~ 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 construccin. Tal vez quiera ejecutar \n"
-#~ "`apt-get -f install' para corregirlos."
+#~ "'apt-get -f install' para corregirlos."
#~ msgid ""
#~ "Usage: apt-cache [options] command\n"
diff --git a/po/eu.po b/po/eu.po
index 40ee7ce9a..dcb126a2d 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -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 ""
diff --git a/po/fi.po b/po/fi.po
index c345a749e..0337b2f99 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -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
diff --git a/po/fr.po b/po/fr.po
index 26c52fe3c..47652cb29 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -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
diff --git a/po/gl.po b/po/gl.po
index a8be68b13..341750e94 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -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
diff --git a/po/he.po b/po/he.po
index a5cfcf6a8..a715fd46d 100644
--- a/po/he.po
+++ b/po/he.po
@@ -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
diff --git a/po/hu.po b/po/hu.po
index 95a845819..1db0d379f 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -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
diff --git a/po/it.po b/po/it.po
index 9208fcc7f..012fe655b 100644
--- a/po/it.po
+++ b/po/it.po
@@ -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:"
diff --git a/po/ja.po b/po/ja.po
index e60501fc3..020e01e1e 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -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' を実行する必要があるかもしれ"
"ません:"
diff --git a/po/km.po b/po/km.po
index 0b197126b..7ce844830 100644
--- a/po/km.po
+++ b/po/km.po
@@ -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 ""
diff --git a/po/ko.po b/po/ko.po
index ec4b95ac9..4557eb96d 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -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
diff --git a/po/ku.po b/po/ku.po
index c22027eb1..54c8e976a 100644
--- a/po/ku.po
+++ b/po/ku.po
@@ -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
diff --git a/po/lt.po b/po/lt.po
index 4d081b0c1..5cbecdf8d 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -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
diff --git a/po/mr.po b/po/mr.po
index 646661c56..89fa7370e 100644
--- a/po/mr.po
+++ b/po/mr.po
@@ -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
diff --git a/po/nb.po b/po/nb.po
index 7f92788f1..6a661c7d8 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -776,7 +776,7 @@ msgid " Done"
msgstr " Utfrt"
#: 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 kjre 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 utfre apt-get -f install for rette p disse:"
#: cmdline/apt-get.cc:1797
diff --git a/po/ne.po b/po/ne.po
index 08d1225f3..495f19372 100644
--- a/po/ne.po
+++ b/po/ne.po
@@ -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 ""
diff --git a/po/nl.po b/po/nl.po
index 98cb798b7..d49ec66d8 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -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:"
diff --git a/po/nn.po b/po/nn.po
index 428d07152..1e45cd8fa 100644
--- a/po/nn.po
+++ b/po/nn.po
@@ -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 prva retta p desse ved kyra 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 prva retta p desse ved kyra apt-get -f install."
#: cmdline/apt-get.cc:1797
diff --git a/po/pl.po b/po/pl.po
index f21b2cf21..c8649e0ec 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -775,7 +775,7 @@ msgid " Done"
msgstr " Gotowe"
#: 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 "Należy uruchomić \"apt-get -f install\", aby je naprawić."
#: cmdline/apt-get.cc:687
@@ -1093,7 +1093,7 @@ msgid "%s set to manually installed.\n"
msgstr "%s zaznaczony jako zainstalowany ręcznie.\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 "Należy uruchomić \"apt-get -f install\", aby je naprawić:"
#: cmdline/apt-get.cc:1797
diff --git a/po/pt.po b/po/pt.po
index 4026e76ff..f970f242d 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -771,8 +771,8 @@ msgid " Done"
msgstr " Feito"
#: cmdline/apt-get.cc:684
-msgid "You might want to run `apt-get -f install' to correct these."
-msgstr "Você pode querer executar `apt-get -f install' para corrigir isso."
+msgid "You might want to run 'apt-get -f install' to correct these."
+msgstr "Você pode querer executar 'apt-get -f install' para corrigir isso."
#: cmdline/apt-get.cc:687
msgid "Unmet dependencies. Try using -f."
@@ -1089,15 +1089,15 @@ msgid "%s set to manually installed.\n"
msgstr "%s está definido para ser instalado manualmente.\n"
#: cmdline/apt-get.cc:1794
-msgid "You might want to run `apt-get -f install' to correct these:"
-msgstr "Você deve querer executar `apt-get -f install' para corrigir estes:"
+msgid "You might want to run 'apt-get -f install' to correct these:"
+msgstr "Você deve querer executar 'apt-get -f install' para corrigir estes:"
#: cmdline/apt-get.cc:1797
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
msgstr ""
-"Dependências não satisfeitas. Tente `apt-get -f install' sem nenhum pacote "
+"Dependências não satisfeitas. Tente 'apt-get -f install' sem nenhum pacote "
"(ou especifique uma solução)."
#: cmdline/apt-get.cc:1809
@@ -3202,12 +3202,12 @@ msgstr "Ligação encerrada prematuramente"
#~ 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 ""
#~ "Alguns pacotes quebrados foram encontrados enquanto se tentava "
#~ "processar \n"
#~ "as dependências de construção.\n"
-#~ "Você pode querer rodar `apt-get -f install' para corrigí-los."
+#~ "Você pode querer rodar 'apt-get -f install' para corrigí-los."
#~ msgid "Sorry, you don't have enough free space in %s to hold all the .debs."
#~ msgstr ""
diff --git a/po/pt_BR.po b/po/pt_BR.po
index b02214a9b..967707e99 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -777,7 +777,7 @@ msgid " Done"
msgstr " Pronto"
#: 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 "Você pode querer executar 'apt-get -f install' para corrigí-los."
#: cmdline/apt-get.cc:687
@@ -1094,7 +1094,7 @@ msgid "%s set to manually installed.\n"
msgstr "%s configurado para instalar 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 "Você deve querer executar 'apt-get -f install' para corrigí-los:"
#: cmdline/apt-get.cc:1797
@@ -3172,12 +3172,12 @@ msgstr "Conexão encerrada prematuramente"
#~ 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 ""
#~ "Alguns pacotes quebrados foram encontrados enquanto se tentava "
#~ "processar \n"
#~ "as dependências de construção.\n"
-#~ "Você pode querer rodar `apt-get -f install' para corrigí-los."
+#~ "Você pode querer rodar 'apt-get -f install' para corrigí-los."
#~ msgid "Sorry, you don't have enough free space in %s to hold all the .debs."
#~ msgstr ""
diff --git a/po/ro.po b/po/ro.po
index f99371e7f..311071a30 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -778,7 +778,7 @@ msgid " Done"
msgstr " Terminat"
#: 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 "Ați putea să porniți 'apt-get -f install' pentru a corecta acestea."
#: cmdline/apt-get.cc:687
@@ -1092,7 +1092,7 @@ msgid "%s set to manually installed.\n"
msgstr "%s este marcat ca fiind instalat manual.\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ți putea porni 'apt-get -f install' pentru a corecta acestea:"
#: cmdline/apt-get.cc:1797
diff --git a/po/ru.po b/po/ru.po
index 60f73f7de..98e9e15ae 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -781,7 +781,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'."
@@ -1101,7 +1101,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':"
diff --git a/po/sk.po b/po/sk.po
index d5fe16c1a..c4db257df 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -768,7 +768,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 "Opravu môžete spustiť pomocu „apt-get -f install“."
#: cmdline/apt-get.cc:687
@@ -1081,7 +1081,7 @@ msgid "%s set to manually installed.\n"
msgstr "%s je nastavený na manuálnu inštaláciu.\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 "Na opravu nasledovných môžete spustiť „apt-get -f install“:"
#: cmdline/apt-get.cc:1797
diff --git a/po/sl.po b/po/sl.po
index 59351e42f..c279507ac 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -767,7 +767,7 @@ msgid " Done"
msgstr " Opravljeno"
#: 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 "e elite popraviti napake, poskusite pognati 'apt-get -f install'."
#: cmdline/apt-get.cc:687
@@ -1078,7 +1078,7 @@ msgid "%s set to manually installed.\n"
msgstr "vendar bo paket %s nameen"
#: 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 "Poskusite zagnati 'apt-get -f install', e elite popraviti:"
#: cmdline/apt-get.cc:1797
diff --git a/po/sv.po b/po/sv.po
index e14b57df5..6836371ea 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -772,7 +772,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 möjligen rätta till dessa genom att köra \"apt-get -f install\"."
@@ -1091,7 +1091,7 @@ msgid "%s set to manually installed.\n"
msgstr "%s är satt till manuellt installerad.\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 möjligen rätta till detta genom att köra \"apt-get -f install\":"
diff --git a/po/th.po b/po/th.po
index 5cd9e120b..19b629499 100644
--- a/po/th.po
+++ b/po/th.po
@@ -762,8 +762,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."
@@ -1071,8 +1071,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' เพื่อแก้ปัญหานี้ได้:"
#: cmdline/apt-get.cc:1797
msgid ""
diff --git a/po/tl.po b/po/tl.po
index a44d44b07..e91e0b717 100644
--- a/po/tl.po
+++ b/po/tl.po
@@ -780,8 +780,8 @@ msgid " Done"
msgstr " Tapos"
#: cmdline/apt-get.cc:684
-msgid "You might want to run `apt-get -f install' to correct these."
-msgstr "Maaari ninyong patakbuhin ang `apt-get -f install' upang ayusin ito."
+msgid "You might want to run 'apt-get -f install' to correct these."
+msgstr "Maaari ninyong patakbuhin ang 'apt-get -f install' upang ayusin ito."
#: cmdline/apt-get.cc:687
msgid "Unmet dependencies. Try using -f."
@@ -1099,9 +1099,9 @@ msgid "%s set to manually installed.\n"
msgstr "ngunit ang %s ay iluluklok"
#: 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 ""
-"Maaaring patakbuhin niyo ang `apt-get -f install' upang ayusin ang mga ito:"
+"Maaaring patakbuhin niyo ang 'apt-get -f install' upang ayusin ang mga ito:"
#: cmdline/apt-get.cc:1797
msgid ""
diff --git a/po/uk.po b/po/uk.po
index 84ee8e0ce..ccccd7ad1 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -778,7 +778,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'."
@@ -1100,7 +1100,7 @@ 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:"
+msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr ""
"Можливо, для виправлення цих помилок Ви захочете скористатися 'apt-get -f "
"install':"
diff --git a/po/vi.po b/po/vi.po
index eb509c29b..323175952 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -796,7 +796,7 @@ msgid " Done"
msgstr " Đã xong"
#: 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 "Có lẽ bạn hãy chay lệnh « apt-get -f install » để sửa hết."
#: cmdline/apt-get.cc:687
@@ -1114,7 +1114,7 @@ msgid "%s set to manually installed.\n"
msgstr "%s được đặt thành « được cài đặt bằng tay ».\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 "Có lẽ bạn hãy chạy lênh « apt-get -f install » để sửa hết:"
#: cmdline/apt-get.cc:1797
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 56c64e451..87dfe051f 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -765,7 +765,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
@@ -1073,7 +1073,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
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 7033d8d7b..4ebdf64fc 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -764,8 +764,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."
@@ -1073,8 +1073,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' 以修正這些問題:"
#: cmdline/apt-get.cc:1797
msgid ""
diff --git a/test/makefile b/test/makefile
index b8c104eae..52adb96a2 100644
--- a/test/makefile
+++ b/test/makefile
@@ -68,7 +68,7 @@ SOURCE = test_udevcdrom.cc
include $(PROGRAM_H)
# Program for checking rpm versions
-PROGRAM=rpmver
-SLIBS = -lapt-pkg -lrpm
-SOURCE = rpmver.cc
-include $(PROGRAM_H)
+#PROGRAM=rpmver
+#SLIBS = -lapt-pkg -lrpm
+#SOURCE = rpmver.cc
+#include $(PROGRAM_H)