aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2009-10-09 16:36:14 +0100
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2009-10-09 16:36:14 +0100
commit103d744d21650c15ab1e3d1d2cba709e3e0c7d71 (patch)
tree36cb17daef6b7ed437b19fc4c5ec23b26fb66715
parent7c2b05ee03028e238bdad4e1ab909f334bd4f064 (diff)
downloadpaludis-103d744d21650c15ab1e3d1d2cba709e3e0c7d71.tar.gz
paludis-103d744d21650c15ab1e3d1d2cba709e3e0c7d71.tar.xz
trace for installed IDs
Fixes: ticket:797
-rw-r--r--paludis/repositories/e/e_installed_repository_id.cc21
1 files changed, 20 insertions, 1 deletions
diff --git a/paludis/repositories/e/e_installed_repository_id.cc b/paludis/repositories/e/e_installed_repository_id.cc
index 6b5ef48..f395d7f 100644
--- a/paludis/repositories/e/e_installed_repository_id.cc
+++ b/paludis/repositories/e/e_installed_repository_id.cc
@@ -42,9 +42,11 @@
#include <paludis/util/make_shared_ptr.hh>
#include <paludis/util/wrapped_forward_iterator.hh>
#include <paludis/util/safe_ifstream.hh>
+#include <paludis/util/make_named_values.hh>
#include <paludis/output_manager.hh>
#include <paludis/literal_metadata_key.hh>
#include <paludis/user_dep_spec.hh>
+#include <paludis/elike_choices.hh>
#include <iterator>
using namespace paludis;
@@ -1014,8 +1016,25 @@ EInstalledRepositoryID::make_choice_value(const std::tr1::shared_ptr<const Choic
}
void
-EInstalledRepositoryID::add_build_options(const std::tr1::shared_ptr<Choices> &) const
+EInstalledRepositoryID::add_build_options(const std::tr1::shared_ptr<Choices> & choices) const
{
+ if (eapi()->supported())
+ {
+ std::tr1::shared_ptr<Choice> build_options(new Choice(make_named_values<ChoiceParams>(
+ value_for<n::consider_added_or_changed>(false),
+ value_for<n::contains_every_value>(false),
+ value_for<n::hidden>(false),
+ value_for<n::human_name>(canonical_build_options_human_name()),
+ value_for<n::prefix>(canonical_build_options_prefix()),
+ value_for<n::raw_name>(canonical_build_options_raw_name()),
+ value_for<n::show_with_no_prefix>(false)
+ )));
+ choices->add(build_options);
+
+ /* trace */
+ build_options->add(make_shared_ptr(new ELikeTraceChoiceValue(
+ shared_from_this(), _imp->environment, build_options)));
+ }
}
void