summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Vogt <mvo@debian.org>2013-10-21 21:42:16 +0200
committerMichael Vogt <mvo@debian.org>2013-10-21 22:11:18 +0200
commit3b1b0f2900347ef2836c7ee4cc3ee20c6cdcb621 (patch)
treef6d1505929ddb5e53b8e7ea1f507563f0db4f22c
parentd274520ee8d174aa9f062f2fbb2c4d117a121dd8 (diff)
restore binary compatiblity with the pkgPackageManager interface
-rw-r--r--apt-pkg/deb/dpkgpm.cc3
-rw-r--r--apt-pkg/packagemanager.cc25
-rw-r--r--apt-pkg/packagemanager.h18
-rw-r--r--test/integration/test-apt-progress-fd-deb82254
4 files changed, 89 insertions, 11 deletions
diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc
index a61f08d91..adc94f05c 100644
--- a/apt-pkg/deb/dpkgpm.cc
+++ b/apt-pkg/deb/dpkgpm.cc
@@ -19,7 +19,8 @@
#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>
diff --git a/apt-pkg/packagemanager.cc b/apt-pkg/packagemanager.cc
index 3690a64c3..a2079a2e4 100644
--- a/apt-pkg/packagemanager.cc
+++ b/apt-pkg/packagemanager.cc
@@ -1027,6 +1027,18 @@ pkgPackageManager::OrderResult pkgPackageManager::OrderInstall()
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 /*{{{*/
// ---------------------------------------------------------------------
@@ -1042,6 +1054,19 @@ pkgPackageManager::DoInstallPostFork(APT::Progress::PackageManager *progress)
/*}}}*/
// 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
diff --git a/apt-pkg/packagemanager.h b/apt-pkg/packagemanager.h
index 5c15ac0e4..dcd12f979 100644
--- a/apt-pkg/packagemanager.h
+++ b/apt-pkg/packagemanager.h
@@ -23,8 +23,10 @@
#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>
@@ -100,16 +102,8 @@ class pkgPackageManager : protected pkgCache::Namespace
// 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
@@ -120,6 +114,10 @@ class pkgPackageManager : protected pkgCache::Namespace
// 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 */
diff --git a/test/integration/test-apt-progress-fd-deb822 b/test/integration/test-apt-progress-fd-deb822
new file mode 100644
index 000000000..0a7be0cd8
--- /dev/null
+++ b/test/integration/test-apt-progress-fd-deb822
@@ -0,0 +1,54 @@
+
+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