summaryrefslogtreecommitdiff
path: root/apt-pkg/deb/dpkgpm.cc
diff options
context:
space:
mode:
Diffstat (limited to 'apt-pkg/deb/dpkgpm.cc')
-rw-r--r--apt-pkg/deb/dpkgpm.cc16
1 files changed, 13 insertions, 3 deletions
diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc
index 0d5e2b415..6270e49f3 100644
--- a/apt-pkg/deb/dpkgpm.cc
+++ b/apt-pkg/deb/dpkgpm.cc
@@ -590,7 +590,6 @@ bool pkgDPkgPM::Go(int OutStatusFd)
dup2(slave, 1);
dup2(slave, 2);
close(slave);
-
close(fd[0]); // close the read end of the pipe
if (chdir(_config->FindDir("DPkg::Run-Directory","/").c_str()) != 0)
@@ -641,10 +640,20 @@ bool pkgDPkgPM::Go(int OutStatusFd)
close(slave);
fcntl(0, F_SETFL, O_NONBLOCK);
fcntl(master, F_SETFL, O_NONBLOCK);
+
// FIXME: make this a apt config option and add a logrotate file
FILE *term_out = fopen("/var/log/dpkg-out.log","a");
chmod("/var/log/dpkg-out.log", 0600);
-
+ // output current time
+ char outstr[200];
+ time_t t = time(NULL);
+ struct tm *tmp = localtime(&t);
+ strftime(outstr, sizeof(outstr), "%F %T", tmp);
+ fprintf(term_out, "Log started: ");
+ fprintf(term_out, outstr);
+ fprintf(term_out, "\n");
+
+ // setups fds
fd_set rfds;
struct timeval tv;
int select_ret;
@@ -677,8 +686,9 @@ bool pkgDPkgPM::Go(int OutStatusFd)
DoStdin(master);
DoTerminalPty(master, term_out);
- //DoDpkgStatusFd();
+ // FIXME: move this into its own function too
+ //DoDpkgStatusFd();
while(true)
{
if(read(_dpkgin, buf, 1) <= 0)