aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar David Leverton <levertond@googlemail.com> 2010-03-27 19:42:56 +0000
committerAvatar David Leverton <levertond@googlemail.com> 2010-03-27 19:42:56 +0000
commit59960f024e275bdf04ca0dba57b3188ec257b3c3 (patch)
treed10ec319e15dcbefcccf8d0a90cbbd17b0dc5d22
parent4e207720b9d2a9932f0d57d7f858855e52faf649 (diff)
downloadpaludis-59960f024e275bdf04ca0dba57b3188ec257b3c3.tar.gz
paludis-59960f024e275bdf04ca0dba57b3188ec257b3c3.tar.xz
Run ldconfig after unmerge too
Fixes: ticket:864
-rw-r--r--paludis/repositories/e/ebuild.cc4
-rw-r--r--paludis/repositories/e/ebuild.hh12
-rw-r--r--paludis/repositories/e/exndbam_repository.cc11
-rw-r--r--paludis/repositories/e/vdb_repository.cc13
4 files changed, 25 insertions, 15 deletions
diff --git a/paludis/repositories/e/ebuild.cc b/paludis/repositories/e/ebuild.cc
index 52a95a8..6cdaa83 100644
--- a/paludis/repositories/e/ebuild.cc
+++ b/paludis/repositories/e/ebuild.cc
@@ -1026,13 +1026,13 @@ WriteVDBEntryCommand::operator() ()
throw ActionFailedError("Write VDB Entry command failed");
}
-VDBPostMergeCommand::VDBPostMergeCommand(const VDBPostMergeCommandParams & p) :
+VDBPostMergeUnmergeCommand::VDBPostMergeUnmergeCommand(const VDBPostMergeUnmergeCommandParams & p) :
params(p)
{
}
void
-VDBPostMergeCommand::operator() ()
+VDBPostMergeUnmergeCommand::operator() ()
{
if (! getenv_with_default("PALUDIS_NO_GLOBAL_HOOKS", "").empty())
return;
diff --git a/paludis/repositories/e/ebuild.hh b/paludis/repositories/e/ebuild.hh
index fb12b19..4b270ee 100644
--- a/paludis/repositories/e/ebuild.hh
+++ b/paludis/repositories/e/ebuild.hh
@@ -313,7 +313,7 @@ namespace paludis
* \ingroup grpebuildinterface
* \nosubgrouping
*/
- struct VDBPostMergeCommandParams
+ struct VDBPostMergeUnmergeCommandParams
{
NamedValue<n::root, FSEntry> root;
};
@@ -696,21 +696,21 @@ namespace paludis
};
/**
- * Command to be run after a VDB merge.
+ * Command to be run after a VDB merge or unmerge.
*
* \ingroup grpebuildinterface
*/
- class VDBPostMergeCommand :
- private InstantiationPolicy<VDBPostMergeCommand, instantiation_method::NonCopyableTag>
+ class VDBPostMergeUnmergeCommand :
+ private InstantiationPolicy<VDBPostMergeUnmergeCommand, instantiation_method::NonCopyableTag>
{
private:
- const VDBPostMergeCommandParams params;
+ const VDBPostMergeUnmergeCommandParams params;
public:
///\name Basic operations
///\{
- VDBPostMergeCommand(const VDBPostMergeCommandParams &);
+ VDBPostMergeUnmergeCommand(const VDBPostMergeUnmergeCommandParams &);
///\}
diff --git a/paludis/repositories/e/exndbam_repository.cc b/paludis/repositories/e/exndbam_repository.cc
index ad4fc4c..1710d6e 100644
--- a/paludis/repositories/e/exndbam_repository.cc
+++ b/paludis/repositories/e/exndbam_repository.cc
@@ -476,11 +476,10 @@ ExndbamRepository::merge(const MergeParams & m)
}
}
- VDBPostMergeCommand post_merge_command(
- make_named_values<VDBPostMergeCommandParams>(
+ VDBPostMergeUnmergeCommand post_merge_command(
+ make_named_values<VDBPostMergeUnmergeCommandParams>(
value_for<n::root>(installed_root_key()->value())
));
-
post_merge_command();
}
@@ -556,6 +555,12 @@ ExndbamRepository::perform_uninstall(
));
unmerger.unmerge();
+
+ VDBPostMergeUnmergeCommand post_unmerge_command(
+ make_named_values<VDBPostMergeUnmergeCommandParams>(
+ value_for<n::root>(installed_root_key()->value())
+ ));
+ post_unmerge_command();
}
else
{
diff --git a/paludis/repositories/e/vdb_repository.cc b/paludis/repositories/e/vdb_repository.cc
index 9509293..1b78163 100644
--- a/paludis/repositories/e/vdb_repository.cc
+++ b/paludis/repositories/e/vdb_repository.cc
@@ -476,8 +476,13 @@ VDBRepository::perform_uninstall(
value_for<n::package_id>(id),
value_for<n::root>(installed_root_key()->value())
));
-
unmerger.unmerge();
+
+ VDBPostMergeUnmergeCommand post_unmerge_command(
+ make_named_values<VDBPostMergeUnmergeCommandParams>(
+ value_for<n::root>(installed_root_key()->value())
+ ));
+ post_unmerge_command();
}
else
{
@@ -1023,12 +1028,12 @@ VDBRepository::merge(const MergeParams & m)
}
}
- VDBPostMergeCommand post_merge_command(
- make_named_values<VDBPostMergeCommandParams>(
+ VDBPostMergeUnmergeCommand post_merge_command(
+ make_named_values<VDBPostMergeUnmergeCommandParams>(
value_for<n::root>(installed_root_key()->value())
));
-
post_merge_command();
+
_imp->names_cache->add(m.package_id()->name());
if (_imp->used_provides_cache || (! _imp->tried_provides_cache && load_provided_using_cache()))