aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--paludis/merger.cc6
-rw-r--r--paludis/merger.hh6
2 files changed, 12 insertions, 0 deletions
diff --git a/paludis/merger.cc b/paludis/merger.cc
index 984c228..43a3060 100644
--- a/paludis/merger.cc
+++ b/paludis/merger.cc
@@ -113,6 +113,7 @@ Merger::merge()
do_ownership_fixes_recursive(_imp->params.image());
do_dir_recursive(false, _imp->params.image(), canonicalise_root_path(_imp->params.root() / _imp->params.install_under()));
+ on_done_merge();
if (0 != _imp->params.environment()->perform_hook(extend_hook(
Hook("merger_install_post")
@@ -433,3 +434,8 @@ Merger::fixed_ownership_for(const FSEntry & f)
return _imp->fixed_entries.end() != _imp->fixed_entries.find(f);
}
+void
+Merger::on_done_merge()
+{
+}
+
diff --git a/paludis/merger.hh b/paludis/merger.hh
index 456e298..a6d2781 100644
--- a/paludis/merger.hh
+++ b/paludis/merger.hh
@@ -109,6 +109,12 @@ namespace paludis
virtual void on_leave_dir(bool is_check, const FSEntry);
/**
+ * Allows subclasses to perform behaviour when everything has been
+ * merged, before any cleanup.
+ */
+ virtual void on_done_merge();
+
+ /**
* What to do when an error occurs.
*/
virtual void on_error(bool is_check, const std::string &) = 0;