X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/4b7c5a3fe8e3dfc439fdad88f30e28964059a5e4..6cb1060b58d8add6e04cc30241d3ef0f45ad226d:/apt-pkg/deb/dpkgpm.h diff --git a/apt-pkg/deb/dpkgpm.h b/apt-pkg/deb/dpkgpm.h index 065c6c917..b1459b1f6 100644 --- a/apt-pkg/deb/dpkgpm.h +++ b/apt-pkg/deb/dpkgpm.h @@ -23,9 +23,14 @@ class pkgDPkgPM : public pkgPackageManager { private: + bool stdin_is_dev_null; + // the buffer we use for the dpkg status-fd reading char dpkgbuf[1024]; int dpkgbuf_pos; + FILE *term_out; + FILE *history_out; + string dpkg_error; protected: @@ -50,7 +55,7 @@ class pkgDPkgPM : public pkgPackageManager struct Item { - enum Ops {Install, Configure, Remove, Purge} Op; + enum Ops {Install, Configure, Remove, Purge, ConfigurePending, TriggersPending} Op; string File; PkgIterator Pkg; Item(Ops Op,PkgIterator Pkg,string File = "") : Op(Op), @@ -61,13 +66,17 @@ class pkgDPkgPM : public pkgPackageManager vector List; // Helpers - bool RunScripts(const char *Cnf); bool RunScriptsWithPkgs(const char *Cnf); bool SendV2Pkgs(FILE *F); + void WriteHistoryTag(string const &tag, string value); + // dpkg log + bool OpenLog(); + bool CloseLog(); + // input processing void DoStdin(int master); - void DoTerminalPty(int master, FILE *out); + void DoTerminalPty(int master); void DoDpkgStatusFd(int statusfd, int OutStatusFd); void ProcessDpkgStatusLine(int OutStatusFd, char *line);