From 9a9665f96e006602950e0e32ce80cb5ee14f5e5f Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Tue, 4 Jul 2006 09:22:49 +0200 Subject: * apt-pkg/depcache.cc: - create a empty state file if none exists --- apt-pkg/depcache.cc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/apt-pkg/depcache.cc b/apt-pkg/depcache.cc index 7663d3881..25a4372bf 100644 --- a/apt-pkg/depcache.cc +++ b/apt-pkg/depcache.cc @@ -186,6 +186,15 @@ bool pkgDepCache::writeStateFile(OpProgress *prog) FileFd StateFile; string state = _config->FindDir("Dir::State") + "extended_states"; + + // if it does not exist, create a empty one + if(!FileExists(state)) + { + StateFile.Open(state, FileFd::WriteEmpty); + StateFile.Close(); + } + + // open it if(!StateFile.Open(state, FileFd::ReadOnly)) return _error->Error(_("Failed to open StateFile %s"), state.c_str()); -- cgit v1.2.3 From a4decc40b3eb085ea994d2a8b31ee9cddfd570ff Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Fri, 21 Jul 2006 11:00:34 +0200 Subject: * apt-pkg/depcache.cc: - close the outfile properly (thanks to kamion) * cmdline/apt-get.cc: - unbreak dselect-upgrade by adding a ActionGroup around it --- apt-pkg/depcache.cc | 1 + cmdline/apt-get.cc | 2 ++ 2 files changed, 3 insertions(+) diff --git a/apt-pkg/depcache.cc b/apt-pkg/depcache.cc index 25a4372bf..369eae70b 100644 --- a/apt-pkg/depcache.cc +++ b/apt-pkg/depcache.cc @@ -251,6 +251,7 @@ bool pkgDepCache::writeStateFile(OpProgress *prog) fprintf(OutFile,"\n"); } } + fclose(OutFile); // move the outfile over the real file rename(outfile.c_str(), state.c_str()); diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index 30d046447..8b3c68573 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -1771,6 +1771,8 @@ bool DoDSelectUpgrade(CommandLine &CmdL) if (Cache.OpenForInstall() == false || Cache.CheckDeps() == false) return false; + pkgDepCache::ActionGroup group(Cache); + // Install everything with the install flag set pkgCache::PkgIterator I = Cache->PkgBegin(); for (;I.end() != true; I++) -- cgit v1.2.3