aboutsummaryrefslogtreecommitdiff
path: root/paludis/repositories/e/do_install_action.cc
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2013-09-15 19:08:16 +0100
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2013-09-17 13:22:18 +0100
commit038b4de8fa821ca9eec55dbf1c0dbadd451a3bd0 (patch)
tree8f4db101da8f7e28c4394d25a7aa2ebade352f69 /paludis/repositories/e/do_install_action.cc
parentbaba6b52187a65394b02c4e7f757fdba1709e2a0 (diff)
downloadpaludis-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.cc9
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(