summaryrefslogtreecommitdiff
path: root/apt-private
diff options
context:
space:
mode:
authorJulian Andres Klode <julian.klode@canonical.com>2019-02-13 14:02:12 +0100
committerJulian Andres Klode <julian.klode@canonical.com>2019-02-13 14:06:20 +0100
commit3f3cad74c2abbe3837fa98030c703dd4f5f191dc (patch)
tree3b3f8861d96983c2948a583d4ac4558955c86d6b /apt-private
parentfc3834a9e0d850411b7ae92e7b15a09f0a299b99 (diff)
Introduce APT::Install::Pre-Invoke / Post-Invoke-Success
These will run in our frontends currently, and can show messages. For the sake of keeping the implementation complexity low, a non-success variant of Post-Invoke is not provided. LP: #1815761
Diffstat (limited to 'apt-private')
-rw-r--r--apt-private/private-install.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/apt-private/private-install.cc b/apt-private/private-install.cc
index 243b75b1c..40543d995 100644
--- a/apt-private/private-install.cc
+++ b/apt-private/private-install.cc
@@ -103,6 +103,8 @@ static void RemoveDownloadNeedingItemsFromFetcher(pkgAcquire &Fetcher, bool &Tra
}
bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask, bool Safety)
{
+ if (not RunScripts("APT::Install::Pre-Invoke"))
+ return false;
if (_config->FindB("APT::Get::Purge", false) == true)
for (pkgCache::PkgIterator I = Cache->PkgBegin(); I.end() == false; ++I)
if (Cache[I].Delete() == true && Cache[I].Purge() == false)
@@ -178,7 +180,7 @@ bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask, bool Safety)
if (Cache->DelCount() == 0 && Cache->InstCount() == 0 &&
Cache->BadCount() == 0)
- return true;
+ return RunScripts("APT::Install::Post-Invoke-Success");
// No remove flag
if (Cache->DelCount() != 0 && _config->FindB("APT::Get::Remove",true) == false)
@@ -392,6 +394,9 @@ bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask, bool Safety)
}
}
+ if (not RunScripts("APT::Install::Post-Invoke-Success"))
+ return false;
+
return true;
}
/*}}}*/