aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2013-09-15 17:41:02 +0100
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2013-09-17 13:22:18 +0100
commitbaba6b52187a65394b02c4e7f757fdba1709e2a0 (patch)
tree65d66c9324665c6d6140d840bd04e0d3500c9751
parent4cf6969f791466411e9084c9e4a5301cb427f796 (diff)
downloadpaludis-baba6b52187a65394b02c4e7f757fdba1709e2a0.tar.gz
paludis-baba6b52187a65394b02c4e7f757fdba1709e2a0.tar.xz
Pass is_volatile as a merger param
-rw-r--r--paludis/repositories/accounts/accounts_id.cc1
-rw-r--r--paludis/repositories/e/do_install_action.cc3
-rw-r--r--paludis/repositories/e/exndbam_repository.cc2
-rw-r--r--paludis/repositories/unavailable/unavailable_repository_id.cc3
-rw-r--r--paludis/repositories/unpackaged/installed_repository.cc2
-rw-r--r--paludis/repositories/unpackaged/unpackaged_id.cc6
-rw-r--r--paludis/repository.hh9
7 files changed, 18 insertions, 8 deletions
diff --git a/paludis/repositories/accounts/accounts_id.cc b/paludis/repositories/accounts/accounts_id.cc
index dd94cd1..8199c73 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 62f414f..dc916e9 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 15feba6..3861902 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 1cf0d97..4bb2218 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 449606a..5ce7854 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 80cfec9..2bd9984 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 6385943..3eac289 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
*/