From c753eec1d192a56e7f4ba1b07ae766b740185a3f Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sat, 3 Apr 2010 17:07:30 +0200 Subject: * apt-pkg/depcache.cc: - "reinstall" the correct version for a killed pseudo package --- apt-pkg/depcache.cc | 7 +++++-- debian/changelog | 7 +++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/apt-pkg/depcache.cc b/apt-pkg/depcache.cc index 75f69ee11..0f07de2fe 100644 --- a/apt-pkg/depcache.cc +++ b/apt-pkg/depcache.cc @@ -855,13 +855,16 @@ void pkgDepCache::Update(OpProgress *Prog) 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) + if (allV->Hash != V->Hash || + 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 + RemoveSizes(P); + RemoveStates(P); P->CurrentVer = V.Index(); + PkgState[P->ID].InstallVer = V; AddStates(P); Update(P); AddSizes(P); diff --git a/debian/changelog b/debian/changelog index edc82e1d7..16800a9d1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +apt (0.7.26~exp4) experimental; urgency=low + + * apt-pkg/depcache.cc: + - "reinstall" the correct version for a killed pseudo package + + -- David Kalnischkies Sat, 03 Apr 2010 14:58:39 +0200 + apt (0.7.26~exp3) experimental; urgency=low [ Christian Perrier ] -- cgit v1.2.3 From 5e8b2b74ab565ffb72e035ce89a7a991d4de3dcf Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sat, 3 Apr 2010 17:57:41 +0200 Subject: Initialize history_out always with NULL so apt will not segfault later in the event of a failure in OpenLog() (which will happen if called with Debug::NoLocking as user) --- apt-pkg/deb/dpkgpm.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index c0efa7b59..14a4968f7 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) { } /*}}}*/ @@ -651,6 +651,7 @@ bool pkgDPkgPM::CloseLog() fprintf(history_out, "End-Date: %s\n", timestr); fclose(history_out); } + history_out = NULL; return true; } -- cgit v1.2.3 From 87af68aa09fd1b0ab4f87fd064654a032c4daf30 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sat, 3 Apr 2010 18:50:07 +0200 Subject: * apt-pkg/packagemanager.cc: - don't try to "unpack" pseudo packages twice --- apt-pkg/packagemanager.cc | 14 +++++++++++--- debian/changelog | 2 ++ 2 files changed, 13 insertions(+), 3 deletions(-) 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/debian/changelog b/debian/changelog index 16800a9d1..71aeb1504 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,8 @@ apt (0.7.26~exp4) experimental; urgency=low * apt-pkg/depcache.cc: - "reinstall" the correct version for a killed pseudo package + * apt-pkg/packagemanager.cc: + - don't try to "unpack" pseudo packages twice -- David Kalnischkies Sat, 03 Apr 2010 14:58:39 +0200 -- cgit v1.2.3 From b3793d41d420a895ef5be4521a56535cc79f0d4a Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sun, 4 Apr 2010 10:34:45 +0200 Subject: remove the ABI compatible stub for GetListOfFilesInDir --- apt-pkg/contrib/fileutl.cc | 5 ----- apt-pkg/contrib/fileutl.h | 5 +---- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/apt-pkg/contrib/fileutl.cc b/apt-pkg/contrib/fileutl.cc index da32983f1..75adce305 100644 --- a/apt-pkg/contrib/fileutl.cc +++ b/apt-pkg/contrib/fileutl.cc @@ -201,11 +201,6 @@ bool FileExists(string File) // --------------------------------------------------------------------- /* If an extension is given only files with this extension are included in the returned vector, otherwise every "normal" file is included. */ -std::vector GetListOfFilesInDir(string const &Dir, string const &Ext, - bool const &SortList) -{ - return GetListOfFilesInDir(Dir, Ext, SortList, false); -} std::vector GetListOfFilesInDir(string const &Dir, string const &Ext, bool const &SortList, bool const &AllowNoExt) { diff --git a/apt-pkg/contrib/fileutl.h b/apt-pkg/contrib/fileutl.h index 85a94898c..351d53c5e 100644 --- a/apt-pkg/contrib/fileutl.h +++ b/apt-pkg/contrib/fileutl.h @@ -82,11 +82,8 @@ 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 std::vector GetListOfFilesInDir(string const &Dir, string const &Ext, - bool const &SortList); -std::vector GetListOfFilesInDir(string const &Dir, string const &Ext, - bool const &SortList, bool const &AllowNoExt); + bool const &SortList, bool const &AllowNoExt=false); std::vector GetListOfFilesInDir(string const &Dir, std::vector const &Ext, bool const &SortList); string SafeGetCWD(); -- cgit v1.2.3 From 1cd1c398d18b78f4aa9d882a5de5385f4538e0be Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Wed, 7 Apr 2010 16:38:18 +0200 Subject: * 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() * cmdline/apt-get.cc: - remove the lock file handling and let Acquire take care of it instead --- apt-pkg/acquire.cc | 89 ++++++++++++++++++++++++++++++++++------------ apt-pkg/acquire.h | 31 +++++++++++++--- apt-pkg/algorithms.cc | 4 ++- apt-pkg/contrib/fileutl.cc | 52 +++++++++++++++++++++++++++ apt-pkg/contrib/fileutl.h | 3 ++ apt-pkg/pkgcachegen.cc | 15 +++++++- cmdline/apt-get.cc | 38 ++++++++------------ debian/changelog | 9 +++++ 8 files changed, 187 insertions(+), 54 deletions(-) diff --git a/apt-pkg/acquire.cc b/apt-pkg/acquire.cc index 74510ae21..d83d80fac 100644 --- a/apt-pkg/acquire.cc +++ b/apt-pkg/acquire.cc @@ -19,6 +19,7 @@ #include #include #include +#include #include @@ -29,7 +30,6 @@ #include #include #include -#include /*}}}*/ using namespace std; @@ -37,32 +37,72 @@ 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; +} +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; + 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 + if (CheckDirectory(_config->FindDir("Dir::State"), _config->FindDir("Dir::State::lists") + "partial/") == false || + CheckDirectory(_config->FindDir("Dir::Cache"), _config->FindDir("Dir::Cache::Archives") + "partial/") == false) + return false; + + 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 _error->Errno("Acquire", _("Directory %s can't be created."), Path.c_str()); } /*}}}*/ // Acquire::~pkgAcquire - Destructor /*{{{*/ @@ -71,7 +111,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 + #include #include @@ -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/fileutl.cc b/apt-pkg/contrib/fileutl.cc index 75adce305..16f7ce929 100644 --- a/apt-pkg/contrib/fileutl.cc +++ b/apt-pkg/contrib/fileutl.cc @@ -18,6 +18,7 @@ /*}}}*/ // Include Files /*{{{*/ #include +#include #include #include #include @@ -197,6 +198,57 @@ 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 const dirs = VectorizeString(Path.substr(Parent.size()), '/'); + string progress = Parent; + for (vector::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 diff --git a/apt-pkg/contrib/fileutl.h b/apt-pkg/contrib/fileutl.h index 351d53c5e..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 #include #include @@ -82,6 +83,8 @@ bool RunScripts(const char *Cnf); bool CopyFile(FileFd &From,FileFd &To); int GetLock(string File,bool Errors = true); bool FileExists(string File); +bool DirectoryExists(string const &Path) __attrib_const; +bool CreateDirectory(string const &Parent, string const &Path); std::vector GetListOfFilesInDir(string const &Dir, string const &Ext, bool const &SortList, bool const &AllowNoExt=false); std::vector GetListOfFilesInDir(string const &Dir, std::vector const &Ext, 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/cmdline/apt-get.cc b/cmdline/apt-get.cc index 62f712c39..416d316da 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -811,20 +811,13 @@ 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 (Fetcher.Setup(&Stat, _config->FindB("APT::Get::Print-URIs", false) + ? "" : _config->FindDir("Dir::Cache::Archives")) == false) + return false; // Read the source list pkgSourceList List; @@ -1442,15 +1435,6 @@ 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)); @@ -1458,7 +1442,9 @@ bool DoUpdate(CommandLine &CmdL) if (_config->FindB("APT::Get::Print-URIs") == true) { // 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) @@ -2207,7 +2193,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()]; @@ -2464,7 +2452,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 71aeb1504..ffab08eb1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,6 +4,15 @@ apt (0.7.26~exp4) experimental; urgency=low - "reinstall" the correct version for a killed pseudo package * 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() + * cmdline/apt-get.cc: + - remove the lock file handling and let Acquire take care of it instead -- David Kalnischkies Sat, 03 Apr 2010 14:58:39 +0200 -- cgit v1.2.3 From a722b2c5c935768efbdd5b23eed7ce32ccd60908 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Fri, 9 Apr 2010 15:38:48 +0200 Subject: * apt-pkg/acquire-item.cc: - Acquire::ForceHash to force method for expected hash - display MD5Sum in --print-uris if not forced to use another method instead of displaying the strongest available (Closes: #576420) --- apt-pkg/acquire-item.cc | 28 +++++++++++++++++++++------- cmdline/apt-get.cc | 13 +++++++++++-- debian/changelog | 4 ++++ doc/examples/configure-index | 1 + test/makefile | 8 ++++---- 5 files changed, 41 insertions(+), 13 deletions(-) diff --git a/apt-pkg/acquire-item.cc b/apt-pkg/acquire-item.cc index 4f0abbb91..916fca71e 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/cmdline/apt-get.cc b/cmdline/apt-get.cc index 416d316da..7c42e672d 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -815,8 +815,14 @@ bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask = true, // Create the download object pkgAcquire Fetcher; AcqTextStatus Stat(ScreenWidth,_config->FindI("quiet",0)); - if (Fetcher.Setup(&Stat, _config->FindB("APT::Get::Print-URIs", false) - ? "" : _config->FindDir("Dir::Cache::Archives")) == false) + 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 @@ -1441,6 +1447,9 @@ bool DoUpdate(CommandLine &CmdL) // 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; if (Fetcher.Setup(&Stat) == false) diff --git a/debian/changelog b/debian/changelog index ffab08eb1..4cdbd4d93 100644 --- a/debian/changelog +++ b/debian/changelog @@ -11,8 +11,12 @@ apt (0.7.26~exp4) experimental; urgency=low - 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) -- David Kalnischkies Sat, 03 Apr 2010 14:58:39 +0200 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/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) -- cgit v1.2.3 From 3d5a34b22a83eb4bf9b1407e13240b8e2a333d5f Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Tue, 13 Apr 2010 09:28:57 +0200 Subject: regex for package names executed on Grp- not PkgIterator --- apt-pkg/depcache.h | 1 + cmdline/apt-get.cc | 9 ++++++--- debian/changelog | 1 + 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/apt-pkg/depcache.h b/apt-pkg/depcache.h index 6765d3e7c..72b9b5d4d 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);}; diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index 7c42e672d..52cbce945 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -1772,11 +1772,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); diff --git a/debian/changelog b/debian/changelog index 4cdbd4d93..6cf067952 100644 --- a/debian/changelog +++ b/debian/changelog @@ -17,6 +17,7 @@ apt (0.7.26~exp4) experimental; urgency=low - 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 -- David Kalnischkies Sat, 03 Apr 2010 14:58:39 +0200 -- cgit v1.2.3 From 9c2c9c24f7027a0299e545e55c38ac4c557359a5 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Tue, 13 Apr 2010 10:18:19 +0200 Subject: create the partial dirs also automatic if only Dir::Cache::archives or Dir::Cache::lists was set --- apt-pkg/acquire.cc | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/apt-pkg/acquire.cc b/apt-pkg/acquire.cc index d83d80fac..832eaa02c 100644 --- a/apt-pkg/acquire.cc +++ b/apt-pkg/acquire.cc @@ -69,9 +69,18 @@ bool pkgAcquire::Setup(pkgAcquireStatus *Progress, string const &Lock) Log = Progress; // check for existence and possibly create auxiliary directories - if (CheckDirectory(_config->FindDir("Dir::State"), _config->FindDir("Dir::State::lists") + "partial/") == false || - CheckDirectory(_config->FindDir("Dir::Cache"), _config->FindDir("Dir::Cache::Archives") + "partial/") == false) - return false; + 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; @@ -94,7 +103,7 @@ bool pkgAcquire::CheckDirectory(string const &Parent, string const &Path) const return true; size_t const len = Parent.size(); - if (len > 5 && Parent.find("/apt/", len - 6, 5) != len - 5) + if (len > 5 && Parent.find("/apt/", len - 6, 5) == len - 5) { if (CreateDirectory(Parent.substr(0,len-5), Path) == true) return true; @@ -102,7 +111,7 @@ bool pkgAcquire::CheckDirectory(string const &Parent, string const &Path) const else if (CreateDirectory(Parent, Path) == true) return true; - return _error->Errno("Acquire", _("Directory %s can't be created."), Path.c_str()); + return false; } /*}}}*/ // Acquire::~pkgAcquire - Destructor /*{{{*/ -- cgit v1.2.3 From 05bae55fb7fe23b2061182a60db2f2f914a2d3ec Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Wed, 14 Apr 2010 18:01:11 +0200 Subject: * apt-pkg/deb/dpkgpm.cc: - remove Chroot-Directory from files passed to install commands. Thanks to Kel Modderman for report & patch! (Closes: #577226) --- apt-pkg/deb/dpkgpm.cc | 14 +++++++++++++- debian/changelog | 3 +++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index 14a4968f7..ca8faa8a5 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -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; } /*}}}*/ diff --git a/debian/changelog b/debian/changelog index 6cf067952..7d2417cf4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -18,6 +18,9 @@ apt (0.7.26~exp4) experimental; urgency=low - 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 + * apt-pkg/deb/dpkgpm.cc: + - remove Chroot-Directory from files passed to install commands. + Thanks to Kel Modderman for report & patch! (Closes: #577226) -- David Kalnischkies Sat, 03 Apr 2010 14:58:39 +0200 -- cgit v1.2.3 From b564740226100331f1aba8a1e35a57e5483361f7 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Wed, 21 Apr 2010 13:14:40 +0200 Subject: replace backticks with single quote in broken packages message. Thanks to Jari Aalto for spotting & patching! (Closes: #577168) --- cmdline/apt-get.cc | 4 ++-- debian/changelog | 2 ++ po/apt-all.pot | 4 ++-- po/ar.po | 8 ++++---- po/ast.po | 8 ++++---- po/bg.po | 4 ++-- po/bs.po | 4 ++-- po/ca.po | 12 ++++++------ po/cs.po | 4 ++-- po/cy.po | 8 ++++---- po/da.po | 6 +++--- po/de.po | 4 ++-- po/dz.po | 8 ++++---- po/el.po | 4 ++-- po/en_GB.po | 4 ++-- po/es.po | 12 ++++++------ po/eu.po | 8 ++++---- po/fi.po | 4 ++-- po/fr.po | 4 ++-- po/gl.po | 4 ++-- po/he.po | 4 ++-- po/hu.po | 4 ++-- po/it.po | 4 ++-- po/ja.po | 4 ++-- po/km.po | 8 ++++---- po/ko.po | 8 ++++---- po/ku.po | 4 ++-- po/lt.po | 4 ++-- po/mr.po | 8 ++++---- po/nb.po | 4 ++-- po/ne.po | 8 ++++---- po/nl.po | 4 ++-- po/nn.po | 4 ++-- po/pl.po | 4 ++-- po/pt.po | 14 +++++++------- po/pt_BR.po | 8 ++++---- po/ro.po | 4 ++-- po/ru.po | 4 ++-- po/sk.po | 4 ++-- po/sl.po | 4 ++-- po/sv.po | 4 ++-- po/th.po | 8 ++++---- po/tl.po | 8 ++++---- po/uk.po | 4 ++-- po/vi.po | 4 ++-- po/zh_CN.po | 4 ++-- po/zh_TW.po | 8 ++++---- 47 files changed, 134 insertions(+), 132 deletions(-) diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index 52cbce945..9d67a82f8 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.")); @@ -1826,7 +1826,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).")); diff --git a/debian/changelog b/debian/changelog index 7d2417cf4..d1068b64d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -18,6 +18,8 @@ apt (0.7.26~exp4) experimental; urgency=low - 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 + - replace backticks with single quote in broken packages message. + Thanks to Jari Aalto for spotting & patching! (Closes: #577168) * apt-pkg/deb/dpkgpm.cc: - remove Chroot-Directory from files passed to install commands. Thanks to Kel Modderman for report & patch! (Closes: #577226) 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 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 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 "" -- cgit v1.2.3 From d9319cee6ff10b42e64145c82dfb246a1b3e551c Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Wed, 21 Apr 2010 15:16:13 +0200 Subject: * dselect/install: - modernize if-statements not to use 'x' (Closes: #577117) Thanks to Jari Aalto for spotting & patching! --- debian/changelog | 10 ++++++++-- dselect/install | 6 +++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/debian/changelog b/debian/changelog index d1068b64d..712437a6d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,6 @@ apt (0.7.26~exp4) experimental; urgency=low + [ David Kalnischkies ] * apt-pkg/depcache.cc: - "reinstall" the correct version for a killed pseudo package * apt-pkg/packagemanager.cc: @@ -18,12 +19,17 @@ apt (0.7.26~exp4) experimental; urgency=low - 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 - - replace backticks with single quote in broken packages message. - Thanks to Jari Aalto for spotting & patching! (Closes: #577168) * apt-pkg/deb/dpkgpm.cc: - remove Chroot-Directory from files passed to install commands. Thanks to Kel Modderman for report & patch! (Closes: #577226) + [ 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) + -- David Kalnischkies Sat, 03 Apr 2010 14:58:39 +0200 apt (0.7.26~exp3) experimental; urgency=low diff --git a/dselect/install b/dselect/install index 6779698e0..109307f4d 100755 --- a/dselect/install +++ b/dselect/install @@ -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 @@ -70,8 +70,8 @@ if [ $RES -eq 0 ]; then fi NEWLS=`ls -ld $ARCHIVES` - if [ x$CHECKDIR = "xtrue" ]; then - if [ "x$OLDLS" = "x$NEWLS" ]; then + if [ "$CHECKDIR" = "true" ]; then + if [ "$OLDLS" = "$NEWLS" ]; then exit 0 fi fi -- cgit v1.2.3 From cb658c4eea4bf18295c4acacd637cd94e2473bbc Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Wed, 21 Apr 2010 15:25:12 +0200 Subject: replace backticks with POSIX $() (Closes: #577116) And again thanks to Jari Aalto for spotting & patching! --- debian/changelog | 1 + dselect/install | 12 ++++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/debian/changelog b/debian/changelog index 712437a6d..44ddf1f82 100644 --- a/debian/changelog +++ b/debian/changelog @@ -29,6 +29,7 @@ apt (0.7.26~exp4) experimental; urgency=low in the broken packages message. (Closes: #577168) * dselect/install: - modernize if-statements not to use 'x' (Closes: #577117) + - replace backticks with POSIX $() (Closes: #577116) -- David Kalnischkies Sat, 03 Apr 2010 14:58:39 +0200 diff --git a/dselect/install b/dselect/install index 109307f4d..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 @@ -64,12 +64,12 @@ 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` + NEWLS=$(ls -ld $ARCHIVES) if [ "$CHECKDIR" = "true" ]; then if [ "$OLDLS" = "$NEWLS" ]; then exit 0 @@ -77,7 +77,7 @@ if [ $RES -eq 0 ]; then 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 -- cgit v1.2.3 From bf99a6d3307af667a23fe09bfc437a553bbbd182 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Fri, 23 Apr 2010 17:13:02 +0200 Subject: * ftparchive/writer.cc: - remove 999 chars Files and Checksums rewrite limit (Closes: #577759) --- debian/changelog | 2 ++ ftparchive/writer.cc | 40 +++++++++++++++++++--------------------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/debian/changelog b/debian/changelog index 44ddf1f82..8c0ac3314 100644 --- a/debian/changelog +++ b/debian/changelog @@ -22,6 +22,8 @@ apt (0.7.26~exp4) experimental; urgency=low * 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) [ Jari Aalto ] * cmdline/apt-get.cc: 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 #include #include +#include #include #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()); -- cgit v1.2.3 From ca964703dd3442724c0ccac0ade717042ca8fce5 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Fri, 23 Apr 2010 17:19:57 +0200 Subject: * 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) --- cmdline/apt-cache.cc | 12 ++++++++++-- debian/changelog | 3 +++ 2 files changed, 13 insertions(+), 2 deletions(-) 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/debian/changelog b/debian/changelog index 8c0ac3314..7ef1fb2a7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -24,6 +24,9 @@ apt (0.7.26~exp4) experimental; urgency=low 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) [ Jari Aalto ] * cmdline/apt-get.cc: -- cgit v1.2.3 From 75a53a7c29bf3b2dd8d898ed650b1fe937119080 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sat, 24 Apr 2010 09:39:46 +0200 Subject: * doc/apt.ent: - Add a note about APT_CONFIG in the -c description (Closes: #578267) --- debian/changelog | 2 ++ doc/apt.ent | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 7ef1fb2a7..2e786c68f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -27,6 +27,8 @@ apt (0.7.26~exp4) experimental; urgency=low * 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) [ Jari Aalto ] * cmdline/apt-get.cc: 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 @@ 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 APT_CONFIG + environment variable. See &apt-conf; for syntax information. -- cgit v1.2.3 From 3b796dfc90d6ca9d42077bddd38665b0b93a2266 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sat, 24 Apr 2010 10:49:48 +0200 Subject: show non-candidates as fallback for virtual packages (Closes: #578385) --- cmdline/apt-get.cc | 19 +++++++++++++------ debian/changelog | 1 + 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index 9d67a82f8..672f64c68 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -1147,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 { diff --git a/debian/changelog b/debian/changelog index 2e786c68f..8adfca8fb 100644 --- a/debian/changelog +++ b/debian/changelog @@ -19,6 +19,7 @@ apt (0.7.26~exp4) experimental; urgency=low - 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) * apt-pkg/deb/dpkgpm.cc: - remove Chroot-Directory from files passed to install commands. Thanks to Kel Modderman for report & patch! (Closes: #577226) -- cgit v1.2.3 From 972556e368479736720cba242dfdf6baa961b0d9 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sat, 24 Apr 2010 11:02:30 +0200 Subject: * doc/po/de.po: - correct typos in german apt_preferences manpage, thanks Chris Leick! --- debian/changelog | 2 ++ doc/po/de.po | 8 ++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/debian/changelog b/debian/changelog index 8adfca8fb..94f0cf688 100644 --- a/debian/changelog +++ b/debian/changelog @@ -30,6 +30,8 @@ apt (0.7.26~exp4) experimental; urgency=low 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! [ Jari Aalto ] * cmdline/apt-get.cc: 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 \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 \n" "Language-Team: German \n" "MIME-Version: 1.0\n" @@ -1120,7 +1120,7 @@ msgid "" msgstr "" "c.leick@vollbio.de angefertigt\n" -" in Zusammenarbeit mit dem Debian German-l10n-Team debian-l10n-german@lists.debian.org.\n" +" in Zusammenarbeit mit dem Deutschen l10n-Team von Debian debian-l10n-german@lists.debian.org.\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 " -"unstable-Distribution gehört. wird nur installiert, falls " +"unstable-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 stable-Distribution gehören und eine ungeheuer " "niedrige Priorität Paketversionen, die zu anderen Debian-" -"Distribution gehören. " +"Distributionen gehören. " #. type: Content of: #: apt_preferences.5.xml:507 apt_preferences.5.xml:553 -- cgit v1.2.3 From 6838dd8781d2986e51b7c65b7b404a70cfcd2321 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sat, 24 Apr 2010 12:15:59 +0200 Subject: * apt-pkg/sourcelist.cc: - be less strict and accept [option=value] as well --- apt-pkg/sourcelist.cc | 7 +++++++ debian/changelog | 2 ++ 2 files changed, 9 insertions(+) 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 &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/debian/changelog b/debian/changelog index 94f0cf688..f78f80936 100644 --- a/debian/changelog +++ b/debian/changelog @@ -32,6 +32,8 @@ apt (0.7.26~exp4) experimental; urgency=low - 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 [ Jari Aalto ] * cmdline/apt-get.cc: -- cgit v1.2.3 From c3a3a1b1b68706df40dc022bdcdf8ede684f5956 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sat, 24 Apr 2010 12:44:11 +0200 Subject: * apt-pkg/contrib/configuration.cc: - error out if #clear directive has no argument --- apt-pkg/contrib/configuration.cc | 2 ++ debian/changelog | 2 ++ 2 files changed, 4 insertions(+) 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/debian/changelog b/debian/changelog index f78f80936..ee2be291b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -34,6 +34,8 @@ apt (0.7.26~exp4) experimental; urgency=low - 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: -- cgit v1.2.3 From 08bd372d9dd5e4a56176ec08bf6e7870ecd41b32 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sat, 24 Apr 2010 13:15:33 +0200 Subject: set also "all" to this version for pseudo packages in TryToChangeVer --- cmdline/apt-get.cc | 5 +++++ debian/changelog | 1 + 2 files changed, 6 insertions(+) diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index 672f64c68..b43164c2f 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -1264,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; } /*}}}*/ diff --git a/debian/changelog b/debian/changelog index ee2be291b..a1a289ab3 100644 --- a/debian/changelog +++ b/debian/changelog @@ -20,6 +20,7 @@ apt (0.7.26~exp4) experimental; urgency=low 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) -- cgit v1.2.3 From edde664d0cc5fe46f572696c605832700c553b9e Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Wed, 28 Apr 2010 16:25:05 +0200 Subject: rewrite the pseudo package reinstaller to be more intelligent in his package choices The previous implementation tried to install the package for arch A and if this fails B, C and so on. This results in wrong architecture choices for packages which depend on other pseudo packages, so he will now try to install the dependencies first before trying the package itself and only if this fails he tries the next architecture. --- apt-pkg/depcache.cc | 120 +++++++++++++++++++++++++++++++++++----------------- apt-pkg/depcache.h | 2 + debian/changelog | 3 +- 3 files changed, 86 insertions(+), 39 deletions(-) diff --git a/apt-pkg/depcache.cc b/apt-pkg/depcache.cc index 0f07de2fe..a63deee3a 100644 --- a/apt-pkg/depcache.cc +++ b/apt-pkg/depcache.cc @@ -841,45 +841,15 @@ void pkgDepCache::Update(OpProgress *Prog) if (installed == false) recheck.insert(G.Index()); } - std::vector Archs = APT::Configuration::getArchitectures(); - bool checkChanged = false; - do { - for(std::set::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::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) - { - if (allV->Hash != V->Hash || - 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 - RemoveSizes(P); - RemoveStates(P); - P->CurrentVer = V.Index(); - PkgState[P->ID].InstallVer = V; - 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::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::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) @@ -888,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 &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::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 &recheck) +{ + std::vector static const Archs = APT::Configuration::getArchitectures(); + pkgCache::GrpIterator Grp(*Cache, Cache->GrpP + G); + if (unlikely(Grp.end() == true)) + return false; + for (std::vector::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 72b9b5d4d..3decc7a5f 100644 --- a/apt-pkg/depcache.h +++ b/apt-pkg/depcache.h @@ -470,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 &recheck); + bool ReInstallPseudoForGroup(unsigned long const &Grp, std::set &recheck); + bool ReInstallPseudoForGroup(pkgCache::PkgIterator const &P, std::set &recheck); }; #endif diff --git a/debian/changelog b/debian/changelog index a1a289ab3..dd003938a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,7 +2,8 @@ apt (0.7.26~exp4) experimental; urgency=low [ David Kalnischkies ] * apt-pkg/depcache.cc: - - "reinstall" the correct version for a killed pseudo package + - 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: -- cgit v1.2.3