aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2009-09-03 16:27:07 +0100
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2009-09-03 16:27:07 +0100
commit0c7d469028ea2f6b68695dece1b38cc8010d531f (patch)
tree84b79bd5ce110b1d00b4d49129d541730971a784
parent0e96d49be7ff18688cb6219c9c1c72b2006b01dd (diff)
downloadpaludis-0c7d469028ea2f6b68695dece1b38cc8010d531f.tar.gz
paludis-0c7d469028ea2f6b68695dece1b38cc8010d531f.tar.xz
Change how we deserialise package dep specs
This reverts commit ad761cd5e507e344ebc5f0c467b04f7d3dc729a3.
-rw-r--r--paludis/environments/paludis/paludis_environment.cc2
-rw-r--r--paludis/environments/paludis/world.cc12
-rw-r--r--paludis/environments/portage/portage_environment.cc8
-rw-r--r--paludis/repositories/e/e_repository_sets.cc3
-rw-r--r--paludis/resolver/constraint.cc2
-rw-r--r--paludis/resolver/sanitised_dependencies.cc28
-rw-r--r--paludis/resolver/serialise.cc29
-rw-r--r--paludis/resolver/serialise.hh6
-rw-r--r--paludis/set_file_TEST.cc12
-rw-r--r--paludis/user_dep_spec.cc23
-rw-r--r--paludis/user_dep_spec.hh7
-rw-r--r--paludis/user_dep_spec.se1
12 files changed, 72 insertions, 61 deletions
diff --git a/paludis/environments/paludis/paludis_environment.cc b/paludis/environments/paludis/paludis_environment.cc
index f174ebd..25c4fed 100644
--- a/paludis/environments/paludis/paludis_environment.cc
+++ b/paludis/environments/paludis/paludis_environment.cc
@@ -518,7 +518,7 @@ namespace
value_for<n::file_name>(f),
value_for<n::parser>(std::tr1::bind(&parse_user_package_dep_spec,
std::tr1::placeholders::_1, env, UserPackageDepSpecOptions() + updso_allow_wildcards,
- filter::All(), make_null_shared_ptr())),
+ filter::All())),
value_for<n::set_operator_mode>(mode),
value_for<n::tag>(tag),
value_for<n::type>(type)
diff --git a/paludis/environments/paludis/world.cc b/paludis/environments/paludis/world.cc
index 7bccd2a..f78daca 100644
--- a/paludis/environments/paludis/world.cc
+++ b/paludis/environments/paludis/world.cc
@@ -118,9 +118,7 @@ World::_add_string_to_world(const std::string & n) const
SetFile world(make_named_values<SetFileParams>(
value_for<n::environment>(_imp->env),
value_for<n::file_name>(*_imp->maybe_world_file),
- value_for<n::parser>(std::tr1::bind(&parse_user_package_dep_spec, _1, _imp->env,
- UserPackageDepSpecOptions() + updso_no_disambiguation + updso_throw_if_set, filter::All(),
- make_null_shared_ptr())),
+ value_for<n::parser>(std::tr1::bind(&parse_user_package_dep_spec, _1, _imp->env, UserPackageDepSpecOptions() + updso_no_disambiguation + updso_throw_if_set, filter::All())),
value_for<n::set_operator_mode>(sfsmo_natural),
value_for<n::tag>(std::tr1::shared_ptr<DepTag>()),
value_for<n::type>(sft_simple)
@@ -150,9 +148,7 @@ World::_remove_string_from_world(const std::string & n) const
SetFile world(make_named_values<SetFileParams>(
value_for<n::environment>(_imp->env),
value_for<n::file_name>(*_imp->maybe_world_file),
- value_for<n::parser>(std::tr1::bind(&parse_user_package_dep_spec, _1, _imp->env,
- UserPackageDepSpecOptions() + updso_no_disambiguation + updso_throw_if_set, filter::All(),
- make_null_shared_ptr())),
+ value_for<n::parser>(std::tr1::bind(&parse_user_package_dep_spec, _1, _imp->env, UserPackageDepSpecOptions() + updso_no_disambiguation + updso_throw_if_set, filter::All())),
value_for<n::set_operator_mode>(sfsmo_natural),
value_for<n::tag>(std::tr1::shared_ptr<DepTag>()),
value_for<n::type>(sft_simple)
@@ -177,9 +173,7 @@ World::world_set() const
SetFile world(make_named_values<SetFileParams>(
value_for<n::environment>(_imp->env),
value_for<n::file_name>(*_imp->maybe_world_file),
- value_for<n::parser>(std::tr1::bind(&parse_user_package_dep_spec, _1, _imp->env,
- UserPackageDepSpecOptions() + updso_no_disambiguation + updso_throw_if_set, filter::All(),
- make_null_shared_ptr())),
+ value_for<n::parser>(std::tr1::bind(&parse_user_package_dep_spec, _1, _imp->env, UserPackageDepSpecOptions() + updso_no_disambiguation + updso_throw_if_set, filter::All())),
value_for<n::set_operator_mode>(sfsmo_natural),
value_for<n::tag>(tag),
value_for<n::type>(sft_simple)
diff --git a/paludis/environments/portage/portage_environment.cc b/paludis/environments/portage/portage_environment.cc
index 88963cb..333db69 100644
--- a/paludis/environments/portage/portage_environment.cc
+++ b/paludis/environments/portage/portage_environment.cc
@@ -920,8 +920,7 @@ PortageEnvironment::_add_string_to_world(const std::string & s) const
SetFile world(make_named_values<SetFileParams>(
value_for<n::environment>(this),
value_for<n::file_name>(_imp->world_file),
- value_for<n::parser>(std::tr1::bind(&parse_user_package_dep_spec, _1, this,
- UserPackageDepSpecOptions() + updso_no_disambiguation, filter::All(), make_null_shared_ptr())),
+ value_for<n::parser>(std::tr1::bind(&parse_user_package_dep_spec, _1, this, UserPackageDepSpecOptions() + updso_no_disambiguation, filter::All())),
value_for<n::set_operator_mode>(sfsmo_natural),
value_for<n::tag>(std::tr1::shared_ptr<DepTag>()),
value_for<n::type>(sft_simple)
@@ -945,7 +944,7 @@ PortageEnvironment::_remove_string_from_world(const std::string & s) const
value_for<n::environment>(this),
value_for<n::file_name>(_imp->world_file),
value_for<n::parser>(std::tr1::bind(&parse_user_package_dep_spec, _1, this,
- UserPackageDepSpecOptions() + updso_no_disambiguation, filter::All(), make_null_shared_ptr())),
+ UserPackageDepSpecOptions() + updso_no_disambiguation, filter::All())),
value_for<n::set_operator_mode>(sfsmo_natural),
value_for<n::tag>(std::tr1::shared_ptr<DepTag>()),
value_for<n::type>(sft_simple)
@@ -999,8 +998,7 @@ namespace
value_for<n::environment>(env),
value_for<n::file_name>(f),
value_for<n::parser>(std::tr1::bind(&parse_user_package_dep_spec, std::tr1::placeholders::_1,
- env, UserPackageDepSpecOptions() + updso_no_disambiguation, filter::All(),
- make_null_shared_ptr())),
+ env, UserPackageDepSpecOptions() + updso_no_disambiguation, filter::All())),
value_for<n::set_operator_mode>(sfsmo_natural),
value_for<n::tag>(tag),
value_for<n::type>(sft_simple)
diff --git a/paludis/repositories/e/e_repository_sets.cc b/paludis/repositories/e/e_repository_sets.cc
index 4234a81..689fa67 100644
--- a/paludis/repositories/e/e_repository_sets.cc
+++ b/paludis/repositories/e/e_repository_sets.cc
@@ -121,8 +121,7 @@ ERepositorySets::package_set(const SetName & ss) const
SetFile f(make_named_values<SetFileParams>(
value_for<n::environment>(_imp->environment),
value_for<n::file_name>(ff),
- value_for<n::parser>(std::tr1::bind(&parse_user_package_dep_spec, _1, _imp->environment,
- UserPackageDepSpecOptions() + updso_no_disambiguation + updso_throw_if_set, filter::All(), make_null_shared_ptr())),
+ value_for<n::parser>(std::tr1::bind(&parse_user_package_dep_spec, _1, _imp->environment, UserPackageDepSpecOptions() + updso_no_disambiguation + updso_throw_if_set, filter::All())),
value_for<n::set_operator_mode>(s.second),
value_for<n::tag>(tag),
value_for<n::type>(sft_paludis_conf)
diff --git a/paludis/resolver/constraint.cc b/paludis/resolver/constraint.cc
index e423427..4f261f0 100644
--- a/paludis/resolver/constraint.cc
+++ b/paludis/resolver/constraint.cc
@@ -180,6 +180,8 @@ namespace
const std::tr1::shared_ptr<Constraint>
Constraint::deserialise(Deserialisation & d)
{
+ Context context("When deserialising '" + d.raw_string() + "':");
+
Deserialisator v(d, "Constraint");
const std::tr1::shared_ptr<Reason> reason(v.member<std::tr1::shared_ptr<Reason> >("reason"));
diff --git a/paludis/resolver/sanitised_dependencies.cc b/paludis/resolver/sanitised_dependencies.cc
index ac4bb48..020c783 100644
--- a/paludis/resolver/sanitised_dependencies.cc
+++ b/paludis/resolver/sanitised_dependencies.cc
@@ -31,7 +31,7 @@
#include <paludis/slot_requirement.hh>
#include <paludis/metadata_key.hh>
#include <paludis/package_id.hh>
-#include <paludis/user_dep_spec.hh>
+#include <paludis/elike_package_dep_spec.hh>
#include <set>
#include <list>
@@ -431,20 +431,32 @@ PackageOrBlockDepSpec::serialise(Serialiser & s) const
PackageOrBlockDepSpec
PackageOrBlockDepSpec::deserialise(Deserialisation & d, const std::tr1::shared_ptr<const PackageID> & for_id)
{
+ Context context("When deserialising '" + d.raw_string() + "':");
+
Deserialisator v(d, "PackageOrBlockDepSpec");
std::string if_block(v.member<std::string>("if_block"));
std::string if_package(v.member<std::string>("if_package"));
if (if_block == "null")
- return PackageOrBlockDepSpec(parse_user_package_dep_spec(if_package,
- d.deserialiser().environment(), UserPackageDepSpecOptions() + updso_serialised,
- filter::All(), for_id));
+ return PackageOrBlockDepSpec(parse_elike_package_dep_spec(if_package,
+ ELikePackageDepSpecOptions() + epdso_allow_tilde_greater_deps + epdso_nice_equal_star +
+ epdso_allow_ranged_deps + epdso_allow_use_deps + epdso_allow_use_deps_portage +
+ epdso_allow_use_dep_defaults + epdso_allow_repository_deps + epdso_allow_slot_star_deps +
+ epdso_allow_slot_equal_deps + epdso_allow_slot_deps,
+ VersionSpecOptions() + vso_flexible_dashes + vso_flexible_dots + vso_ignore_case +
+ vso_letters_anywhere + vso_dotted_suffixes,
+ for_id));
else
return PackageOrBlockDepSpec(BlockDepSpec(make_shared_ptr(new PackageDepSpec(
- parse_user_package_dep_spec(if_block.substr(if_block.find_first_not_of("!")),
- d.deserialiser().environment(), UserPackageDepSpecOptions() + updso_serialised,
- filter::All(), for_id))), if_block));
+ parse_elike_package_dep_spec(if_block.substr(if_block.find_first_not_of("!")),
+ ELikePackageDepSpecOptions() + epdso_allow_tilde_greater_deps + epdso_nice_equal_star +
+ epdso_allow_ranged_deps + epdso_allow_use_deps + epdso_allow_use_deps_portage +
+ epdso_allow_use_dep_defaults + epdso_allow_repository_deps + epdso_allow_slot_star_deps +
+ epdso_allow_slot_equal_deps + epdso_allow_slot_deps,
+ VersionSpecOptions() + vso_flexible_dashes + vso_flexible_dots + vso_ignore_case +
+ vso_letters_anywhere + vso_dotted_suffixes,
+ for_id)))));
}
void
@@ -458,6 +470,8 @@ SanitisedDependency::serialise(Serialiser & s) const
SanitisedDependency
SanitisedDependency::deserialise(Deserialisation & d, const std::tr1::shared_ptr<const PackageID> & from_id)
{
+ Context context("When deserialising '" + d.raw_string() + "':");
+
Deserialisator v(d, "SanitisedDependency");
return make_named_values<SanitisedDependency>(
diff --git a/paludis/resolver/serialise.cc b/paludis/resolver/serialise.cc
index 3a90b96..d98931d 100644
--- a/paludis/resolver/serialise.cc
+++ b/paludis/resolver/serialise.cc
@@ -28,7 +28,7 @@
#include <paludis/package_id.hh>
#include <paludis/dep_spec.hh>
#include <paludis/environment.hh>
-#include <paludis/user_dep_spec.hh>
+#include <paludis/elike_package_dep_spec.hh>
#include <paludis/selection.hh>
#include <paludis/filter.hh>
#include <paludis/generator.hh>
@@ -144,6 +144,7 @@ namespace paludis
std::string class_name;
std::string string_value;
+ std::string raw_string;
bool null;
std::list<std::tr1::shared_ptr<Deserialisation> > children;
@@ -192,6 +193,8 @@ Deserialiser::environment() const
Deserialisation::Deserialisation(const std::string & i, Deserialiser & d) :
PrivateImplementationPattern<Deserialisation>(new Implementation<Deserialisation>(d, i))
{
+ std::string::size_type before_p(d.parser().offset());
+
if (d.parser().consume(simple_parser::exact("null;")))
_imp->null = true;
else if (d.parser().consume(simple_parser::exact("\"")))
@@ -244,6 +247,9 @@ Deserialisation::Deserialisation(const std::string & i, Deserialiser & d) :
else
throw InternalError(PALUDIS_HERE, "can't parse keys, remaining text is '"
+ d.parser().text().substr(d.parser().offset()));
+
+ std::string::size_type after_p(d.parser().offset());
+ _imp->raw_string = d.parser().text().substr(before_p, after_p - before_p);
}
Deserialisation::~Deserialisation()
@@ -262,6 +268,12 @@ Deserialisation::class_name() const
return _imp->class_name;
}
+const std::string
+Deserialisation::raw_string() const
+{
+ return _imp->raw_string;
+}
+
bool
Deserialisation::null() const
{
@@ -328,10 +340,21 @@ Deserialisator::find_remove_member(const std::string & s)
std::tr1::shared_ptr<const PackageID>
DeserialisatorHandler<std::tr1::shared_ptr<const PackageID> >::handle(Deserialisation & v)
{
+ Context context("When deserialising '" + v.raw_string() + "':");
+
+ if (v.null())
+ return make_null_shared_ptr();
+
return *(*v.deserialiser().environment())[
selection::RequireExactlyOne(generator::Matches(
- parse_user_package_dep_spec(v.string_value(), v.deserialiser().environment(),
- UserPackageDepSpecOptions() + updso_serialised), MatchPackageOptions()))]->begin();
+ parse_elike_package_dep_spec(v.string_value(),
+ ELikePackageDepSpecOptions() + epdso_allow_tilde_greater_deps + epdso_nice_equal_star +
+ epdso_allow_ranged_deps + epdso_allow_use_deps + epdso_allow_use_deps_portage +
+ epdso_allow_use_dep_defaults + epdso_allow_repository_deps + epdso_allow_slot_star_deps +
+ epdso_allow_slot_equal_deps + epdso_allow_slot_deps,
+ VersionSpecOptions() + vso_flexible_dashes + vso_flexible_dots + vso_ignore_case +
+ vso_letters_anywhere + vso_dotted_suffixes,
+ make_null_shared_ptr()), MatchPackageOptions()))]->begin();
}
template class PrivateImplementationPattern<Deserialiser>;
diff --git a/paludis/resolver/serialise.hh b/paludis/resolver/serialise.hh
index 6262e1b..14f0fee 100644
--- a/paludis/resolver/serialise.hh
+++ b/paludis/resolver/serialise.hh
@@ -102,7 +102,9 @@ namespace paludis
private PrivateImplementationPattern<Deserialisation>
{
public:
- Deserialisation(const std::string &, Deserialiser &);
+ Deserialisation(
+ const std::string & class_name,
+ Deserialiser &);
~Deserialisation();
const Deserialiser & deserialiser() const PALUDIS_ATTRIBUTE((warn_unused_result));
@@ -111,6 +113,8 @@ namespace paludis
const std::string class_name() const PALUDIS_ATTRIBUTE((warn_unused_result));
+ const std::string raw_string() const PALUDIS_ATTRIBUTE((warn_unused_result));
+
const std::string string_value() const PALUDIS_ATTRIBUTE((warn_unused_result));
bool null() const PALUDIS_ATTRIBUTE((warn_unused_result));
diff --git a/paludis/set_file_TEST.cc b/paludis/set_file_TEST.cc
index 3f78674..dbc703f 100644
--- a/paludis/set_file_TEST.cc
+++ b/paludis/set_file_TEST.cc
@@ -70,8 +70,7 @@ namespace test_cases
SetFile f(make_named_values<SetFileParams>(
value_for<n::environment>(static_cast<Environment *>(0)),
value_for<n::file_name>(FSEntry("set_file_TEST_dir/simple1")),
- value_for<n::parser>(std::tr1::bind(&parse_user_package_dep_spec, _1, &env, UserPackageDepSpecOptions(), filter::All(),
- make_null_shared_ptr())),
+ value_for<n::parser>(std::tr1::bind(&parse_user_package_dep_spec, _1, &env, UserPackageDepSpecOptions(), filter::All())),
value_for<n::set_operator_mode>(sfsmo_natural),
value_for<n::tag>(std::tr1::shared_ptr<DepTag>()),
value_for<n::type>(sft_simple)
@@ -138,8 +137,7 @@ namespace test_cases
SetFile f(make_named_values<SetFileParams>(
value_for<n::environment>(static_cast<Environment *>(0)),
value_for<n::file_name>(FSEntry("set_file_TEST_dir/paludisconf1")),
- value_for<n::parser>(std::tr1::bind(&parse_user_package_dep_spec, _1, &env, UserPackageDepSpecOptions(), filter::All(),
- make_null_shared_ptr())),
+ value_for<n::parser>(std::tr1::bind(&parse_user_package_dep_spec, _1, &env, UserPackageDepSpecOptions(), filter::All())),
value_for<n::set_operator_mode>(sfsmo_natural),
value_for<n::tag>(std::tr1::shared_ptr<DepTag>()),
value_for<n::type>(sft_paludis_conf)
@@ -209,8 +207,7 @@ namespace test_cases
SetFile f(make_named_values<SetFileParams>(
value_for<n::environment>(static_cast<Environment *>(0)),
value_for<n::file_name>(FSEntry("set_file_TEST_dir/override")),
- value_for<n::parser>(std::tr1::bind(&parse_user_package_dep_spec, _1, &env, UserPackageDepSpecOptions(), filter::All(),
- make_null_shared_ptr())),
+ value_for<n::parser>(std::tr1::bind(&parse_user_package_dep_spec, _1, &env, UserPackageDepSpecOptions(), filter::All())),
value_for<n::set_operator_mode>(sfsmo_natural),
value_for<n::tag>(std::tr1::shared_ptr<DepTag>()),
value_for<n::type>(sft_paludis_conf)
@@ -225,8 +222,7 @@ namespace test_cases
SetFile fstar(make_named_values<SetFileParams>(
value_for<n::environment>(static_cast<Environment *>(0)),
value_for<n::file_name>(FSEntry("set_file_TEST_dir/override")),
- value_for<n::parser>(std::tr1::bind(&parse_user_package_dep_spec, _1, &env, UserPackageDepSpecOptions(), filter::All(),
- make_null_shared_ptr())),
+ value_for<n::parser>(std::tr1::bind(&parse_user_package_dep_spec, _1, &env, UserPackageDepSpecOptions(), filter::All())),
value_for<n::set_operator_mode>(sfsmo_star),
value_for<n::tag>(std::tr1::shared_ptr<DepTag>()),
value_for<n::type>(sft_paludis_conf)
diff --git a/paludis/user_dep_spec.cc b/paludis/user_dep_spec.cc
index 054f9dc..bcc85e8 100644
--- a/paludis/user_dep_spec.cc
+++ b/paludis/user_dep_spec.cc
@@ -92,11 +92,8 @@ namespace
}
bool user_remove_trailing_square_bracket_if_exists(std::string & s, PartiallyMadePackageDepSpec & result,
- bool & had_bracket_version_requirements, const ELikeUseRequirementOptions & options,
- const std::tr1::shared_ptr<const PackageID> & for_id)
+ bool & had_bracket_version_requirements)
{
- Context context("When removing trailing square bracket parts:");
-
std::string::size_type use_group_p;
if (std::string::npos == ((use_group_p = s.rfind('['))))
return false;
@@ -189,7 +186,7 @@ namespace
default:
{
std::tr1::shared_ptr<const AdditionalPackageDepSpecRequirement> req(parse_elike_use_requirement(flag,
- for_id, options));
+ std::tr1::shared_ptr<const PackageID>(), ELikeUseRequirementOptions()));
result.additional_requirement(req);
}
break;
@@ -290,8 +287,7 @@ namespace
PackageDepSpec
paludis::parse_user_package_dep_spec(const std::string & ss, const Environment * const env,
- const UserPackageDepSpecOptions & options, const Filter & filter,
- const std::tr1::shared_ptr<const PackageID> & for_id)
+ const UserPackageDepSpecOptions & options, const Filter & filter)
{
using namespace std::tr1::placeholders;
@@ -300,15 +296,6 @@ paludis::parse_user_package_dep_spec(const std::string & ss, const Environment *
bool had_bracket_version_requirements(false);
PartiallyMadePackageDepSpecOptions o;
- ELikePackageDepSpecOptions eo(ELikePackageDepSpecOptions() + epdso_allow_tilde_greater_deps + epdso_nice_equal_star);
- ELikeUseRequirementOptions uo;
- if (options[updso_serialised])
- {
- eo = eo + epdso_allow_ranged_deps + epdso_allow_use_deps + epdso_allow_use_deps_portage + epdso_allow_use_dep_defaults
- + epdso_allow_repository_deps + epdso_allow_slot_star_deps + epdso_allow_slot_equal_deps + epdso_allow_slot_deps;
- uo = uo + euro_allow_self_deps + euro_both_syntaxes + euro_portage_syntax + euro_allow_default_values + euro_strict_parsing;
- }
-
return partial_parse_generic_elike_package_dep_spec(ss, make_named_values<GenericELikePackageDepSpecParseFunctions>(
value_for<n::add_package_requirement>(std::tr1::bind(&user_add_package_requirement, _1, _2, env, options, filter)),
value_for<n::add_version_requirement>(std::tr1::bind(&elike_add_version_requirement, _1, _2, _3)),
@@ -318,12 +305,12 @@ paludis::parse_user_package_dep_spec(const std::string & ss, const Environment *
value_for<n::get_remove_version_operator>(std::tr1::bind(&elike_get_remove_version_operator, _1,
ELikePackageDepSpecOptions() + epdso_allow_tilde_greater_deps + epdso_nice_equal_star)),
value_for<n::has_version_operator>(std::tr1::bind(&elike_has_version_operator, _1,
- std::tr1::cref(had_bracket_version_requirements), eo)),
+ std::tr1::cref(had_bracket_version_requirements), ELikePackageDepSpecOptions())),
value_for<n::options_for_partially_made_package_dep_spec>(std::tr1::bind(&fixed_options_for_partially_made_package_dep_spec, o)),
value_for<n::remove_trailing_repo_if_exists>(std::tr1::bind(&user_remove_trailing_repo_if_exists, _1, _2)),
value_for<n::remove_trailing_slot_if_exists>(std::tr1::bind(&user_remove_trailing_slot_if_exists, _1, _2)),
value_for<n::remove_trailing_square_bracket_if_exists>(std::tr1::bind(&user_remove_trailing_square_bracket_if_exists,
- _1, _2, std::tr1::ref(had_bracket_version_requirements), uo, for_id))
+ _1, _2, std::tr1::ref(had_bracket_version_requirements)))
));
}
diff --git a/paludis/user_dep_spec.hh b/paludis/user_dep_spec.hh
index 3df3902..4433a5f 100644
--- a/paludis/user_dep_spec.hh
+++ b/paludis/user_dep_spec.hh
@@ -31,9 +31,6 @@ namespace paludis
/**
* Create a PackageDepSpec from user input.
*
- * \param package_id should generally be null, unless updso_serialised and there
- * might be [use=] deps. \since 0.40
- *
* \ingroup g_dep_spec
* \since 0.28
*/
@@ -41,9 +38,7 @@ namespace paludis
const std::string &,
const Environment * const,
const UserPackageDepSpecOptions &,
- const Filter & = filter::All(),
- const std::tr1::shared_ptr<const PackageID> & = std::tr1::shared_ptr<const PackageID>()
- ) PALUDIS_VISIBLE;
+ const Filter & = filter::All()) PALUDIS_VISIBLE;
class PALUDIS_VISIBLE UserSlotExactRequirement :
public SlotExactRequirement
diff --git a/paludis/user_dep_spec.se b/paludis/user_dep_spec.se
index ef6caf5..a48f5ba 100644
--- a/paludis/user_dep_spec.se
+++ b/paludis/user_dep_spec.se
@@ -8,7 +8,6 @@ make_enum_UserPackageDepSpecOption()
key updso_allow_wildcards "Allow wildcards for category, package"
key updso_throw_if_set "Check if it's a set, and throw GotASetNotAPackageDepSpec if so. \since 0.28"
key updso_no_disambiguation "Require an explicit category. \since 0.28"
- key updso_serialised "Allow things that wouldn't be allowed for users. \since 0.40"
doxygen_comment << "END"
/**