X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/09fa2df2f4717ac956210d43e3f3465d6ef5b82b..ac3dee0e5091f19b77de96eec5241cb57c13f2a1:/apt-pkg/deb/dpkgpm.h diff --git a/apt-pkg/deb/dpkgpm.h b/apt-pkg/deb/dpkgpm.h index c7792aba4..83b3f95fc 100644 --- a/apt-pkg/deb/dpkgpm.h +++ b/apt-pkg/deb/dpkgpm.h @@ -23,9 +23,15 @@ 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; + + protected: + int pkgFailures; // progress reporting struct DpkgState @@ -41,12 +47,10 @@ class pkgDPkgPM : public pkgPackageManager // the dpkg states that are already done; the string is the package // the int is the state that is already done (e.g. a package that is // going to be install is already in state "half-installed") - map PackageOpsDone; + map PackageOpsDone; // progress reporting - int Done; - int Total; - - protected: + unsigned int PackagesDone; + unsigned int PackagesTotal; struct Item { @@ -65,13 +69,19 @@ class pkgDPkgPM : public pkgPackageManager bool RunScriptsWithPkgs(const char *Cnf); bool SendV2Pkgs(FILE *F); + // apport integration + void WriteApportReport(const char *pkgpath, const char *errormsg); + + // 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); - // The Actuall installation implementation virtual bool Install(PkgIterator Pkg,string File); virtual bool Configure(PkgIterator Pkg);