diff options
author | 2013-09-15 17:41:02 +0100 | |
---|---|---|
committer | 2013-09-17 13:22:18 +0100 | |
commit | baba6b52187a65394b02c4e7f757fdba1709e2a0 (patch) | |
tree | 65d66c9324665c6d6140d840bd04e0d3500c9751 | |
parent | 4cf6969f791466411e9084c9e4a5301cb427f796 (diff) | |
download | paludis-baba6b52187a65394b02c4e7f757fdba1709e2a0.tar.gz paludis-baba6b52187a65394b02c4e7f757fdba1709e2a0.tar.xz |
Pass is_volatile as a merger param
-rw-r--r-- | paludis/repositories/accounts/accounts_id.cc | 1 | ||||
-rw-r--r-- | paludis/repositories/e/do_install_action.cc | 3 | ||||
-rw-r--r-- | paludis/repositories/e/exndbam_repository.cc | 2 | ||||
-rw-r--r-- | paludis/repositories/unavailable/unavailable_repository_id.cc | 3 | ||||
-rw-r--r-- | paludis/repositories/unpackaged/installed_repository.cc | 2 | ||||
-rw-r--r-- | paludis/repositories/unpackaged/unpackaged_id.cc | 6 | ||||
-rw-r--r-- | paludis/repository.hh | 9 |
7 files changed, 18 insertions, 8 deletions
diff --git a/paludis/repositories/accounts/accounts_id.cc b/paludis/repositories/accounts/accounts_id.cc index dd94cd1e6..8199c7308 100644 --- a/paludis/repositories/accounts/accounts_id.cc +++ b/paludis/repositories/accounts/accounts_id.cc @@ -474,6 +474,7 @@ AccountsID::perform_action(Action & action) const n::check() = true, n::environment_file() = FSPath("/dev/null"), n::image_dir() = fs_location_key()->parse_value(), + n::is_volatile() = [] (const FSPath &) { return false; }, n::merged_entries() = std::make_shared<FSPathSet>(), n::options() = MergerOptions() + mo_rewrite_symlinks + mo_allow_empty_dirs, n::output_manager() = output_manager, diff --git a/paludis/repositories/e/do_install_action.cc b/paludis/repositories/e/do_install_action.cc index 62f414ffc..dc916e942 100644 --- a/paludis/repositories/e/do_install_action.cc +++ b/paludis/repositories/e/do_install_action.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010, 2011 Ciaran McCreesh + * Copyright (c) 2010, 2011, 2013 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -279,6 +279,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::merged_entries() = merged_entries, n::options() = id->eapi()->supported()->merger_options() | extra_merger_options, n::output_manager() = output_manager, diff --git a/paludis/repositories/e/exndbam_repository.cc b/paludis/repositories/e/exndbam_repository.cc index 15feba62e..386190223 100644 --- a/paludis/repositories/e/exndbam_repository.cc +++ b/paludis/repositories/e/exndbam_repository.cc @@ -477,7 +477,7 @@ ExndbamRepository::merge(const MergeParams & m) n::get_new_ids_or_minus_one() = std::bind(&get_new_ids_or_minus_one, _imp->params.environment(), std::placeholders::_1), n::image() = m.image_dir(), n::install_under() = FSPath("/"), - n::is_volatile() = [] (const FSPath &) { return false; }, + n::is_volatile() = m.is_volatile(), n::merged_entries() = m.merged_entries(), n::options() = m.options(), n::output_manager() = m.output_manager(), diff --git a/paludis/repositories/unavailable/unavailable_repository_id.cc b/paludis/repositories/unavailable/unavailable_repository_id.cc index 1cf0d97e8..4bb221878 100644 --- a/paludis/repositories/unavailable/unavailable_repository_id.cc +++ b/paludis/repositories/unavailable/unavailable_repository_id.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010, 2011 Ciaran McCreesh + * Copyright (c) 2010, 2011, 2013 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -224,6 +224,7 @@ UnavailableRepositoryID::perform_action(Action & action) const n::check() = true, n::environment_file() = FSPath("/dev/null"), n::image_dir() = FSPath("/dev/null"), + n::is_volatile() = [] (const FSPath &) { return false; }, n::merged_entries() = std::make_shared<FSPathSet>(), n::options() = MergerOptions(), n::output_manager() = output_manager, diff --git a/paludis/repositories/unpackaged/installed_repository.cc b/paludis/repositories/unpackaged/installed_repository.cc index 449606aaf..5ce7854a3 100644 --- a/paludis/repositories/unpackaged/installed_repository.cc +++ b/paludis/repositories/unpackaged/installed_repository.cc @@ -341,7 +341,7 @@ InstalledUnpackagedRepository::merge(const MergeParams & m) _imp->params.environment(), rewrite_ids_over_to_root, _1), n::image() = m.image_dir(), n::install_under() = install_under, - n::is_volatile() = [] (const FSPath &) { return false; }, + n::is_volatile() = m.is_volatile(), n::merged_entries() = std::make_shared<FSPathSet>(), n::options() = m.options(), n::output_manager() = m.output_manager(), diff --git a/paludis/repositories/unpackaged/unpackaged_id.cc b/paludis/repositories/unpackaged/unpackaged_id.cc index 80cfec97e..2bd9984d0 100644 --- a/paludis/repositories/unpackaged/unpackaged_id.cc +++ b/paludis/repositories/unpackaged/unpackaged_id.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011, 2013 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -409,9 +409,9 @@ UnpackagedID::perform_action(Action & action) const n::check() = true, n::environment_file() = FSPath("/dev/null"), n::image_dir() = fs_location_key()->parse_value(), + n::is_volatile() = [] (const FSPath &) { return false; }, n::merged_entries() = std::make_shared<FSPathSet>(), - n::options() = (MergerOptions() + mo_rewrite_symlinks + mo_allow_empty_dirs) - | extra_merger_options, + n::options() = (MergerOptions() + mo_rewrite_symlinks + mo_allow_empty_dirs) | extra_merger_options, n::output_manager() = output_manager, n::package_id() = shared_from_this(), n::parts() = nullptr, diff --git a/paludis/repository.hh b/paludis/repository.hh index 638594385..3eac28909 100644 --- a/paludis/repository.hh +++ b/paludis/repository.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2013 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -66,6 +66,7 @@ namespace paludis typedef Name<struct name_environment_file> environment_file; typedef Name<struct name_environment_variable_interface> environment_variable_interface; typedef Name<struct name_image_dir> image_dir; + typedef Name<struct name_is_volatile> is_volatile; typedef Name<struct name_manifest_interface> manifest_interface; typedef Name<struct name_merged_entries> merged_entries; typedef Name<struct name_options> options; @@ -126,6 +127,12 @@ namespace paludis NamedValue<n::image_dir, FSPath> image_dir; /** + * Whether or not a file is volatile. + * \since 2.0.0 + */ + NamedValue<n::is_volatile, std::function<bool (const FSPath &)> > is_volatile; + + /** * We record things we merged here. * \since 0.41 */ |