// Description /*{{{*/
/* ######################################################################
- This system provides the abstraction to use the universe file as the
+ This system provides the abstraction to use the scenario file as the
only source of package information to be able to feed the created file
back to APT for its own consumption (eat your own dogfood).
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
-#include <apt-pkg/edspsystem.h>
+#include <config.h>
+
+#include <apt-pkg/configuration.h>
#include <apt-pkg/debversion.h>
#include <apt-pkg/edspindexfile.h>
-#include <apt-pkg/configuration.h>
-#include <apt-pkg/error.h>
+#include <apt-pkg/edspsystem.h>
#include <apt-pkg/fileutl.h>
+#include <apt-pkg/pkgcache.h>
+#include <apt-pkg/cacheiterators.h>
+
+#include <stddef.h>
+#include <string>
+#include <vector>
+
#include <apti18n.h>
-#include <sys/types.h>
-#include <unistd.h>
-#include <dirent.h>
-#include <errno.h>
/*}}}*/
-edspSystem edspSys;
-
-// System::debSystem - Constructor /*{{{*/
-edspSystem::edspSystem()
+// System::edspSystem - Constructor /*{{{*/
+edspSystem::edspSystem() : pkgSystem("Debian APT solver interface", &debVS), d(NULL), StatusFile(NULL)
{
- StatusFile = 0;
-
- Label = "Debian APT solver interface";
- VS = &debVS;
}
/*}}}*/
// System::~debSystem - Destructor /*{{{*/
}
/*}}}*/
// System::UnLock - Drop a lock /*{{{*/
-bool edspSystem::UnLock(bool NoErrors)
+bool edspSystem::UnLock(bool /*NoErrors*/)
{
return true;
}
// ---------------------------------------------------------------------
/* we can't use edsp input as input for real installations - just a
simulation can work, but everything else will fail bigtime */
-pkgPackageManager *edspSystem::CreatePM(pkgDepCache *Cache) const
+pkgPackageManager *edspSystem::CreatePM(pkgDepCache * /*Cache*/) const
{
return NULL;
}
}
/*}}}*/
// System::ArchiveSupported - Is a file format supported /*{{{*/
-bool edspSystem::ArchiveSupported(const char *Type)
+bool edspSystem::ArchiveSupported(const char * /*Type*/)
{
return false;
}
// System::Score - Determine if we should use the edsp system /*{{{*/
signed edspSystem::Score(Configuration const &Cnf)
{
- if (FileExists(Cnf.FindFile("Dir::State::universe","")) == true)
- return 1000;
+ if (Cnf.Find("edsp::scenario", "") == "stdin")
+ return 1000;
+ if (RealFileExists(Cnf.FindFile("edsp::scenario","")) == true)
+ return 1000;
return -1000;
}
/*}}}*/
// System::AddStatusFiles - Register the status files /*{{{*/
-bool edspSystem::AddStatusFiles(vector<pkgIndexFile *> &List)
+bool edspSystem::AddStatusFiles(std::vector<pkgIndexFile *> &List)
{
if (StatusFile == 0)
- StatusFile = new edspIndex(_config->FindFile("Dir::State::universe"));
+ {
+ if (_config->Find("edsp::scenario", "") == "stdin")
+ StatusFile = new edspIndex("stdin");
+ else
+ StatusFile = new edspIndex(_config->FindFile("edsp::scenario"));
+ }
List.push_back(StatusFile);
return true;
}
return false;
}
/*}}}*/
+
+APT_HIDDEN edspSystem edspSys;