aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2011-01-06 17:45:02 +0000
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2011-01-07 13:09:23 +0000
commit173d2dcd123223733ef902df15b5d9aca317a924 (patch)
tree5661c8bd48af6954f515d79a50477fc816905171
parentc78fbac22cdcbae0071612e479dade011768d932 (diff)
downloadpaludis-173d2dcd123223733ef902df15b5d9aca317a924.tar.gz
paludis-173d2dcd123223733ef902df15b5d9aca317a924.tar.xz
Check for supported EAPI
-rw-r--r--paludis/repositories/e/exndbam_repository.cc6
-rw-r--r--paludis/repositories/e/vdb_repository.cc4
2 files changed, 9 insertions, 1 deletions
diff --git a/paludis/repositories/e/exndbam_repository.cc b/paludis/repositories/e/exndbam_repository.cc
index 12b805b43..0fdbaa5c3 100644
--- a/paludis/repositories/e/exndbam_repository.cc
+++ b/paludis/repositories/e/exndbam_repository.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 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
@@ -494,6 +494,10 @@ ExndbamRepository::perform_uninstall(
throw ActionFailedError("Couldn't uninstall '" + stringify(*id) +
"' because root ('" + stringify(_imp->params.root()) + "') is not a directory");
+ if (! id->eapi()->supported())
+ throw ActionFailedError("Couldn't uninstall '" + stringify(*id) +
+ "' because EAPI is unsupported");
+
std::shared_ptr<OutputManager> output_manager(a.options.make_output_manager()(a));
FSPath ver_dir(id->fs_location_key()->value().realpath());
diff --git a/paludis/repositories/e/vdb_repository.cc b/paludis/repositories/e/vdb_repository.cc
index 188452155..b369ccefc 100644
--- a/paludis/repositories/e/vdb_repository.cc
+++ b/paludis/repositories/e/vdb_repository.cc
@@ -416,6 +416,10 @@ VDBRepository::perform_uninstall(
throw ActionFailedError("Couldn't uninstall '" + stringify(*id) +
"' because root ('" + stringify(_imp->params.root()) + "') is not a directory");
+ if (! id->eapi()->supported())
+ throw ActionFailedError("Couldn't uninstall '" + stringify(*id) +
+ "' because EAPI is unsupported");
+
std::shared_ptr<OutputManager> output_manager(a.options.make_output_manager()(a));
std::string reinstalling_str(a.options.is_overwrite() ? "-reinstalling-" : "");