diff options
author | 2013-09-15 19:08:16 +0100 | |
---|---|---|
committer | 2013-09-17 13:22:18 +0100 | |
commit | 038b4de8fa821ca9eec55dbf1c0dbadd451a3bd0 (patch) | |
tree | 8f4db101da8f7e28c4394d25a7aa2ebade352f69 /paludis/repositories/e/do_install_action.cc | |
parent | baba6b52187a65394b02c4e7f757fdba1709e2a0 (diff) | |
download | paludis-038b4de8fa821ca9eec55dbf1c0dbadd451a3bd0.tar.gz paludis-038b4de8fa821ca9eec55dbf1c0dbadd451a3bd0.tar.xz |
Support exvolatile
Diffstat (limited to 'paludis/repositories/e/do_install_action.cc')
-rw-r--r-- | paludis/repositories/e/do_install_action.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/paludis/repositories/e/do_install_action.cc b/paludis/repositories/e/do_install_action.cc index dc916e942..540dde76e 100644 --- a/paludis/repositories/e/do_install_action.cc +++ b/paludis/repositories/e/do_install_action.cc @@ -218,6 +218,7 @@ paludis::erepository::do_install_action( auto parts(std::make_shared<Partitioning>()); auto choices(id->choices_key()->parse_value()); auto work_choice(choices->find_by_name_with_prefix(ELikeWorkChoiceValue::canonical_name_with_prefix())); + auto volatile_files(std::make_shared<FSPathSet>()); EAPIPhases phases(id->eapi()->supported()->ebuild_phases()->ebuild_install()); for (EAPIPhases::ConstIterator phase(phases.begin_phases()), phase_end(phases.end_phases()) ; @@ -279,7 +280,7 @@ paludis::erepository::do_install_action( n::check() = phase->option("check_merge"), n::environment_file() = package_builddir / "temp" / "loadsaveenv", n::image_dir() = package_builddir / "image", - n::is_volatile() = [] (const FSPath &) { return false; }, + n::is_volatile() = [&] (const FSPath & f) { return volatile_files->end() != volatile_files->find(f); }, n::merged_entries() = merged_entries, n::options() = id->eapi()->supported()->merger_options() | extra_merger_options, n::output_manager() = output_manager, @@ -390,7 +391,8 @@ paludis::erepository::do_install_action( "/", n::sandbox() = phase->option("sandbox"), n::sydbox() = phase->option("sydbox"), - n::userpriv() = phase->option("userpriv") && userpriv_ok + n::userpriv() = phase->option("userpriv") && userpriv_ok, + n::volatile_files() = volatile_files )); EbuildInstallCommandParams install_params( @@ -453,7 +455,8 @@ paludis::erepository::do_install_action( "/", n::sandbox() = tidyup_phase->option("sandbox"), n::sydbox() = tidyup_phase->option("sydbox"), - n::userpriv() = tidyup_phase->option("userpriv") && userpriv_ok + n::userpriv() = tidyup_phase->option("userpriv") && userpriv_ok, + n::volatile_files() = volatile_files )); EbuildInstallCommandParams tidyup_install_params( |