aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2008-10-09 22:42:41 +0100
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2008-10-10 00:08:16 +0100
commit678bce41252dbb269960750771667ccea5208c26 (patch)
tree104b4ff9037fe3326590b275d41fa6ed385074ee
parent2dcdbcafdb4da4f80c43f18605aa60ccb5db9cf3 (diff)
downloadpaludis-678bce41252dbb269960750771667ccea5208c26.tar.gz
paludis-678bce41252dbb269960750771667ccea5208c26.tar.xz
Work around ebuilds assuming cwd is safe.
Fixes: Gentoo#240722
-rw-r--r--paludis/environments/no_config/no_config_environment.cc2
-rw-r--r--paludis/repositories/e/Makefile.am1
-rw-r--r--paludis/repositories/e/e_repository.cc14
-rw-r--r--paludis/repositories/e/e_repository_TEST.cc151
-rw-r--r--paludis/repositories/e/ebuild.cc4
-rw-r--r--paludis/repositories/e/ebuild/0/Makefile.am1
-rw-r--r--paludis/repositories/e/ebuild/1/Makefile.am1
-rw-r--r--paludis/repositories/e/ebuild/2/Makefile.am1
-rw-r--r--paludis/repositories/e/ebuild/Makefile.am1
-rwxr-xr-xpaludis/repositories/e/ebuild/ebuild.bash7
-rw-r--r--paludis/repositories/e/ebuild/exheres-0/Makefile.am1
-rw-r--r--paludis/repositories/e/ebuild/kdebuild-1/Makefile.am1
-rw-r--r--paludis/repositories/e/ebuild/pbin-1/Makefile.am1
-rw-r--r--paludis/repositories/e/ebuild/utils/Makefile.am1
-rw-r--r--paludis/repositories/e/ebuild_flat_metadata_cache_TEST.cc41
-rwxr-xr-xpaludis/repositories/e/ebuild_flat_metadata_cache_TEST_setup.sh2
-rw-r--r--paludis/repositories/e/exndbam_repository_TEST.cc9
-rw-r--r--paludis/repositories/e/vdb_repository_TEST.cc66
-rwxr-xr-xpython/dep_list_TEST_setup.sh2
-rwxr-xr-xpython/environment_TEST_setup.sh1
-rwxr-xr-xpython/mask_TEST_setup.sh1
-rwxr-xr-xpython/package_database_TEST_setup.sh1
-rwxr-xr-xpython/repository_TEST_setup.sh2
-rwxr-xr-xruby/action_TEST_setup.sh2
-rwxr-xr-xruby/dep_list_TEST_setup.sh2
-rwxr-xr-xruby/dep_spec_TEST_setup.sh1
-rwxr-xr-xruby/dep_tag_TEST_setup.sh1
-rwxr-xr-xruby/environment_TEST_setup.sh1
-rwxr-xr-xruby/generator_TEST_setup.sh1
-rwxr-xr-xruby/package_database_TEST_setup.sh1
-rw-r--r--ruby/package_id_TEST.rb2
-rwxr-xr-xruby/paludis_ruby_TEST_setup.sh2
-rwxr-xr-xruby/repository_TEST_setup.sh2
33 files changed, 215 insertions, 112 deletions
diff --git a/paludis/environments/no_config/no_config_environment.cc b/paludis/environments/no_config/no_config_environment.cc
index b3f2b05..b02b79a 100644
--- a/paludis/environments/no_config/no_config_environment.cc
+++ b/paludis/environments/no_config/no_config_environment.cc
@@ -186,6 +186,7 @@ Implementation<NoConfigEnvironment>::initialise(NoConfigEnvironment * const env)
keys->insert("ignore_deprecated_profiles", "true");
keys->insert("write_cache", stringify(params.write_cache));
keys->insert("names_cache", "/var/empty");
+ keys->insert("builddir", "/var/empty");
if (params.disable_metadata_cache)
keys->insert("cache", "/var/empty");
@@ -205,6 +206,7 @@ Implementation<NoConfigEnvironment>::initialise(NoConfigEnvironment * const env)
keys->insert("ignore_deprecated_profiles", "true");
keys->insert("write_cache", stringify(params.write_cache));
keys->insert("names_cache", "/var/empty");
+ keys->insert("builddir", "/var/empty");
if (params.disable_metadata_cache)
keys->insert("cache", "/var/empty");
diff --git a/paludis/repositories/e/Makefile.am b/paludis/repositories/e/Makefile.am
index 654ef0e..cc3ccb8 100644
--- a/paludis/repositories/e/Makefile.am
+++ b/paludis/repositories/e/Makefile.am
@@ -414,6 +414,7 @@ TESTS_ENVIRONMENT = env \
PALUDIS_REPOSITORY_SO_DIR="$(top_builddir)/paludis/repositories" \
PALUDIS_NO_CHOWN="yes" \
PALUDIS_TESTS_KEEP_STDERR="yes" \
+ PALDUIS_TMPDIR="`pwd`" \
LD_LIBRARY_PATH="`echo $$LD_LIBRARY_PATH: | sed -e 's,^:,,'`` \
$(top_srcdir)/paludis/repositories/e/ebuild/utils/canonicalise $(top_builddir)/paludis/repositories/e/`:` \
$(top_srcdir)/paludis/repositories/e/ebuild/utils/canonicalise $(top_builddir)/paludis/repositories/e/.libs/`" \
diff --git a/paludis/repositories/e/e_repository.cc b/paludis/repositories/e/e_repository.cc
index 0b98499..ea43aa9 100644
--- a/paludis/repositories/e/e_repository.cc
+++ b/paludis/repositories/e/e_repository.cc
@@ -1776,16 +1776,16 @@ ERepository::repository_factory_create(
.entry_format("ebuild")
.layout(layout)
.environment(env)
- .location(location)
+ .location(FSEntry(location).realpath_if_exists())
.profiles(profiles)
.cache(cache)
- .write_cache(write_cache)
- .names_cache(names_cache)
+ .write_cache(FSEntry(write_cache).realpath_if_exists())
+ .names_cache(FSEntry(names_cache).realpath_if_exists())
.eclassdirs(eclassdirs)
- .distdir(distdir)
- .securitydir(securitydir)
- .setsdir(setsdir)
- .newsdir(newsdir)
+ .distdir(FSEntry(distdir).realpath_if_exists())
+ .securitydir(FSEntry(securitydir).realpath_if_exists())
+ .setsdir(FSEntry(setsdir).realpath_if_exists())
+ .newsdir(FSEntry(newsdir).realpath_if_exists())
.sync(sync)
.sync_options(sync_options)
.master_repositories(master_repositories)
diff --git a/paludis/repositories/e/e_repository_TEST.cc b/paludis/repositories/e/e_repository_TEST.cc
index 3e3bacf..dc8f074 100644
--- a/paludis/repositories/e/e_repository_TEST.cc
+++ b/paludis/repositories/e/e_repository_TEST.cc
@@ -85,8 +85,9 @@ namespace test_cases
std::tr1::shared_ptr<Map<std::string, std::string> > keys(new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "e_repository_TEST_dir/repo1");
- keys->insert("profiles", "e_repository_TEST_dir/repo1/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo1"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo1/profiles/profile"));
+ keys->insert("builddir", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
TEST_CHECK_STRINGIFY_EQUAL(repo->name(), "test-repo-1");
@@ -104,8 +105,9 @@ namespace test_cases
std::tr1::shared_ptr<Map<std::string, std::string> > keys(new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "e_repository_TEST_dir/repo2");
- keys->insert("profiles", "e_repository_TEST_dir/repo2/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo2"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo2/profiles/profile"));
+ keys->insert("builddir", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
TEST_CHECK_STRINGIFY_EQUAL(repo->name(), "x-repo2");
@@ -123,8 +125,9 @@ namespace test_cases
std::tr1::shared_ptr<Map<std::string, std::string> > keys(new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "e_repository_TEST_dir/repo3");
- keys->insert("profiles", "e_repository_TEST_dir/repo3/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo3"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo3/profiles/profile"));
+ keys->insert("builddir", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
TEST_CHECK_STRINGIFY_EQUAL(repo->name(), "x-repo3");
@@ -142,8 +145,9 @@ namespace test_cases
std::tr1::shared_ptr<Map<std::string, std::string> > keys(new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "e_repository_TEST_dir/repo1");
- keys->insert("profiles", "e_repository_TEST_dir/repo1/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo1"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo1/profiles/profile"));
+ keys->insert("builddir", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
@@ -170,8 +174,9 @@ namespace test_cases
std::tr1::shared_ptr<Map<std::string, std::string> > keys(new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "e_repository_TEST_dir/repo1");
- keys->insert("profiles", "e_repository_TEST_dir/repo1/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo1"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo1/profiles/profile"));
+ keys->insert("builddir", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
@@ -200,8 +205,9 @@ namespace test_cases
std::tr1::shared_ptr<Map<std::string, std::string> > keys(new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "e_repository_TEST_dir/repo4");
- keys->insert("profiles", "e_repository_TEST_dir/repo4/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo4"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo4/profiles/profile"));
+ keys->insert("builddir", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
@@ -236,8 +242,9 @@ namespace test_cases
std::tr1::shared_ptr<Map<std::string, std::string> > keys(new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "e_repository_TEST_dir/repo4");
- keys->insert("profiles", "e_repository_TEST_dir/repo4/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo4"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo4/profiles/profile"));
+ keys->insert("builddir", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
@@ -276,8 +283,9 @@ namespace test_cases
std::tr1::shared_ptr<Map<std::string, std::string> > keys(new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "e_repository_TEST_dir/repo4");
- keys->insert("profiles", "e_repository_TEST_dir/repo4/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo4"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo4/profiles/profile"));
+ keys->insert("builddir", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
@@ -325,8 +333,9 @@ namespace test_cases
std::tr1::shared_ptr<Map<std::string, std::string> > keys(new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "e_repository_TEST_dir/repo5");
- keys->insert("profiles", "e_repository_TEST_dir/repo5/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo5"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo5/profiles/profile"));
+ keys->insert("builddir", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
@@ -358,8 +367,9 @@ namespace test_cases
new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "e_repository_TEST_dir/repo4");
- keys->insert("profiles", "e_repository_TEST_dir/repo4/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo4"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo4/profiles/profile"));
+ keys->insert("builddir", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
@@ -402,8 +412,9 @@ namespace test_cases
std::tr1::shared_ptr<Map<std::string, std::string> > keys(new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "e_repository_TEST_dir/repo8");
- keys->insert("profiles", "e_repository_TEST_dir/repo8/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo8"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo8/profiles/profile"));
+ keys->insert("builddir", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
@@ -454,9 +465,10 @@ namespace test_cases
new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("write_cache", "e_repository_TEST_dir/repo7/metadata/cache");
- keys->insert("location", "e_repository_TEST_dir/repo7");
- keys->insert("profiles", "e_repository_TEST_dir/repo7/profiles/profile");
+ keys->insert("write_cache", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo7/metadata/cache"));
+ keys->insert("location", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo7"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo7/profiles/profile"));
+ keys->insert("builddir", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -536,8 +548,9 @@ namespace test_cases
new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "e_repository_TEST_dir/repo7");
- keys->insert("profiles", "e_repository_TEST_dir/repo7/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo7"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo7/profiles/profile"));
+ keys->insert("builddir", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -569,8 +582,9 @@ namespace test_cases
new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "e_repository_TEST_dir/repo9");
- keys->insert("profiles", "e_repository_TEST_dir/repo9/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo9"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo9/profiles/profile"));
+ keys->insert("builddir", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "build"));
std::tr1::shared_ptr<ERepository> repo(std::tr1::static_pointer_cast<ERepository>(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1))));
env.package_database()->add_repository(1, repo);
@@ -619,8 +633,9 @@ namespace test_cases
new Map<std::string, std::string>);
keys18->insert("format", "ebuild");
keys18->insert("names_cache", "/var/empty");
- keys18->insert("location", "e_repository_TEST_dir/repo18");
- keys18->insert("profiles", "e_repository_TEST_dir/repo18/profiles/profile");
+ keys18->insert("location", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo18"));
+ keys18->insert("profiles", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo18/profiles/profile"));
+ keys18->insert("builddir", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo18(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys18, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo18);
@@ -629,8 +644,9 @@ namespace test_cases
new Map<std::string, std::string>);
keys19->insert("format", "ebuild");
keys19->insert("names_cache", "/var/empty");
- keys19->insert("location", "e_repository_TEST_dir/repo19");
+ keys19->insert("location", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo19"));
keys19->insert("master_repository", "test-repo-18");
+ keys19->insert("builddir", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo19(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys19, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo19);
@@ -675,8 +691,9 @@ namespace test_cases
new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "e_repository_TEST_dir/repo10");
- keys->insert("profiles", "e_repository_TEST_dir/repo10/profiles/profile/subprofile");
+ keys->insert("location", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo10"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo10/profiles/profile/subprofile"));
+ keys->insert("builddir", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -710,8 +727,9 @@ namespace test_cases
new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "e_repository_TEST_dir/repo10");
- keys->insert("profiles", "e_repository_TEST_dir/repo10/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo10"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo10/profiles/profile"));
+ keys->insert("builddir", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "build"));
std::tr1::shared_ptr<ERepository> repo(std::tr1::static_pointer_cast<ERepository>(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1))));
env.package_database()->add_repository(1, repo);
@@ -742,8 +760,9 @@ namespace test_cases
new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "e_repository_TEST_dir/repo15");
- keys->insert("profiles", "e_repository_TEST_dir/repo15/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo15"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo15/profiles/profile"));
+ keys->insert("builddir", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "build"));
std::tr1::shared_ptr<ERepository> repo(std::tr1::static_pointer_cast<ERepository>(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1))));
env.package_database()->add_repository(1, repo);
@@ -814,8 +833,9 @@ namespace test_cases
new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "e_repository_TEST_dir/repo11");
- keys->insert("profiles", "e_repository_TEST_dir/repo11/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo11"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo11/profiles/profile"));
+ keys->insert("builddir", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "build"));
std::tr1::shared_ptr<ERepository> repo(std::tr1::static_pointer_cast<ERepository>(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1))));
repo->make_manifest(QualifiedPackageName("category/package"));
@@ -858,13 +878,14 @@ namespace test_cases
std::tr1::shared_ptr<Map<std::string, std::string> > keys(new Map<std::string, std::string>);
keys->insert("format", "exheres");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "e_repository_TEST_dir/repo12");
- keys->insert("profiles", "e_repository_TEST_dir/repo12/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo12"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo12/profiles/profile"));
keys->insert("layout", "exheres");
keys->insert("eapi_when_unknown", "exheres-0");
keys->insert("eapi_when_unspecified", "exheres-0");
keys->insert("profile_eapi", "exheres-0");
keys->insert("distdir", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "distdir"));
+ keys->insert("builddir", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -965,8 +986,9 @@ namespace test_cases
new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "e_repository_TEST_dir/repo11");
- keys->insert("profiles", "e_repository_TEST_dir/repo11/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo11"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo11/profiles/profile"));
+ keys->insert("builddir", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "build"));
std::tr1::shared_ptr<ERepository> repo(std::tr1::static_pointer_cast<ERepository>(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1))));
env.package_database()->add_repository(1, repo);
@@ -1013,8 +1035,8 @@ namespace test_cases
std::tr1::shared_ptr<Map<std::string, std::string> > keys(new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "e_repository_TEST_dir/repo13");
- keys->insert("profiles", "e_repository_TEST_dir/repo13/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo13"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo13/profiles/profile"));
keys->insert("layout", "traditional");
keys->insert("eapi_when_unknown", "0");
keys->insert("eapi_when_unspecified", "0");
@@ -1283,8 +1305,8 @@ namespace test_cases
std::tr1::shared_ptr<Map<std::string, std::string> > keys(new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "e_repository_TEST_dir/repo13");
- keys->insert("profiles", "e_repository_TEST_dir/repo13/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo13"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo13/profiles/profile"));
keys->insert("layout", "traditional");
keys->insert("eapi_when_unknown", "0");
keys->insert("eapi_when_unspecified", "0");
@@ -1378,8 +1400,8 @@ namespace test_cases
std::tr1::shared_ptr<Map<std::string, std::string> > keys(new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "e_repository_TEST_dir/repo13");
- keys->insert("profiles", "e_repository_TEST_dir/repo13/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo13"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo13/profiles/profile"));
keys->insert("layout", "traditional");
keys->insert("eapi_when_unknown", "0");
keys->insert("eapi_when_unspecified", "0");
@@ -1503,8 +1525,8 @@ namespace test_cases
std::tr1::shared_ptr<Map<std::string, std::string> > keys(new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "e_repository_TEST_dir/repo13");
- keys->insert("profiles", "e_repository_TEST_dir/repo13/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo13"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo13/profiles/profile"));
keys->insert("layout", "traditional");
keys->insert("eapi_when_unknown", "0");
keys->insert("eapi_when_unspecified", "0");
@@ -1627,8 +1649,8 @@ namespace test_cases
std::tr1::shared_ptr<Map<std::string, std::string> > keys(new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "e_repository_TEST_dir/repo13");
- keys->insert("profiles", "e_repository_TEST_dir/repo13/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo13"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo13/profiles/profile"));
keys->insert("layout", "traditional");
keys->insert("eapi_when_unknown", "0");
keys->insert("eapi_when_unspecified", "0");
@@ -1692,8 +1714,8 @@ namespace test_cases
std::tr1::shared_ptr<Map<std::string, std::string> > keys(new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "e_repository_TEST_dir/repo14");
- keys->insert("profiles", "e_repository_TEST_dir/repo14/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo14"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo14/profiles/profile"));
keys->insert("layout", "exheres");
keys->insert("eapi_when_unknown", "exheres-0");
keys->insert("eapi_when_unspecified", "exheres-0");
@@ -2131,8 +2153,9 @@ namespace test_cases
new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "e_repository_TEST_dir/repo17");
- keys->insert("profiles", "e_repository_TEST_dir/repo17/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo17"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo17/profiles/profile"));
+ keys->insert("builddir", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -2182,15 +2205,15 @@ namespace test_cases
std::tr1::shared_ptr<Map<std::string, std::string> > keys(new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "e_repository_TEST_dir/repo20");
- keys->insert("profiles", "e_repository_TEST_dir/repo20/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo20"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "repo20/profiles/profile"));
keys->insert("layout", "traditional");
keys->insert("eapi_when_unknown", "0");
keys->insert("eapi_when_unspecified", "0");
keys->insert("profile_eapi", "0");
keys->insert("distdir", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "distdir"));
keys->insert("builddir", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "symlinked_build"));
- keys->insert("root", stringify(FSEntry("e_repository_TEST_dir/root").realpath()));
+ keys->insert("root", stringify(FSEntry(stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "root")).realpath()));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -2199,9 +2222,9 @@ namespace test_cases
keys->insert("format", "vdb");
keys->insert("names_cache", "/var/empty");
keys->insert("provides_cache", "/var/empty");
- keys->insert("location", "e_repository_TEST_dir/vdb");
+ keys->insert("location", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "vdb"));
keys->insert("builddir", stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "build"));
- keys->insert("root", stringify(FSEntry("e_repository_TEST_dir/root").realpath()));
+ keys->insert("root", stringify(FSEntry(stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "root")).realpath()));
std::tr1::shared_ptr<Repository> installed_repo(VDBRepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, installed_repo);
@@ -2219,7 +2242,7 @@ namespace test_cases
TEST_CHECK(id);
id->perform_action(action);
- TEST_CHECK_EQUAL(FSEntry("e_repository_TEST_dir/root/bar").readlink(), "/foo");
+ TEST_CHECK_EQUAL(FSEntry(stringify(FSEntry::cwd() / "e_repository_TEST_dir" / "root/bar")).readlink(), "/foo");
}
} test_e_repository_symlink_rewriting;
}
diff --git a/paludis/repositories/e/ebuild.cc b/paludis/repositories/e/ebuild.cc
index 12a2f6a..c704ec7 100644
--- a/paludis/repositories/e/ebuild.cc
+++ b/paludis/repositories/e/ebuild.cc
@@ -356,7 +356,7 @@ EbuildMetadataCommand::do_run_command(const Command & cmd)
{
Log::get_instance()->message("e.ebuild.cache_failure", ll_warning, lc_context) << "Caught exception '"
<< e.message() << "' (" << e.what() << ") when generating cache for '"
- << *params.package_id() << "', input is '" << purdy(input) << "'";
+ << *params.package_id() << "', input is '" << purdy(input) << "', stderr is '" << captured_stderr << "'";
}
if (ok)
@@ -364,7 +364,7 @@ EbuildMetadataCommand::do_run_command(const Command & cmd)
else
{
Log::get_instance()->message("e.ebuild.cache_failure", ll_warning, lc_context) << "Could not generate cache for '"
- << *params.package_id() << "'";
+ << *params.package_id() << "' stderr says '" << captured_stderr << "'";
keys.reset(new Map<std::string, std::string>);
keys->insert("EAPI", EAPIData::get_instance()->unknown_eapi()->name());
diff --git a/paludis/repositories/e/ebuild/0/Makefile.am b/paludis/repositories/e/ebuild/0/Makefile.am
index 8bededb..93c3df7 100644
--- a/paludis/repositories/e/ebuild/0/Makefile.am
+++ b/paludis/repositories/e/ebuild/0/Makefile.am
@@ -51,6 +51,7 @@ TESTS_ENVIRONMENT = env \
PALUDIS_OPTIONS="" \
TOP_BUILD_DIR="`$(top_srcdir)/paludis/repositories/e/ebuild/utils/canonicalise $(top_builddir)/`" \
TEST_SCRIPT_DIR="$(srcdir)/" \
+ PALUDIS_TMPDIR="`pwd`/" \
bash $(top_srcdir)/test/run_test.sh $(top_srcdir)/paludis/repositories/e/ebuild/run_test.bash
TESTS = conditional_functions_TEST.bash list_functions_TEST.bash
diff --git a/paludis/repositories/e/ebuild/1/Makefile.am b/paludis/repositories/e/ebuild/1/Makefile.am
index e242498..84f41f7 100644
--- a/paludis/repositories/e/ebuild/1/Makefile.am
+++ b/paludis/repositories/e/ebuild/1/Makefile.am
@@ -19,6 +19,7 @@ TESTS_ENVIRONMENT = env \
PALUDIS_EBUILD_LOG_LEVEL="warning" \
TOP_BUILD_DIR="`$(top_srcdir)/paludis/repositories/e/ebuild/utils/canonicalise $(top_builddir)/`" \
TEST_SCRIPT_DIR="$(srcdir)/" \
+ PALUDIS_TMPDIR="`pwd`/" \
bash $(top_srcdir)/test/run_test.sh $(top_srcdir)/paludis/repositories/e/ebuild/run_test.bash
TESTS =
diff --git a/paludis/repositories/e/ebuild/2/Makefile.am b/paludis/repositories/e/ebuild/2/Makefile.am
index 75c3cdb..0627acf 100644
--- a/paludis/repositories/e/ebuild/2/Makefile.am
+++ b/paludis/repositories/e/ebuild/2/Makefile.am
@@ -26,6 +26,7 @@ TESTS_ENVIRONMENT = env \
PALUDIS_EBUILD_LOG_LEVEL="warning" \
TOP_BUILD_DIR="`$(top_srcdir)/paludis/repositories/e/ebuild/utils/canonicalise $(top_builddir)/`" \
TEST_SCRIPT_DIR="$(srcdir)/" \
+ PALUDIS_TMPDIR="`pwd`/" \
bash $(top_srcdir)/test/run_test.sh $(top_srcdir)/paludis/repositories/e/ebuild/run_test.bash
TESTS =
diff --git a/paludis/repositories/e/ebuild/Makefile.am b/paludis/repositories/e/ebuild/Makefile.am
index 7ee58ff..3d35ea2 100644
--- a/paludis/repositories/e/ebuild/Makefile.am
+++ b/paludis/repositories/e/ebuild/Makefile.am
@@ -33,6 +33,7 @@ TESTS_ENVIRONMENT = env \
PALUDIS_EBUILD_LOG_LEVEL="warning" \
TOP_BUILD_DIR="`$(top_srcdir)/paludis/repositories/e/ebuild/utils/canonicalise $(top_builddir)/`" \
TEST_SCRIPT_DIR="$(srcdir)/" \
+ PALUDIS_TMPDIR="`pwd`/" \
bash $(top_srcdir)/test/run_test.sh $(top_srcdir)/paludis/repositories/e/ebuild/run_test.bash
TESTS = kernel_functions_TEST.bash
diff --git a/paludis/repositories/e/ebuild/ebuild.bash b/paludis/repositories/e/ebuild/ebuild.bash
index bba4349..54446da 100755
--- a/paludis/repositories/e/ebuild/ebuild.bash
+++ b/paludis/repositories/e/ebuild/ebuild.bash
@@ -429,6 +429,13 @@ ebuild_main()
ebuild_notice "warning" "This will cause problems."
fi
+ # this is fatal in builtin_init, but warn early for good measure
+ if [[ -z "${PALUDIS_TMPDIR}" ]] ; then
+ ebuild_notice "warning" "PALUDIS_TMPDIR unset or empty."
+ elif ! cd "${PALUDIS_TMPDIR}" ; then
+ ebuild_notice "warning" "Could not change directory to ${PALUDIS_TMPDIR}."
+ fi
+
local action
export EBUILD="${1}"
shift
diff --git a/paludis/repositories/e/ebuild/exheres-0/Makefile.am b/paludis/repositories/e/ebuild/exheres-0/Makefile.am
index c73092f..dab76f4 100644
--- a/paludis/repositories/e/ebuild/exheres-0/Makefile.am
+++ b/paludis/repositories/e/ebuild/exheres-0/Makefile.am
@@ -54,6 +54,7 @@ TESTS_ENVIRONMENT = env \
PALUDIS_EBUILD_MODULE_SUFFIXES="exheres-0" \
TOP_BUILD_DIR="`$(top_srcdir)/paludis/repositories/e/ebuild/utils/canonicalise $(top_builddir)/`" \
TEST_SCRIPT_DIR="$(srcdir)/" \
+ PALUDIS_TMPDIR="`pwd`/" \
bash $(top_srcdir)/test/run_test.sh $(top_srcdir)/paludis/repositories/e/ebuild/run_test.bash
TESTS = conditional_functions_TEST.bash list_functions_TEST.bash
diff --git a/paludis/repositories/e/ebuild/kdebuild-1/Makefile.am b/paludis/repositories/e/ebuild/kdebuild-1/Makefile.am
index 311e752..f4f6941 100644
--- a/paludis/repositories/e/ebuild/kdebuild-1/Makefile.am
+++ b/paludis/repositories/e/ebuild/kdebuild-1/Makefile.am
@@ -18,6 +18,7 @@ TESTS_ENVIRONMENT = env \
PALUDIS_EBUILD_LOG_LEVEL="warning" \
TOP_BUILD_DIR="`$(top_srcdir)/paludis/repositories/e/ebuild/utils/canonicalise $(top_builddir)/`" \
TEST_SCRIPT_DIR="$(srcdir)/" \
+ PALUDIS_TMPDIR="`pwd`/" \
bash $(top_srcdir)/test/run_test.sh $(top_srcdir)/paludis/repositories/e/ebuild/run_test.bash
TESTS =
diff --git a/paludis/repositories/e/ebuild/pbin-1/Makefile.am b/paludis/repositories/e/ebuild/pbin-1/Makefile.am
index 7f18605..d75676b 100644
--- a/paludis/repositories/e/ebuild/pbin-1/Makefile.am
+++ b/paludis/repositories/e/ebuild/pbin-1/Makefile.am
@@ -18,6 +18,7 @@ TESTS_ENVIRONMENT = env \
PALUDIS_EBUILD_LOG_LEVEL="warning" \
TOP_BUILD_DIR="`$(top_srcdir)/paludis/repositories/e/ebuild/utils/canonicalise $(top_builddir)/`" \
TEST_SCRIPT_DIR="$(srcdir)/" \
+ PALUDIS_TMPDIR="`pwd`/" \
bash $(top_srcdir)/test/run_test.sh $(top_srcdir)/paludis/repositories/e/ebuild/run_test.bash
EXTRA_DIST = $(libexecprogpaludisbinary1_SCRIPTS)
diff --git a/paludis/repositories/e/ebuild/utils/Makefile.am b/paludis/repositories/e/ebuild/utils/Makefile.am
index 6336eb6..f7930d4 100644
--- a/paludis/repositories/e/ebuild/utils/Makefile.am
+++ b/paludis/repositories/e/ebuild/utils/Makefile.am
@@ -75,6 +75,7 @@ TESTS_ENVIRONMENT = env \
PALUDIS_OPTIONS="" \
PALUDIS_NO_CHOWN="yes" \
TEST_SCRIPT_DIR="$(srcdir)/" \
+ PALUDIS_TMPDIR="`pwd`/" \
bash $(top_srcdir)/paludis/repositories/e/ebuild/utils/run_test.bash
TESTS = \
diff --git a/paludis/repositories/e/ebuild_flat_metadata_cache_TEST.cc b/paludis/repositories/e/ebuild_flat_metadata_cache_TEST.cc
index 5e850f4..1b06710 100644
--- a/paludis/repositories/e/ebuild_flat_metadata_cache_TEST.cc
+++ b/paludis/repositories/e/ebuild_flat_metadata_cache_TEST.cc
@@ -68,6 +68,7 @@ namespace test_cases
keys->insert("location", "ebuild_flat_metadata_cache_TEST_dir/repo");
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eclassdirs", "ebuild_flat_metadata_cache_TEST_dir/repo/eclass ebuild_flat_metadata_cache_TEST_dir/extra_eclasses");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -95,6 +96,7 @@ namespace test_cases
keys->insert("location", "ebuild_flat_metadata_cache_TEST_dir/repo");
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eclassdirs", "ebuild_flat_metadata_cache_TEST_dir/repo/eclass ebuild_flat_metadata_cache_TEST_dir/extra_eclasses");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -122,6 +124,7 @@ namespace test_cases
keys->insert("location", "ebuild_flat_metadata_cache_TEST_dir/repo");
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eclassdirs", "ebuild_flat_metadata_cache_TEST_dir/repo/eclass ebuild_flat_metadata_cache_TEST_dir/extra_eclasses");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -152,6 +155,7 @@ namespace test_cases
keys->insert("location", "ebuild_flat_metadata_cache_TEST_dir/repo");
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eclassdirs", "ebuild_flat_metadata_cache_TEST_dir/repo/eclass ebuild_flat_metadata_cache_TEST_dir/extra_eclasses");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -179,6 +183,7 @@ namespace test_cases
keys->insert("location", "ebuild_flat_metadata_cache_TEST_dir/repo");
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eclassdirs", "ebuild_flat_metadata_cache_TEST_dir/repo/eclass ebuild_flat_metadata_cache_TEST_dir/extra_eclasses");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -206,6 +211,7 @@ namespace test_cases
keys->insert("location", "ebuild_flat_metadata_cache_TEST_dir/repo");
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eclassdirs", "ebuild_flat_metadata_cache_TEST_dir/repo/eclass ebuild_flat_metadata_cache_TEST_dir/extra_eclasses");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -233,6 +239,7 @@ namespace test_cases
keys->insert("location", "ebuild_flat_metadata_cache_TEST_dir/repo");
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eclassdirs", "ebuild_flat_metadata_cache_TEST_dir/repo/eclass ebuild_flat_metadata_cache_TEST_dir/extra_eclasses");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -260,6 +267,7 @@ namespace test_cases
keys->insert("location", "ebuild_flat_metadata_cache_TEST_dir/repo");
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eclassdirs", "ebuild_flat_metadata_cache_TEST_dir/repo/eclass ebuild_flat_metadata_cache_TEST_dir/extra_eclasses");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -287,6 +295,7 @@ namespace test_cases
keys->insert("location", "ebuild_flat_metadata_cache_TEST_dir/repo");
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eclassdirs", "ebuild_flat_metadata_cache_TEST_dir/repo/eclass ebuild_flat_metadata_cache_TEST_dir/extra_eclasses");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -315,6 +324,7 @@ namespace test_cases
keys->insert("location", "ebuild_flat_metadata_cache_TEST_dir/repo");
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eclassdirs", "ebuild_flat_metadata_cache_TEST_dir/repo/eclass ebuild_flat_metadata_cache_TEST_dir/extra_eclasses");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -342,6 +352,7 @@ namespace test_cases
keys->insert("location", "ebuild_flat_metadata_cache_TEST_dir/repo");
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eclassdirs", "ebuild_flat_metadata_cache_TEST_dir/repo/eclass ebuild_flat_metadata_cache_TEST_dir/extra_eclasses");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -369,6 +380,7 @@ namespace test_cases
keys->insert("location", "ebuild_flat_metadata_cache_TEST_dir/repo");
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eclassdirs", "ebuild_flat_metadata_cache_TEST_dir/repo/eclass ebuild_flat_metadata_cache_TEST_dir/extra_eclasses");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -396,6 +408,7 @@ namespace test_cases
keys->insert("location", "ebuild_flat_metadata_cache_TEST_dir/repo");
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eclassdirs", "ebuild_flat_metadata_cache_TEST_dir/repo/eclass ebuild_flat_metadata_cache_TEST_dir/extra_eclasses");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -423,6 +436,7 @@ namespace test_cases
keys->insert("location", "ebuild_flat_metadata_cache_TEST_dir/repo");
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eclassdirs", "ebuild_flat_metadata_cache_TEST_dir/repo/eclass ebuild_flat_metadata_cache_TEST_dir/extra_eclasses");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -450,6 +464,7 @@ namespace test_cases
keys->insert("location", "ebuild_flat_metadata_cache_TEST_dir/repo");
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eclassdirs", "ebuild_flat_metadata_cache_TEST_dir/repo/eclass ebuild_flat_metadata_cache_TEST_dir/extra_eclasses");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -477,6 +492,7 @@ namespace test_cases
keys->insert("location", "ebuild_flat_metadata_cache_TEST_dir/repo");
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eclassdirs", "ebuild_flat_metadata_cache_TEST_dir/repo/eclass ebuild_flat_metadata_cache_TEST_dir/extra_eclasses");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -507,6 +523,7 @@ namespace test_cases
keys->insert("location", "ebuild_flat_metadata_cache_TEST_dir/repo");
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eclassdirs", "ebuild_flat_metadata_cache_TEST_dir/repo/eclass ebuild_flat_metadata_cache_TEST_dir/extra_eclasses");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -534,6 +551,7 @@ namespace test_cases
keys->insert("location", "ebuild_flat_metadata_cache_TEST_dir/repo");
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eclassdirs", "ebuild_flat_metadata_cache_TEST_dir/repo/eclass ebuild_flat_metadata_cache_TEST_dir/extra_eclasses");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -588,6 +606,7 @@ namespace test_cases
keys->insert("location", "ebuild_flat_metadata_cache_TEST_dir/repo");
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eclassdirs", "ebuild_flat_metadata_cache_TEST_dir/repo/eclass ebuild_flat_metadata_cache_TEST_dir/extra_eclasses");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -618,6 +637,7 @@ namespace test_cases
keys->insert("location", "ebuild_flat_metadata_cache_TEST_dir/repo");
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eclassdirs", "ebuild_flat_metadata_cache_TEST_dir/repo/eclass ebuild_flat_metadata_cache_TEST_dir/extra_eclasses");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -648,6 +668,7 @@ namespace test_cases
keys->insert("location", "ebuild_flat_metadata_cache_TEST_dir/repo");
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eclassdirs", "ebuild_flat_metadata_cache_TEST_dir/repo/eclass ebuild_flat_metadata_cache_TEST_dir/extra_eclasses");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -675,6 +696,7 @@ namespace test_cases
keys->insert("location", "ebuild_flat_metadata_cache_TEST_dir/repo");
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eclassdirs", "ebuild_flat_metadata_cache_TEST_dir/repo/eclass ebuild_flat_metadata_cache_TEST_dir/extra_eclasses");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -702,6 +724,7 @@ namespace test_cases
keys->insert("location", "ebuild_flat_metadata_cache_TEST_dir/repo");
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eclassdirs", "ebuild_flat_metadata_cache_TEST_dir/repo/eclass ebuild_flat_metadata_cache_TEST_dir/extra_eclasses");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -729,6 +752,7 @@ namespace test_cases
keys->insert("location", "ebuild_flat_metadata_cache_TEST_dir/repo");
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eclassdirs", "ebuild_flat_metadata_cache_TEST_dir/repo/eclass ebuild_flat_metadata_cache_TEST_dir/extra_eclasses");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -763,6 +787,7 @@ namespace test_cases
keys->insert("location", "ebuild_flat_metadata_cache_TEST_dir/repo");
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eclassdirs", "ebuild_flat_metadata_cache_TEST_dir/repo/eclass ebuild_flat_metadata_cache_TEST_dir/extra_eclasses");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -790,6 +815,7 @@ namespace test_cases
keys->insert("location", "ebuild_flat_metadata_cache_TEST_dir/repo");
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eclassdirs", "ebuild_flat_metadata_cache_TEST_dir/repo/eclass ebuild_flat_metadata_cache_TEST_dir/extra_eclasses");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -818,6 +844,7 @@ namespace test_cases
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eapi_when_unknown", "exheres-0");
keys->insert("eapi_when_unspecified", "exheres-0");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -849,6 +876,7 @@ namespace test_cases
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eapi_when_unknown", "exheres-0");
keys->insert("eapi_when_unspecified", "exheres-0");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -880,6 +908,7 @@ namespace test_cases
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eapi_when_unknown", "exheres-0");
keys->insert("eapi_when_unspecified", "exheres-0");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -908,6 +937,7 @@ namespace test_cases
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eapi_when_unknown", "exheres-0");
keys->insert("eapi_when_unspecified", "exheres-0");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -936,6 +966,7 @@ namespace test_cases
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eapi_when_unknown", "exheres-0");
keys->insert("eapi_when_unspecified", "exheres-0");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -964,6 +995,7 @@ namespace test_cases
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eapi_when_unknown", "exheres-0");
keys->insert("eapi_when_unspecified", "exheres-0");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -999,6 +1031,7 @@ namespace test_cases
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eapi_when_unknown", "exheres-0");
keys->insert("eapi_when_unspecified", "exheres-0");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -1027,6 +1060,7 @@ namespace test_cases
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eapi_when_unknown", "exheres-0");
keys->insert("eapi_when_unspecified", "exheres-0");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -1061,6 +1095,7 @@ namespace test_cases
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
keys->insert("eclassdirs", "ebuild_flat_metadata_cache_TEST_dir/repo/eclass ebuild_flat_metadata_cache_TEST_dir/extra_eclasses");
keys->insert("write_cache", "ebuild_flat_metadata_cache_TEST_dir/cache");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -1094,8 +1129,11 @@ namespace test_cases
keys->insert("names_cache", "/var/empty");
keys->insert("location", "ebuild_flat_metadata_cache_TEST_dir/repo");
keys->insert("profiles", "ebuild_flat_metadata_cache_TEST_dir/repo/profiles/profile");
- keys->insert("eclassdirs", "ebuild_flat_metadata_cache_TEST_dir/repo/eclass ebuild_flat_metadata_cache_TEST_dir/extra_eclasses");
+ keys->insert("eclassdirs",
+ stringify((FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir/repo/eclass").realpath())
+ + " " + stringify((FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir/extra_eclasses").realpath()));
keys->insert("write_cache", "ebuild_flat_metadata_cache_TEST_dir/cache");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -1132,6 +1170,7 @@ namespace test_cases
keys->insert("eapi_when_unknown", "exheres-0");
keys->insert("eapi_when_unspecified", "exheres-0");
keys->insert("write_cache", "ebuild_flat_metadata_cache_TEST_dir/cache");
+ keys->insert("builddir", stringify(FSEntry::cwd() / "ebuild_flat_metadata_cache_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ERepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
diff --git a/paludis/repositories/e/ebuild_flat_metadata_cache_TEST_setup.sh b/paludis/repositories/e/ebuild_flat_metadata_cache_TEST_setup.sh
index 25dda28..93368c0 100755
--- a/paludis/repositories/e/ebuild_flat_metadata_cache_TEST_setup.sh
+++ b/paludis/repositories/e/ebuild_flat_metadata_cache_TEST_setup.sh
@@ -4,6 +4,8 @@
mkdir ebuild_flat_metadata_cache_TEST_dir || exit 1
cd ebuild_flat_metadata_cache_TEST_dir || exit 1
+mkdir build || exit 1
+
mkdir extra_eclasses || exit 1
touch extra_eclasses/bar.eclass || exit 1
TZ=UTC touch -t 197001010003 extra_eclasses/bar.eclass || exit 1
diff --git a/paludis/repositories/e/exndbam_repository_TEST.cc b/paludis/repositories/e/exndbam_repository_TEST.cc
index 28be5d3..37d7af9 100644
--- a/paludis/repositories/e/exndbam_repository_TEST.cc
+++ b/paludis/repositories/e/exndbam_repository_TEST.cc
@@ -64,7 +64,8 @@ namespace test_cases
TestEnvironment env;
std::tr1::shared_ptr<Map<std::string, std::string> > keys(new Map<std::string, std::string>);
keys->insert("format", "exndbam");
- keys->insert("location", "exndbam_repository_TEST_dir/repo1");
+ keys->insert("location", stringify(FSEntry::cwd() / "exndbam_repository_TEST_dir" / "repo1"));
+ keys->insert("builddir", stringify(FSEntry::cwd() / "exndbam_repository_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(ExndbamRepository::ExndbamRepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
TEST_CHECK_STRINGIFY_EQUAL(repo->name(), "installed");
@@ -92,8 +93,8 @@ namespace test_cases
std::tr1::shared_ptr<Map<std::string, std::string> > keys(new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "exndbam_repository_TEST_dir/postinsttest_src1");
- keys->insert("profiles", "exndbam_repository_TEST_dir/postinsttest_src1/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "exndbam_repository_TEST_dir" / "postinsttest_src1"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "exndbam_repository_TEST_dir" / "postinsttest_src1/profiles/profile"));
keys->insert("layout", "traditional");
keys->insert("eapi_when_unknown", "0");
keys->insert("eapi_when_unspecified", "0");
@@ -107,7 +108,7 @@ namespace test_cases
keys.reset(new Map<std::string, std::string>);
keys->insert("format", "exndbam");
- keys->insert("location", "exndbam_repository_TEST_dir/postinsttest");
+ keys->insert("location", stringify(FSEntry::cwd() / "exndbam_repository_TEST_dir" / "postinsttest"));
keys->insert("builddir", stringify(FSEntry::cwd() / "exndbam_repository_TEST_dir" / "build"));
keys->insert("root", stringify(FSEntry("exndbam_repository_TEST_dir/root").realpath()));
std::tr1::shared_ptr<Repository> exndbam_repo(ExndbamRepository::ExndbamRepository::repository_factory_create(&env,
diff --git a/paludis/repositories/e/vdb_repository_TEST.cc b/paludis/repositories/e/vdb_repository_TEST.cc
index a747436..eadc5ca 100644
--- a/paludis/repositories/e/vdb_repository_TEST.cc
+++ b/paludis/repositories/e/vdb_repository_TEST.cc
@@ -79,7 +79,7 @@ namespace test_cases
keys->insert("format", "vdb");
keys->insert("names_cache", "/var/empty");
keys->insert("provides_cache", "/var/empty");
- keys->insert("location", "vdb_repository_TEST_dir/repo1");
+ keys->insert("location", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "repo1"));
keys->insert("builddir", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(VDBRepository::VDBRepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
@@ -100,7 +100,7 @@ namespace test_cases
keys->insert("format", "vdb");
keys->insert("names_cache", "/var/empty");
keys->insert("provides_cache", "/var/empty");
- keys->insert("location", "vdb_repository_TEST_dir/repo1");
+ keys->insert("location", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "repo1"));
keys->insert("builddir", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(VDBRepository::VDBRepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
@@ -124,7 +124,7 @@ namespace test_cases
keys->insert("format", "vdb");
keys->insert("names_cache", "/var/empty");
keys->insert("provides_cache", "/var/empty");
- keys->insert("location", "vdb_repository_TEST_dir/repo1");
+ keys->insert("location", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "repo1"));
keys->insert("builddir", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(VDBRepository::VDBRepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
@@ -202,9 +202,9 @@ namespace test_cases
keys->insert("format", "vdb");
keys->insert("names_cache", "/var/empty");
keys->insert("provides_cache", "/var/empty");
- keys->insert("location", "vdb_repository_TEST_dir/repo1");
+ keys->insert("location", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "repo1"));
keys->insert("builddir", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "build"));
- keys->insert("world", "vdb_repository_TEST_dir/world-no-match-no-eol");
+ keys->insert("world", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "world-no-match-no-eol"));
std::tr1::shared_ptr<Repository> repo(VDBRepository::VDBRepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
env.package_database()->add_repository(1, repo);
@@ -258,7 +258,7 @@ namespace test_cases
keys->insert("format", "vdb");
keys->insert("names_cache", "/var/empty");
keys->insert("provides_cache", "/var/empty");
- keys->insert("location", "vdb_repository_TEST_dir/repo2");
+ keys->insert("location", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "repo2"));
keys->insert("builddir", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "build"));
std::tr1::shared_ptr<Repository> repo(VDBRepository::VDBRepository::repository_factory_create(&env,
std::tr1::bind(from_keys, keys, std::tr1::placeholders::_1)));
@@ -314,8 +314,8 @@ namespace test_cases
std::tr1::shared_ptr<Map<std::string, std::string> > keys(new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "vdb_repository_TEST_dir/srcrepo");
- keys->insert("profiles", "vdb_repository_TEST_dir/srcrepo/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "srcrepo"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "srcrepo/profiles/profile"));
keys->insert("layout", "traditional");
keys->insert("eapi_when_unknown", eapi);
keys->insert("eapi_when_unspecified", eapi);
@@ -331,7 +331,7 @@ namespace test_cases
keys->insert("format", "vdb");
keys->insert("names_cache", "/var/empty");
keys->insert("provides_cache", "/var/empty");
- keys->insert("location", "vdb_repository_TEST_dir/repo3");
+ keys->insert("location", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "repo3"));
keys->insert("builddir", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "build"));
keys->insert("root", stringify(FSEntry("vdb_repository_TEST_dir/root").realpath()));
std::tr1::shared_ptr<Repository> vdb_repo(VDBRepository::VDBRepository::repository_factory_create(&env,
@@ -431,8 +431,8 @@ namespace test_cases
std::tr1::shared_ptr<Map<std::string, std::string> > keys(new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "vdb_repository_TEST_dir/srcrepo");
- keys->insert("profiles", "vdb_repository_TEST_dir/srcrepo/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "srcrepo"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "srcrepo/profiles/profile"));
keys->insert("layout", "traditional");
keys->insert("eapi_when_unknown", eapi);
keys->insert("eapi_when_unspecified", eapi);
@@ -448,7 +448,7 @@ namespace test_cases
keys->insert("format", "vdb");
keys->insert("names_cache", "/var/empty");
keys->insert("provides_cache", "/var/empty");
- keys->insert("location", "vdb_repository_TEST_dir/repo3");
+ keys->insert("location", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "repo3"));
keys->insert("builddir", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "build"));
keys->insert("root", stringify(FSEntry("vdb_repository_TEST_dir/root").realpath()));
std::tr1::shared_ptr<Repository> vdb_repo(VDBRepository::VDBRepository::repository_factory_create(&env,
@@ -527,7 +527,7 @@ namespace test_cases
NamesCacheIncrementalTest() :
TestCase("names cache incremental"),
- names_cache("vdb_repository_TEST_dir/namesincrtest/.cache/names/installed")
+ names_cache(stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "namesincrtest/.cache/names/installed"))
{
}
@@ -548,8 +548,8 @@ namespace test_cases
std::tr1::shared_ptr<Map<std::string, std::string> > keys(new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "vdb_repository_TEST_dir/namesincrtest_src");
- keys->insert("profiles", "vdb_repository_TEST_dir/namesincrtest_src/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "namesincrtest_src"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "namesincrtest_src/profiles/profile"));
keys->insert("layout", "traditional");
keys->insert("eapi_when_unknown", "0");
keys->insert("eapi_when_unspecified", "0");
@@ -565,7 +565,7 @@ namespace test_cases
keys->insert("format", "vdb");
keys->insert("names_cache", stringify(names_cache.dirname()));
keys->insert("provides_cache", "/var/empty");
- keys->insert("location", "vdb_repository_TEST_dir/namesincrtest");
+ keys->insert("location", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "namesincrtest"));
keys->insert("builddir", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "build"));
keys->insert("root", stringify(FSEntry("vdb_repository_TEST_dir/root").realpath()));
std::tr1::shared_ptr<Repository> vdb_repo(VDBRepository::VDBRepository::repository_factory_create(&env,
@@ -821,7 +821,7 @@ namespace test_cases
ProvidesCacheTest() :
TestCase("provides cache"),
- provides_cache("vdb_repository_TEST_dir/providestest/.cache/provides")
+ provides_cache(stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "providestest/.cache/provides"))
{
}
@@ -839,7 +839,7 @@ namespace test_cases
keys->insert("format", "vdb");
keys->insert("names_cache", "/var/empty");
keys->insert("provides_cache", stringify(provides_cache));
- keys->insert("location", "vdb_repository_TEST_dir/providestest");
+ keys->insert("location", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "providestest"));
keys->insert("builddir", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "build"));
keys->insert("root", stringify(FSEntry("vdb_repository_TEST_dir/root").realpath()));
std::tr1::shared_ptr<Repository> vdb_repo(VDBRepository::VDBRepository::repository_factory_create(&env,
@@ -903,7 +903,7 @@ namespace test_cases
ProvidesCacheIncrementalTest() :
TestCase("provides cache incremental"),
- provides_cache("vdb_repository_TEST_dir/providesincrtest/.cache/provides")
+ provides_cache(stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "providesincrtest/.cache/provides"))
{
}
@@ -924,8 +924,8 @@ namespace test_cases
std::tr1::shared_ptr<Map<std::string, std::string> > keys(new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "vdb_repository_TEST_dir/providesincrtest_src1");
- keys->insert("profiles", "vdb_repository_TEST_dir/providesincrtest_src1/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "providesincrtest_src1"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "providesincrtest_src1/profiles/profile"));
keys->insert("layout", "traditional");
keys->insert("eapi_when_unknown", "0");
keys->insert("eapi_when_unspecified", "0");
@@ -940,8 +940,8 @@ namespace test_cases
keys.reset(new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "vdb_repository_TEST_dir/providesincrtest_src2");
- keys->insert("profiles", "vdb_repository_TEST_dir/providesincrtest_src1/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "providesincrtest_src2"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "providesincrtest_src1/profiles/profile"));
keys->insert("layout", "traditional");
keys->insert("eapi_when_unknown", "0");
keys->insert("eapi_when_unspecified", "0");
@@ -957,7 +957,7 @@ namespace test_cases
keys->insert("format", "vdb");
keys->insert("names_cache", "/var/empty");
keys->insert("provides_cache", stringify(provides_cache));
- keys->insert("location", "vdb_repository_TEST_dir/providesincrtest");
+ keys->insert("location", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "providesincrtest"));
keys->insert("builddir", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "build"));
keys->insert("root", stringify(FSEntry("vdb_repository_TEST_dir/root").realpath()));
std::tr1::shared_ptr<Repository> vdb_repo(VDBRepository::VDBRepository::repository_factory_create(&env,
@@ -1162,8 +1162,8 @@ namespace test_cases
std::tr1::shared_ptr<Map<std::string, std::string> > keys(new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "vdb_repository_TEST_dir/reinstalltest_src1");
- keys->insert("profiles", "vdb_repository_TEST_dir/reinstalltest_src1/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "reinstalltest_src1"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "reinstalltest_src1/profiles/profile"));
keys->insert("layout", "traditional");
keys->insert("eapi_when_unknown", "0");
keys->insert("eapi_when_unspecified", "0");
@@ -1178,8 +1178,8 @@ namespace test_cases
keys.reset(new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "vdb_repository_TEST_dir/reinstalltest_src2");
- keys->insert("profiles", "vdb_repository_TEST_dir/reinstalltest_src1/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "reinstalltest_src2"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "reinstalltest_src1/profiles/profile"));
keys->insert("layout", "traditional");
keys->insert("eapi_when_unknown", "0");
keys->insert("eapi_when_unspecified", "0");
@@ -1195,7 +1195,7 @@ namespace test_cases
keys->insert("format", "vdb");
keys->insert("names_cache", "/var/empty");
keys->insert("provides_cache", "/var/empty");
- keys->insert("location", "vdb_repository_TEST_dir/reinstalltest");
+ keys->insert("location", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "reinstalltest"));
keys->insert("builddir", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "build"));
keys->insert("root", stringify(FSEntry("vdb_repository_TEST_dir/root").realpath()));
std::tr1::shared_ptr<Repository> vdb_repo(VDBRepository::VDBRepository::repository_factory_create(&env,
@@ -1265,13 +1265,13 @@ namespace test_cases
void run()
{
- TestEnvironment env(FSEntry("vdb_repository_TEST_dir/root").realpath());
+ TestEnvironment env(FSEntry(stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "root")).realpath());
env.set_paludis_command("/bin/false");
std::tr1::shared_ptr<Map<std::string, std::string> > keys(new Map<std::string, std::string>);
keys->insert("format", "ebuild");
keys->insert("names_cache", "/var/empty");
- keys->insert("location", "vdb_repository_TEST_dir/postinsttest_src1");
- keys->insert("profiles", "vdb_repository_TEST_dir/postinsttest_src1/profiles/profile");
+ keys->insert("location", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "postinsttest_src1"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "postinsttest_src1/profiles/profile"));
keys->insert("layout", "traditional");
keys->insert("eapi_when_unknown", "0");
keys->insert("eapi_when_unspecified", "0");
@@ -1287,7 +1287,7 @@ namespace test_cases
keys->insert("format", "vdb");
keys->insert("names_cache", "/var/empty");
keys->insert("provides_cache", "/var/empty");
- keys->insert("location", "vdb_repository_TEST_dir/postinsttest");
+ keys->insert("location", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "postinsttest"));
keys->insert("builddir", stringify(FSEntry::cwd() / "vdb_repository_TEST_dir" / "build"));
keys->insert("root", stringify(FSEntry("vdb_repository_TEST_dir/root").realpath()));
std::tr1::shared_ptr<Repository> vdb_repo(VDBRepository::VDBRepository::repository_factory_create(&env,
diff --git a/python/dep_list_TEST_setup.sh b/python/dep_list_TEST_setup.sh
index 5a59941..a9652ce 100755
--- a/python/dep_list_TEST_setup.sh
+++ b/python/dep_list_TEST_setup.sh
@@ -12,6 +12,7 @@ format = ebuild
names_cache = /var/empty
cache = /var/empty
profiles = \${location}/profiles/testprofile
+builddir = `pwd`
END
cat <<END > home/.paludis/repositories/installed.conf
@@ -19,6 +20,7 @@ location = `pwd`/installed
format = vdb
names_cache = /var/empty
provides_cache = /var/empty
+builddir = `pwd`
END
cat <<END > home/.paludis/keywords.conf
diff --git a/python/environment_TEST_setup.sh b/python/environment_TEST_setup.sh
index 0dfd47d..8ca20f8 100755
--- a/python/environment_TEST_setup.sh
+++ b/python/environment_TEST_setup.sh
@@ -12,6 +12,7 @@ format = ebuild
names_cache = /var/empty
cache = /var/empty
profiles = \${location}/profiles/testprofile
+builddir = `pwd`
END
cat <<END > home/.paludis/keywords.conf
diff --git a/python/mask_TEST_setup.sh b/python/mask_TEST_setup.sh
index 4bbc4d1..c4240b1 100755
--- a/python/mask_TEST_setup.sh
+++ b/python/mask_TEST_setup.sh
@@ -72,6 +72,7 @@ format = ebuild
names_cache = /var/empty
cache = /var/empty
profiles = \${location}/profiles/testprofile
+builddir = `pwd`
END
cat <<END > home/.paludis/package_mask.conf
diff --git a/python/package_database_TEST_setup.sh b/python/package_database_TEST_setup.sh
index 4782121..d482b04 100755
--- a/python/package_database_TEST_setup.sh
+++ b/python/package_database_TEST_setup.sh
@@ -12,6 +12,7 @@ format = ebuild
names_cache = /var/empty
cache = /var/empty
profiles = \${location}/profiles/testprofile
+builddir = `pwd`
END
cat <<END > home/.paludis/keywords.conf
diff --git a/python/repository_TEST_setup.sh b/python/repository_TEST_setup.sh
index 54e31c9..5e9d5c1 100755
--- a/python/repository_TEST_setup.sh
+++ b/python/repository_TEST_setup.sh
@@ -12,6 +12,7 @@ format = ebuild
names_cache = /var/empty
cache = /var/empty
profiles = \${location}/profiles/testprofile
+builddir = `pwd`
END
cat <<END > home/.paludis/repositories/installed.conf
@@ -19,6 +20,7 @@ location = `pwd`/installed
format = vdb
names_cache = /var/empty
provides_cache = /var/empty
+builddir = `pwd`
END
cat <<END > home/.paludis/keywords.conf
diff --git a/ruby/action_TEST_setup.sh b/ruby/action_TEST_setup.sh
index d851303..2a49bf7 100755
--- a/ruby/action_TEST_setup.sh
+++ b/ruby/action_TEST_setup.sh
@@ -12,6 +12,7 @@ format = ebuild
names_cache = /var/empty
cache = /var/empty
profiles = \${location}/profiles/testprofile
+builddir = `pwd`
END
cat <<END > home/.paludis/repositories/installed.conf
@@ -19,6 +20,7 @@ location = `pwd`/installed
format = vdb
names_cache = /var/empty
provides_cache = /var/empty
+builddir = `pwd`
END
cat <<END > home/.paludis/keywords.conf
diff --git a/ruby/dep_list_TEST_setup.sh b/ruby/dep_list_TEST_setup.sh
index 54aa34d..c9e8b1c 100755
--- a/ruby/dep_list_TEST_setup.sh
+++ b/ruby/dep_list_TEST_setup.sh
@@ -12,6 +12,7 @@ format = ebuild
names_cache = /var/empty
cache = /var/empty
profiles = \${location}/profiles/testprofile
+builddir = `pwd`
END
cat <<END > home/.paludis/repositories/installed.conf
@@ -19,6 +20,7 @@ location = `pwd`/installed
format = vdb
names_cache = /var/empty
provides_cache = /var/empty
+builddir = `pwd`
END
cat <<END > home/.paludis/keywords.conf
diff --git a/ruby/dep_spec_TEST_setup.sh b/ruby/dep_spec_TEST_setup.sh
index 37465c3..61c9d56 100755
--- a/ruby/dep_spec_TEST_setup.sh
+++ b/ruby/dep_spec_TEST_setup.sh
@@ -12,6 +12,7 @@ format = ebuild
names_cache = /var/empty
cache = /var/empty
profiles = \${location}/profiles/testprofile
+builddir = `pwd`
END
cat <<END > home/.paludis/environment.conf
diff --git a/ruby/dep_tag_TEST_setup.sh b/ruby/dep_tag_TEST_setup.sh
index 8d13453..691d7a7 100755
--- a/ruby/dep_tag_TEST_setup.sh
+++ b/ruby/dep_tag_TEST_setup.sh
@@ -12,6 +12,7 @@ format = ebuild
names_cache = /var/empty
cache = /var/empty
profiles = \${location}/profiles/testprofile
+builddir = `pwd`
END
cat <<END > home/.paludis/environment.conf
diff --git a/ruby/environment_TEST_setup.sh b/ruby/environment_TEST_setup.sh
index e7b0497..d40bb34 100755
--- a/ruby/environment_TEST_setup.sh
+++ b/ruby/environment_TEST_setup.sh
@@ -12,6 +12,7 @@ format = ebuild
names_cache = /var/empty
cache = /var/empty
profiles = \${location}/profiles/testprofile
+builddir = `pwd`
END
cat <<END > home/.paludis/keywords.conf
diff --git a/ruby/generator_TEST_setup.sh b/ruby/generator_TEST_setup.sh
index dea3f71..b739342 100755
--- a/ruby/generator_TEST_setup.sh
+++ b/ruby/generator_TEST_setup.sh
@@ -12,6 +12,7 @@ format = ebuild
names_cache = /var/empty
cache = /var/empty
profiles = \${location}/profiles/testprofile
+builddir = `pwd`
END
cat <<END > home/.paludis/environment.conf
diff --git a/ruby/package_database_TEST_setup.sh b/ruby/package_database_TEST_setup.sh
index c9e9f4e..a18060e 100755
--- a/ruby/package_database_TEST_setup.sh
+++ b/ruby/package_database_TEST_setup.sh
@@ -12,6 +12,7 @@ format = ebuild
names_cache = /var/empty
cache = /var/empty
profiles = \${location}/profiles/testprofile
+builddir = `pwd`
END
cat <<END > home/.paludis/keywords.conf
diff --git a/ruby/package_id_TEST.rb b/ruby/package_id_TEST.rb
index d8d09ff..641f7fa 100644
--- a/ruby/package_id_TEST.rb
+++ b/ruby/package_id_TEST.rb
@@ -255,7 +255,7 @@ module Paludis
def test_repository_mask_info_keys
assert_kind_of MetadataRepositoryMaskInfoKey, pid_testrepo["repository_mask"]
assert_kind_of RepositoryMaskInfo, pid_testrepo["repository_mask"].value
- assert_equal "package_id_TEST_dir/testrepo/profiles/package.mask", pid_testrepo["repository_mask"].value.mask_file
+ assert pid_testrepo["repository_mask"].value.mask_file =~ %r[package_id_TEST_dir/testrepo/profiles/package.mask$]
assert_equal ["this is", "a test"], pid_testrepo["repository_mask"].value.comment
assert_nil pid_testrepo["profile_mask"].value
end
diff --git a/ruby/paludis_ruby_TEST_setup.sh b/ruby/paludis_ruby_TEST_setup.sh
index e089ce1..7aba80a 100755
--- a/ruby/paludis_ruby_TEST_setup.sh
+++ b/ruby/paludis_ruby_TEST_setup.sh
@@ -12,6 +12,7 @@ format = ebuild
names_cache = /var/empty
cache = /var/empty
profiles = \${location}/profiles/testprofile
+builddir = `pwd`
END
cat <<END > home/.paludis/repositories/installed.conf
@@ -19,6 +20,7 @@ location = `pwd`/installed
format = vdb
names_cache = /var/empty
provides_cache = /var/empty
+builddir = `pwd`
END
cat <<END > home/.paludis/keywords.conf
diff --git a/ruby/repository_TEST_setup.sh b/ruby/repository_TEST_setup.sh
index d8ae7a8..5262bf1 100755
--- a/ruby/repository_TEST_setup.sh
+++ b/ruby/repository_TEST_setup.sh
@@ -12,6 +12,7 @@ format = ebuild
names_cache = /var/empty
cache = /var/empty
profiles = \${location}/profiles/testprofile
+builddir = `pwd`
END
cat <<END > home/.paludis/repositories/installed.conf
@@ -19,6 +20,7 @@ location = `pwd`/installed
format = vdb
names_cache = /var/empty
provides_cache = /var/empty
+builddir = `pwd`
END
cat <<END > home/.paludis/keywords.conf