#include <apt-pkg/fileutl.h>
#include <apt-pkg/cachefile.h>
#include <apt-pkg/packagemanager.h>
-#include <apt-pkg/iprogress.h>
+
+#include <apt-private/private-progress.h>
#include <unistd.h>
#include <stdlib.h>
return Completed;
}
+// PM::DoInstallPostFork - compat /*{{{*/
+// ---------------------------------------------------------------------
+ /*}}}*/
+pkgPackageManager::OrderResult
+pkgPackageManager::DoInstallPostFork(int statusFd)
+{
+ APT::Progress::PackageManager *progress = new
+ APT::Progress::PackageManagerProgressFd(statusFd);
+ pkgPackageManager::OrderResult res = DoInstallPostFork(progress);
+ delete progress;
+ return res;
+ }
/*}}}*/
// PM::DoInstallPostFork - Does install part that happens after the fork /*{{{*/
// ---------------------------------------------------------------------
/*}}}*/
// PM::DoInstall - Does the installation /*{{{*/
// ---------------------------------------------------------------------
+/* compat */
+pkgPackageManager::OrderResult
+pkgPackageManager::DoInstall(int statusFd)
+{
+ APT::Progress::PackageManager *progress = new
+ APT::Progress::PackageManagerProgressFd(statusFd);
+ OrderResult res = DoInstall(progress);
+ delete progress;
+ return res;
+ }
+ /*}}}*/
+// PM::DoInstall - Does the installation /*{{{*/
+// ---------------------------------------------------------------------
/* This uses the filenames in FileNames and the information in the
DepCache to perform the installation of packages.*/
pkgPackageManager::OrderResult
#ifndef PKGLIB_PACKAGEMANAGER_H
#define PKGLIB_PACKAGEMANAGER_H
+#include <apt-pkg/macros.h>
#include <apt-pkg/pkgcache.h>
-#include <apt-pkg/iprogress.h>
+
+#include <apt-private/private-progress.h>
#include <string>
#include <iostream>
// Do the installation
OrderResult DoInstall(APT::Progress::PackageManager *progress);
-
// compat
- OrderResult DoInstall(int statusFd=-1) {
- APT::Progress::PackageManager *progress = new
- APT::Progress::PackageManagerProgressFd(statusFd);
- OrderResult res = DoInstall(progress);
- delete progress;
- return res;
- }
-
+ __deprecated OrderResult DoInstall(int statusFd=-1);
// stuff that needs to be done before the fork() of a library that
// uses apt
// stuff that needs to be done after the fork
OrderResult DoInstallPostFork(APT::Progress::PackageManager *progress);
+ // compat
+ __deprecated OrderResult DoInstallPostFork(int statusFd=-1);
+
+ // ?
bool FixMissing();
/** \brief returns all packages dpkg let disappear */
--- /dev/null
+
+set -e
+
+TESTDIR=$(readlink -f $(dirname $0))
+. $TESTDIR/framework
+
+setupenvironment
+configarchitecture 'amd64' 'i386'
+
+buildsimplenativepackage 'testing' 'amd64' '0.1' 'stable'
+buildsimplenativepackage 'testing' 'all' '0.8.15' 'stable'
+buildsimplenativepackage 'testing2' 'amd64,i386' '0.8.15' 'stable'
+setupaptarchive
+
+# install native
+exec 3> apt-progress.log
+testsuccess aptget install testing=0.1 -y -o APT::Status-deb822-Fd=3
+testequal "# and compare
+testequal "percent:0
+message: Running dpkg
+
+package: testing2
+percent: 0
+message: Installing testing2 (i386)
+
+package: testing2
+percent: 20
+message: Preparing testing2 (i386)
+
+package: testing2
+percent: 40
+message: Unpacking testing2 (i386)
+
+package: testing2
+percent: 60
+message: Preparing to configure testing2 (i386)
+
+percent: 60
+message: Running dpkg
+
+package: testing2
+percent: 60
+message: Configuring testing2 (i386)
+
+package: testing2
+percent: 80
+message: Configuring testing2 (i386)
+
+package: testing2
+percent: 100
+message: Installed testing2 (i386)" cat apt-progress.log
+
+
+rm -f apt-progress*.log