aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2008-09-01 18:54:10 +0100
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2008-09-01 18:54:33 +0100
commit1291fcfec43931bf02f53030fff79f276ff748a0 (patch)
treee83cab2041fb11aaf1ea0a89786144043020727c
parent81f3d51a3b47c20ec3b4fbee582b48660ce2e9ed (diff)
downloadpaludis-1291fcfec43931bf02f53030fff79f276ff748a0.tar.gz
paludis-1291fcfec43931bf02f53030fff79f276ff748a0.tar.xz
Don't require profiles = to be set on unsynced repos
-rw-r--r--paludis/repositories/e/e_repository.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/paludis/repositories/e/e_repository.cc b/paludis/repositories/e/e_repository.cc
index 8bb76db..9f5231b 100644
--- a/paludis/repositories/e/e_repository.cc
+++ b/paludis/repositories/e/e_repository.cc
@@ -1583,8 +1583,13 @@ ERepository::repository_factory_create(
if (master_repositories)
std::copy((*master_repositories->begin())->params().profiles->begin(),
(*master_repositories->begin())->params().profiles->end(), profiles->back_inserter());
- else
+ else if (FSEntry(location).is_directory_or_symlink_to_directory() &&
+ (DirIterator(FSEntry(location)) != DirIterator()))
+ {
+ /* only require profiles = if we've definitely been synced. requiring profiles = on
+ * unsynced doesn't play nice with layout.conf specifying masters. */
throw ERepositoryConfigurationError("No profiles have been specified");
+ }
}
std::tr1::shared_ptr<FSEntrySequence> eclassdirs(new FSEntrySequence);