aboutsummaryrefslogtreecommitdiff
path: root/paludis/elike_package_dep_spec.cc
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2009-09-03 19:46:21 +0100
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2009-09-03 19:46:21 +0100
commitc84e8ac46c84423d3c8fbe891ca20fba5a8b5335 (patch)
tree13e3d398a13bca83d0fe30f2074adaea4b1236b0 /paludis/elike_package_dep_spec.cc
parent0c7d469028ea2f6b68695dece1b38cc8010d531f (diff)
downloadpaludis-c84e8ac46c84423d3c8fbe891ca20fba5a8b5335.tar.gz
paludis-c84e8ac46c84423d3c8fbe891ca20fba5a8b5335.tar.xz
epdso_allow_key_requirements for serialisation
Diffstat (limited to 'paludis/elike_package_dep_spec.cc')
-rw-r--r--paludis/elike_package_dep_spec.cc17
1 files changed, 17 insertions, 0 deletions
diff --git a/paludis/elike_package_dep_spec.cc b/paludis/elike_package_dep_spec.cc
index 0082830..7459e7a 100644
--- a/paludis/elike_package_dep_spec.cc
+++ b/paludis/elike_package_dep_spec.cc
@@ -28,6 +28,7 @@
#include <paludis/version_operator.hh>
#include <paludis/version_spec.hh>
#include <paludis/version_requirements.hh>
+#include <paludis/user_dep_spec.hh>
#include <strings.h>
using namespace paludis;
@@ -183,6 +184,22 @@ paludis::elike_remove_trailing_square_bracket_if_exists(std::string & s, Partial
}
break;
+ case '.':
+ {
+ if (! options[epdso_allow_key_requirements])
+ {
+ if (options[epdso_strict_parsing])
+ throw PackageDepSpecError("Key requirements not safe for use here");
+ else
+ Log::get_instance()->message("e.package_dep_spec.key_not_allowed", ll_warning, lc_context)
+ << "Key requirements not safe for use here";
+ }
+ std::tr1::shared_ptr<const AdditionalPackageDepSpecRequirement> req(new UserKeyRequirement(flag.substr(1)));
+ result.additional_requirement(req);
+ }
+ break;
+
+
default:
if (! options[epdso_allow_use_deps] && ! options[epdso_allow_use_deps_portage])
{