diff options
author | 2010-03-27 19:42:56 +0000 | |
---|---|---|
committer | 2010-03-27 19:42:56 +0000 | |
commit | 59960f024e275bdf04ca0dba57b3188ec257b3c3 (patch) | |
tree | d10ec319e15dcbefcccf8d0a90cbbd17b0dc5d22 | |
parent | 4e207720b9d2a9932f0d57d7f858855e52faf649 (diff) | |
download | paludis-59960f024e275bdf04ca0dba57b3188ec257b3c3.tar.gz paludis-59960f024e275bdf04ca0dba57b3188ec257b3c3.tar.xz |
Run ldconfig after unmerge too
Fixes: ticket:864
-rw-r--r-- | paludis/repositories/e/ebuild.cc | 4 | ||||
-rw-r--r-- | paludis/repositories/e/ebuild.hh | 12 | ||||
-rw-r--r-- | paludis/repositories/e/exndbam_repository.cc | 11 | ||||
-rw-r--r-- | paludis/repositories/e/vdb_repository.cc | 13 |
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())) |