aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2009-12-14 18:33:36 +0000
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2009-12-14 18:33:36 +0000
commit022f4dd439abfeffad3bf9d822306a47102874e6 (patch)
treef7c05811c63bafbd5fd25186a08a87459f2e3a30
parentdee918a74ce99cb059de73f0ea9369cecbdf9567 (diff)
downloadpaludis-022f4dd439abfeffad3bf9d822306a47102874e6.tar.gz
paludis-022f4dd439abfeffad3bf9d822306a47102874e6.tar.xz
EAPI 3 is EAPI 4 now
-rw-r--r--.gitignore1
-rw-r--r--configure.ac3
-rw-r--r--paludis/repositories/e/Makefile.am16
-rw-r--r--paludis/repositories/e/depend_rdepend_TEST.cc3
-rwxr-xr-xpaludis/repositories/e/depend_rdepend_TEST_setup.sh2
-rwxr-xr-xpaludis/repositories/e/e_repository_TEST_3_cleanup.sh9
-rw-r--r--paludis/repositories/e/e_repository_TEST_4.cc (renamed from paludis/repositories/e/e_repository_TEST_3.cc)68
-rwxr-xr-xpaludis/repositories/e/e_repository_TEST_4_cleanup.sh9
-rwxr-xr-xpaludis/repositories/e/e_repository_TEST_4_setup.sh (renamed from paludis/repositories/e/e_repository_TEST_3_setup.sh)52
-rw-r--r--paludis/repositories/e/e_repository_TEST_replacing.cc6
-rwxr-xr-xpaludis/repositories/e/e_repository_TEST_replacing_setup.sh6
-rw-r--r--paludis/repositories/e/eapis/3.conf58
-rw-r--r--paludis/repositories/e/eapis/4.conf67
-rw-r--r--paludis/repositories/e/eapis/Makefile.am5
-rw-r--r--paludis/repositories/e/ebuild/3/Makefile.am4
-rw-r--r--paludis/repositories/e/ebuild/3/output_functions.bash2
-rw-r--r--paludis/repositories/e/ebuild/4/Makefile.am17
-rw-r--r--paludis/repositories/e/ebuild/4/die_functions.bash (renamed from paludis/repositories/e/ebuild/3/die_functions.bash)0
-rw-r--r--paludis/repositories/e/ebuild/4/output_functions.bash30
-rw-r--r--paludis/repositories/e/ebuild/4/pkg_pretend.bash (renamed from paludis/repositories/e/ebuild/3/pkg_pretend.bash)0
-rw-r--r--paludis/repositories/e/ebuild/4/src_install.bash (renamed from paludis/repositories/e/ebuild/3/src_install.bash)0
-rw-r--r--paludis/repositories/e/ebuild/Makefile.am2
-rw-r--r--paludis/repositories/e/ebuild/utils/4/Makefile.am (renamed from paludis/repositories/e/ebuild/utils/3/Makefile.am)10
-rw-r--r--paludis/repositories/e/ebuild/utils/4/banned_in_eapi_4 (renamed from paludis/repositories/e/ebuild/utils/3/banned_in_eapi_3)0
-rwxr-xr-xpaludis/repositories/e/ebuild/utils/4/docompress (renamed from paludis/repositories/e/ebuild/utils/3/docompress)0
-rwxr-xr-xpaludis/repositories/e/ebuild/utils/4/dohard28
-rwxr-xr-xpaludis/repositories/e/ebuild/utils/4/dosed28
-rw-r--r--paludis/repositories/e/ebuild/utils/Makefile.am2
-rw-r--r--paludis/util/echo_functions.bash.in1
29 files changed, 273 insertions, 156 deletions
diff --git a/.gitignore b/.gitignore
index 07c8d69..108eff8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -227,6 +227,7 @@ paludis-*.*.*.tar.bz2
/paludis/repositories/e/e_repository_TEST_1
/paludis/repositories/e/e_repository_TEST_2
/paludis/repositories/e/e_repository_TEST_3
+/paludis/repositories/e/e_repository_TEST_4
/paludis/repositories/e/e_repository_TEST_dependencies_rewriter
/paludis/repositories/e/e_repository_TEST_ever
/paludis/repositories/e/e_repository_TEST_exheres_0
diff --git a/configure.ac b/configure.ac
index a9d177c..a507747 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1609,13 +1609,14 @@ AC_OUTPUT(
paludis/repositories/e/ebuild/1/Makefile
paludis/repositories/e/ebuild/2/Makefile
paludis/repositories/e/ebuild/3/Makefile
+ paludis/repositories/e/ebuild/4/Makefile
paludis/repositories/e/ebuild/Makefile
paludis/repositories/e/ebuild/exheres-0/Makefile
paludis/repositories/e/ebuild/kdebuild-1/Makefile
paludis/repositories/e/ebuild/paludis-1/Makefile
paludis/repositories/e/ebuild/pbin-1/Makefile
paludis/repositories/e/ebuild/utils/Makefile
- paludis/repositories/e/ebuild/utils/3/Makefile
+ paludis/repositories/e/ebuild/utils/4/Makefile
paludis/repositories/e/ebuild/utils/exheres-0/Makefile
paludis/repositories/e/ebuild/utils/kdebuild-1/Makefile
paludis/repositories/fake/Makefile
diff --git a/paludis/repositories/e/Makefile.am b/paludis/repositories/e/Makefile.am
index fc7b592..f0bef2a 100644
--- a/paludis/repositories/e/Makefile.am
+++ b/paludis/repositories/e/Makefile.am
@@ -205,16 +205,16 @@ e_repository_TEST_kdebuild_1_LDADD = \
e_repository_TEST_kdebuild_1_CXXFLAGS = $(AM_CXXFLAGS) -I$(top_srcdir) @PALUDIS_CXXFLAGS_NO_DEBUGGING@
-e_repository_TEST_3_SOURCES = e_repository_TEST_3.cc
+e_repository_TEST_4_SOURCES = e_repository_TEST_4.cc
-e_repository_TEST_3_LDADD = \
+e_repository_TEST_4_LDADD = \
$(top_builddir)/paludis/util/libpaludisutil_@PALUDIS_PC_SLOT@.la \
$(top_builddir)/paludis/util/test_extras.o \
$(top_builddir)/paludis/libpaludis_@PALUDIS_PC_SLOT@.la \
$(top_builddir)/test/libtest.a \
$(DYNAMIC_LD_LIBS)
-e_repository_TEST_3_CXXFLAGS = $(AM_CXXFLAGS) -I$(top_srcdir) @PALUDIS_CXXFLAGS_NO_DEBUGGING@
+e_repository_TEST_4_CXXFLAGS = $(AM_CXXFLAGS) -I$(top_srcdir) @PALUDIS_CXXFLAGS_NO_DEBUGGING@
e_repository_TEST_2_SOURCES = e_repository_TEST_2.cc
@@ -459,9 +459,9 @@ EXTRA_DIST = \
e_repository_TEST_2.cc \
e_repository_TEST_2_setup.sh \
e_repository_TEST_2_cleanup.sh \
- e_repository_TEST_3.cc \
- e_repository_TEST_3_setup.sh \
- e_repository_TEST_3_cleanup.sh \
+ e_repository_TEST_4.cc \
+ e_repository_TEST_4_setup.sh \
+ e_repository_TEST_4_cleanup.sh \
e_repository_TEST_phases.cc \
e_repository_TEST_phases_setup.sh \
e_repository_TEST_phases_cleanup.sh \
@@ -525,7 +525,7 @@ check_SCRIPTS = \
e_repository_TEST_0_setup.sh e_repository_TEST_0_cleanup.sh \
e_repository_TEST_1_setup.sh e_repository_TEST_1_cleanup.sh \
e_repository_TEST_2_setup.sh e_repository_TEST_2_cleanup.sh \
- e_repository_TEST_3_setup.sh e_repository_TEST_3_cleanup.sh \
+ e_repository_TEST_4_setup.sh e_repository_TEST_4_cleanup.sh \
e_repository_TEST_phases_setup.sh e_repository_TEST_phases_cleanup.sh \
e_repository_TEST_exlibs_setup.sh e_repository_TEST_exlibs_cleanup.sh \
e_repository_TEST_replacing_setup.sh e_repository_TEST_replacing_cleanup.sh \
@@ -593,7 +593,7 @@ TESTS = \
e_repository_TEST_0 \
e_repository_TEST_1 \
e_repository_TEST_2 \
- e_repository_TEST_3 \
+ e_repository_TEST_4 \
e_repository_TEST_dependencies_rewriter \
e_repository_TEST_ever \
e_repository_TEST_exheres_0 \
diff --git a/paludis/repositories/e/depend_rdepend_TEST.cc b/paludis/repositories/e/depend_rdepend_TEST.cc
index 30dcdb6..0b08811 100644
--- a/paludis/repositories/e/depend_rdepend_TEST.cc
+++ b/paludis/repositories/e/depend_rdepend_TEST.cc
@@ -227,6 +227,7 @@ namespace test_cases
DependRdependTest eapi_0("0", true);
DependRdependTest eapi_1("1", true);
DependRdependTest eapi_2("2", true);
- DependRdependTest eapi_3("3", false);
+ DependRdependTest eapi_3("3", true);
+ DependRdependTest eapi_4("4", false);
}
diff --git a/paludis/repositories/e/depend_rdepend_TEST_setup.sh b/paludis/repositories/e/depend_rdepend_TEST_setup.sh
index 8a3491f..714a4b0 100755
--- a/paludis/repositories/e/depend_rdepend_TEST_setup.sh
+++ b/paludis/repositories/e/depend_rdepend_TEST_setup.sh
@@ -28,7 +28,7 @@ LIBC="glibc"
CHOST="i286-badger-linux-gnu"
END
-for e in 0 1 2 3 ; do
+for e in 0 1 2 3 4 ; do
mkdir -p "cat/eapi${e}donly"
cat <<END > cat/eapi${e}donly/eapi${e}donly-1.ebuild || exit 1
diff --git a/paludis/repositories/e/e_repository_TEST_3_cleanup.sh b/paludis/repositories/e/e_repository_TEST_3_cleanup.sh
deleted file mode 100755
index 26e3e59..0000000
--- a/paludis/repositories/e/e_repository_TEST_3_cleanup.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/usr/bin/env bash
-# vim: set ft=sh sw=4 sts=4 et :
-
-if [ -d e_repository_TEST_3_dir ] ; then
- rm -fr e_repository_TEST_3_dir
-else
- true
-fi
-
diff --git a/paludis/repositories/e/e_repository_TEST_3.cc b/paludis/repositories/e/e_repository_TEST_4.cc
index d57ee76..5f047fd 100644
--- a/paludis/repositories/e/e_repository_TEST_3.cc
+++ b/paludis/repositories/e/e_repository_TEST_4.cc
@@ -87,9 +87,9 @@ namespace
namespace test_cases
{
- struct ERepositoryInstallEAPI3Test : TestCase
+ struct ERepositoryInstallEAPI4Test : TestCase
{
- ERepositoryInstallEAPI3Test() : TestCase("install_eapi_3") { }
+ ERepositoryInstallEAPI4Test() : TestCase("install_eapi_4") { }
unsigned max_run_time() const
{
@@ -108,14 +108,14 @@ 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", stringify(FSEntry::cwd() / "e_repository_TEST_3_dir" / "repo"));
- keys->insert("profiles", stringify(FSEntry::cwd() / "e_repository_TEST_3_dir" / "repo/profiles/profile"));
+ keys->insert("location", stringify(FSEntry::cwd() / "e_repository_TEST_4_dir" / "repo"));
+ keys->insert("profiles", stringify(FSEntry::cwd() / "e_repository_TEST_4_dir" / "repo/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_3_dir" / "distdir"));
- keys->insert("builddir", stringify(FSEntry::cwd() / "e_repository_TEST_3_dir" / "build"));
+ keys->insert("distdir", stringify(FSEntry::cwd() / "e_repository_TEST_4_dir" / "distdir"));
+ keys->insert("builddir", stringify(FSEntry::cwd() / "e_repository_TEST_4_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);
@@ -144,10 +144,10 @@ namespace test_cases
{
TestMessageSuffix suffix("pkg_pretend", true);
const std::tr1::shared_ptr<const PackageID> id(*env[selection::RequireExactlyOne(generator::Matches(
- PackageDepSpec(parse_user_package_dep_spec("=cat/pkg_pretend-3",
+ PackageDepSpec(parse_user_package_dep_spec("=cat/pkg_pretend-4",
&env, UserPackageDepSpecOptions())), MatchPackageOptions()))]->last());
TEST_CHECK(id);
- TEST_CHECK_EQUAL(simple_visitor_cast<const MetadataValueKey<std::string> >(**id->find_metadata("EAPI"))->value(), "3");
+ TEST_CHECK_EQUAL(simple_visitor_cast<const MetadataValueKey<std::string> >(**id->find_metadata("EAPI"))->value(), "4");
id->perform_action(pretend_action);
TEST_CHECK(! pretend_action.failed());
}
@@ -155,114 +155,114 @@ namespace test_cases
{
TestMessageSuffix suffix("pkg_pretend-failure", true);
const std::tr1::shared_ptr<const PackageID> id(*env[selection::RequireExactlyOne(generator::Matches(
- PackageDepSpec(parse_user_package_dep_spec("=cat/pkg_pretend-failure-3",
+ PackageDepSpec(parse_user_package_dep_spec("=cat/pkg_pretend-failure-4",
&env, UserPackageDepSpecOptions())), MatchPackageOptions()))]->last());
TEST_CHECK(id);
- TEST_CHECK_EQUAL(simple_visitor_cast<const MetadataValueKey<std::string> >(**id->find_metadata("EAPI"))->value(), "3");
+ TEST_CHECK_EQUAL(simple_visitor_cast<const MetadataValueKey<std::string> >(**id->find_metadata("EAPI"))->value(), "4");
id->perform_action(pretend_action);
TEST_CHECK(pretend_action.failed());
}
{
- TestMessageSuffix suffix("default_src_install 3", true);
+ TestMessageSuffix suffix("default_src_install 4", true);
const std::tr1::shared_ptr<const PackageID> id(*env[selection::RequireExactlyOne(generator::Matches(
- PackageDepSpec(parse_user_package_dep_spec("=cat/default_src_install-3",
+ PackageDepSpec(parse_user_package_dep_spec("=cat/default_src_install-4",
&env, UserPackageDepSpecOptions())), MatchPackageOptions()))]->last());
TEST_CHECK(id);
- TEST_CHECK_EQUAL(simple_visitor_cast<const MetadataValueKey<std::string> >(**id->find_metadata("EAPI"))->value(), "3");
+ TEST_CHECK_EQUAL(simple_visitor_cast<const MetadataValueKey<std::string> >(**id->find_metadata("EAPI"))->value(), "4");
id->perform_action(action);
}
{
- TestMessageSuffix suffix("docompress 3", true);
+ TestMessageSuffix suffix("docompress 4", true);
const std::tr1::shared_ptr<const PackageID> id(*env[selection::RequireExactlyOne(generator::Matches(
- PackageDepSpec(parse_user_package_dep_spec("=cat/docompress-3",
+ PackageDepSpec(parse_user_package_dep_spec("=cat/docompress-4",
&env, UserPackageDepSpecOptions())), MatchPackageOptions()))]->last());
TEST_CHECK(id);
- TEST_CHECK_EQUAL(simple_visitor_cast<const MetadataValueKey<std::string> >(**id->find_metadata("EAPI"))->value(), "3");
+ TEST_CHECK_EQUAL(simple_visitor_cast<const MetadataValueKey<std::string> >(**id->find_metadata("EAPI"))->value(), "4");
id->perform_action(action);
}
{
TestMessageSuffix suffix("dodoc -r", true);
const std::tr1::shared_ptr<const PackageID> id(*env[selection::RequireExactlyOne(generator::Matches(
- PackageDepSpec(parse_user_package_dep_spec("=cat/dodoc-r-3",
+ PackageDepSpec(parse_user_package_dep_spec("=cat/dodoc-r-4",
&env, UserPackageDepSpecOptions())), MatchPackageOptions()))]->last());
TEST_CHECK(id);
- TEST_CHECK_EQUAL(simple_visitor_cast<const MetadataValueKey<std::string> >(**id->find_metadata("EAPI"))->value(), "3");
+ TEST_CHECK_EQUAL(simple_visitor_cast<const MetadataValueKey<std::string> >(**id->find_metadata("EAPI"))->value(), "4");
id->perform_action(action);
}
{
TestMessageSuffix suffix("doins symlink", true);
const std::tr1::shared_ptr<const PackageID> id(*env[selection::RequireExactlyOne(generator::Matches(
- PackageDepSpec(parse_user_package_dep_spec("=cat/doins-symlink-3",
+ PackageDepSpec(parse_user_package_dep_spec("=cat/doins-symlink-4",
&env, UserPackageDepSpecOptions())), MatchPackageOptions()))]->last());
TEST_CHECK(id);
- TEST_CHECK_EQUAL(simple_visitor_cast<const MetadataValueKey<std::string> >(**id->find_metadata("EAPI"))->value(), "3");
+ TEST_CHECK_EQUAL(simple_visitor_cast<const MetadataValueKey<std::string> >(**id->find_metadata("EAPI"))->value(), "4");
id->perform_action(action);
}
{
- TestMessageSuffix suffix("banned functions 3", true);
+ TestMessageSuffix suffix("banned functions 4", true);
const std::tr1::shared_ptr<const PackageID> id(*env[selection::RequireExactlyOne(generator::Matches(
- PackageDepSpec(parse_user_package_dep_spec("=cat/banned-functions-3",
+ PackageDepSpec(parse_user_package_dep_spec("=cat/banned-functions-4",
&env, UserPackageDepSpecOptions())), MatchPackageOptions()))]->last());
TEST_CHECK(id);
- TEST_CHECK_EQUAL(simple_visitor_cast<const MetadataValueKey<std::string> >(**id->find_metadata("EAPI"))->value(), "3");
+ TEST_CHECK_EQUAL(simple_visitor_cast<const MetadataValueKey<std::string> >(**id->find_metadata("EAPI"))->value(), "4");
TEST_CHECK_THROWS(id->perform_action(action), ActionFailedError);
}
{
TestMessageSuffix suffix("econf disable dependency tracking", true);
const std::tr1::shared_ptr<const PackageID> id(*env[selection::RequireExactlyOne(generator::Matches(
- PackageDepSpec(parse_user_package_dep_spec("=cat/econf-disable-dependency-tracking-3",
+ PackageDepSpec(parse_user_package_dep_spec("=cat/econf-disable-dependency-tracking-4",
&env, UserPackageDepSpecOptions())), MatchPackageOptions()))]->last());
TEST_CHECK(id);
- TEST_CHECK_EQUAL(simple_visitor_cast<const MetadataValueKey<std::string> >(**id->find_metadata("EAPI"))->value(), "3");
+ TEST_CHECK_EQUAL(simple_visitor_cast<const MetadataValueKey<std::string> >(**id->find_metadata("EAPI"))->value(), "4");
id->perform_action(action);
}
{
TestMessageSuffix suffix("strict use", true);
const std::tr1::shared_ptr<const PackageID> id(*env[selection::RequireExactlyOne(generator::Matches(
- PackageDepSpec(parse_user_package_dep_spec("=cat/strict-use-3",
+ PackageDepSpec(parse_user_package_dep_spec("=cat/strict-use-4",
&env, UserPackageDepSpecOptions())), MatchPackageOptions()))]->last());
TEST_CHECK(id);
- TEST_CHECK_EQUAL(simple_visitor_cast<const MetadataValueKey<std::string> >(**id->find_metadata("EAPI"))->value(), "3");
+ TEST_CHECK_EQUAL(simple_visitor_cast<const MetadataValueKey<std::string> >(**id->find_metadata("EAPI"))->value(), "4");
id->perform_action(action);
}
{
TestMessageSuffix suffix("strict use fail", true);
const std::tr1::shared_ptr<const PackageID> id(*env[selection::RequireExactlyOne(generator::Matches(
- PackageDepSpec(parse_user_package_dep_spec("=cat/strict-use-fail-3",
+ PackageDepSpec(parse_user_package_dep_spec("=cat/strict-use-fail-4",
&env, UserPackageDepSpecOptions())), MatchPackageOptions()))]->last());
TEST_CHECK(id);
- TEST_CHECK_EQUAL(simple_visitor_cast<const MetadataValueKey<std::string> >(**id->find_metadata("EAPI"))->value(), "3");
+ TEST_CHECK_EQUAL(simple_visitor_cast<const MetadataValueKey<std::string> >(**id->find_metadata("EAPI"))->value(), "4");
TEST_CHECK_THROWS(id->perform_action(action), ActionFailedError);
}
{
TestMessageSuffix suffix("strict use injection", true);
const std::tr1::shared_ptr<const PackageID> id(*env[selection::RequireExactlyOne(generator::Matches(
- PackageDepSpec(parse_user_package_dep_spec("=cat/strict-use-injection-3",
+ PackageDepSpec(parse_user_package_dep_spec("=cat/strict-use-injection-4",
&env, UserPackageDepSpecOptions())), MatchPackageOptions()))]->last());
TEST_CHECK(id);
- TEST_CHECK_EQUAL(simple_visitor_cast<const MetadataValueKey<std::string> >(**id->find_metadata("EAPI"))->value(), "3");
+ TEST_CHECK_EQUAL(simple_visitor_cast<const MetadataValueKey<std::string> >(**id->find_metadata("EAPI"))->value(), "4");
id->perform_action(action);
}
{
TestMessageSuffix suffix("global scope use", true);
const std::tr1::shared_ptr<const PackageID> id(*env[selection::RequireExactlyOne(generator::Matches(
- PackageDepSpec(parse_user_package_dep_spec("=cat/global-scope-use-3",
+ PackageDepSpec(parse_user_package_dep_spec("=cat/global-scope-use-4",
&env, UserPackageDepSpecOptions())), MatchPackageOptions()))]->last());
TEST_CHECK(id);
- TEST_CHECK_EQUAL(simple_visitor_cast<const MetadataValueKey<std::string> >(**id->find_metadata("EAPI"))->value(), "3");
+ TEST_CHECK_EQUAL(simple_visitor_cast<const MetadataValueKey<std::string> >(**id->find_metadata("EAPI"))->value(), "4");
id->perform_action(action);
}
}
- } test_e_repository_install_eapi_3;
+ } test_e_repository_install_eapi_4;
}
diff --git a/paludis/repositories/e/e_repository_TEST_4_cleanup.sh b/paludis/repositories/e/e_repository_TEST_4_cleanup.sh
new file mode 100755
index 0000000..edb36ab
--- /dev/null
+++ b/paludis/repositories/e/e_repository_TEST_4_cleanup.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# vim: set ft=sh sw=4 sts=4 et :
+
+if [ -d e_repository_TEST_4_dir ] ; then
+ rm -fr e_repository_TEST_4_dir
+else
+ true
+fi
+
diff --git a/paludis/repositories/e/e_repository_TEST_3_setup.sh b/paludis/repositories/e/e_repository_TEST_4_setup.sh
index 14e049d..61420a2 100755
--- a/paludis/repositories/e/e_repository_TEST_3_setup.sh
+++ b/paludis/repositories/e/e_repository_TEST_4_setup.sh
@@ -1,8 +1,8 @@
#!/usr/bin/env bash
# vim: set ft=sh sw=4 sts=4 et :
-mkdir e_repository_TEST_3_dir || exit 1
-cd e_repository_TEST_3_dir || exit 1
+mkdir e_repository_TEST_4_dir || exit 1
+cd e_repository_TEST_4_dir || exit 1
mkdir -p root/etc
@@ -675,7 +675,7 @@ pkg_setup() {
}
END
mkdir -p "cat/pkg_pretend"
-cat <<"END" > cat/pkg_pretend/pkg_pretend-3.ebuild || exit 1
+cat <<"END" > cat/pkg_pretend/pkg_pretend-4.ebuild || exit 1
DESCRIPTION="The Description"
HOMEPAGE="http://example.com/"
SRC_URI=""
@@ -683,14 +683,14 @@ SLOT="0"
IUSE="enabled-weasel broccoli"
LICENSE="GPL-2"
KEYWORDS="test"
-EAPI="3"
+EAPI="4"
pkg_pretend() {
einfo "This is my pkg_pretend. There are many like it, but this one is mine."
}
END
mkdir -p "cat/pkg_pretend-failure"
-cat <<"END" > cat/pkg_pretend-failure/pkg_pretend-failure-3.ebuild || exit 1
+cat <<"END" > cat/pkg_pretend-failure/pkg_pretend-failure-4.ebuild || exit 1
DESCRIPTION="The Description"
HOMEPAGE="http://example.com/"
SRC_URI=""
@@ -698,14 +698,14 @@ SLOT="0"
IUSE="enabled-weasel broccoli"
LICENSE="GPL-2"
KEYWORDS="test"
-EAPI="3"
+EAPI="4"
pkg_pretend() {
die "This is my pkg_pretend. There are many like it, but this one is mine."
}
END
mkdir -p "cat/default_src_install" || exit 1
-cat << 'END' > cat/default_src_install/default_src_install-3.ebuild || exit 1
+cat << 'END' > cat/default_src_install/default_src_install-4.ebuild || exit 1
EAPI="${PV}"
DESCRIPTION="The Description"
HOMEPAGE="http://example.com/"
@@ -714,7 +714,7 @@ SLOT="0"
IUSE="spork"
LICENSE="GPL-2"
KEYWORDS="test"
-EAPI="3"
+EAPI="4"
S="${WORKDIR}"
@@ -741,7 +741,7 @@ pkg_preinst() {
}
END
mkdir -p "cat/docompress" || exit 1
-cat << 'END' > cat/docompress/docompress-3.ebuild || exit 1
+cat << 'END' > cat/docompress/docompress-4.ebuild || exit 1
EAPI="${PV}"
DESCRIPTION="The Description"
HOMEPAGE="http://example.com/"
@@ -750,7 +750,7 @@ SLOT="0"
IUSE="spork"
LICENSE="GPL-2"
KEYWORDS="test"
-EAPI="3"
+EAPI="4"
S="${WORKDIR}"
@@ -760,7 +760,7 @@ src_install() {
}
END
mkdir -p "cat/dodoc-r" || exit 1
-cat << 'END' > cat/dodoc-r/dodoc-r-3.ebuild || exit 1
+cat << 'END' > cat/dodoc-r/dodoc-r-4.ebuild || exit 1
EAPI="${PV}"
DESCRIPTION="The Description"
HOMEPAGE="http://example.com/"
@@ -769,7 +769,7 @@ SLOT="0"
IUSE="spork"
LICENSE="GPL-2"
KEYWORDS="test"
-EAPI="3"
+EAPI="4"
S="${WORKDIR}"
@@ -800,7 +800,7 @@ pkg_preinst() {
}
END
mkdir -p "cat/doins-symlink" || exit 1
-cat << 'END' > cat/doins-symlink/doins-symlink-3.ebuild || exit 1
+cat << 'END' > cat/doins-symlink/doins-symlink-4.ebuild || exit 1
EAPI="${PV}"
DESCRIPTION="The Description"
HOMEPAGE="http://example.com/"
@@ -809,7 +809,7 @@ SLOT="0"
IUSE="spork"
LICENSE="GPL-2"
KEYWORDS="test"
-EAPI="3"
+EAPI="4"
S="${WORKDIR}"
@@ -853,7 +853,7 @@ pkg_preinst() {
}
END
mkdir -p "cat/banned-functions"
-cat <<END > cat/banned-functions/banned-functions-3.ebuild || exit 1
+cat <<END > cat/banned-functions/banned-functions-4.ebuild || exit 1
DESCRIPTION="The Description"
HOMEPAGE="http://example.com/"
SRC_URI=""
@@ -861,7 +861,7 @@ SLOT="0"
IUSE="spork"
LICENSE="GPL-2"
KEYWORDS="test"
-EAPI="3"
+EAPI="4"
S="\${WORKDIR}"
@@ -901,7 +901,7 @@ EOF
chmod +x configure
}
END
-cat << 'END' > cat/econf-disable-dependency-tracking/econf-disable-dependency-tracking-3.ebuild || exit 1
+cat << 'END' > cat/econf-disable-dependency-tracking/econf-disable-dependency-tracking-4.ebuild || exit 1
EAPI="${PV}"
DESCRIPTION="The Description"
HOMEPAGE="http://example.com/"
@@ -910,7 +910,7 @@ SLOT="0"
IUSE="spork"
LICENSE="GPL-2"
KEYWORDS="test"
-EAPI="3"
+EAPI="4"
S="${WORKDIR}"
@@ -932,7 +932,7 @@ EOF
}
END
mkdir -p "cat/strict-use" || exit 1
-cat << 'END' > cat/strict-use/strict-use-3.ebuild || exit 1
+cat << 'END' > cat/strict-use/strict-use-4.ebuild || exit 1
EAPI="${PV}"
DESCRIPTION="The Description"
HOMEPAGE="http://example.com/"
@@ -941,7 +941,7 @@ SLOT="0"
IUSE="spork enabled"
LICENSE="GPL-2"
KEYWORDS="test"
-EAPI="3"
+EAPI="4"
S="${WORKDIR}"
@@ -951,7 +951,7 @@ pkg_setup() {
}
END
mkdir -p "cat/strict-use-fail" || exit 1
-cat << 'END' > cat/strict-use-fail/strict-use-fail-3.ebuild || exit 1
+cat << 'END' > cat/strict-use-fail/strict-use-fail-4.ebuild || exit 1
EAPI="${PV}"
DESCRIPTION="The Description"
HOMEPAGE="http://example.com/"
@@ -960,7 +960,7 @@ SLOT="0"
IUSE="spork enabled"
LICENSE="GPL-2"
KEYWORDS="test"
-EAPI="3"
+EAPI="4"
S="${WORKDIR}"
@@ -969,7 +969,7 @@ pkg_setup() {
}
END
mkdir -p "cat/strict-use-injection" || exit 1
-cat << 'END' > cat/strict-use-injection/strict-use-injection-3.ebuild || exit 1
+cat << 'END' > cat/strict-use-injection/strict-use-injection-4.ebuild || exit 1
EAPI="${PV}"
DESCRIPTION="The Description"
HOMEPAGE="http://example.com/"
@@ -978,7 +978,7 @@ SLOT="0"
IUSE="spork enabled"
LICENSE="GPL-2"
KEYWORDS="test"
-EAPI="3"
+EAPI="4"
S="${WORKDIR}"
@@ -990,7 +990,7 @@ pkg_setup() {
}
END
mkdir -p "cat/global-scope-use" || exit 1
-cat << 'END' > cat/global-scope-use/global-scope-use-3.ebuild || exit 1
+cat << 'END' > cat/global-scope-use/global-scope-use-4.ebuild || exit 1
use spork
EAPI="${PV}"
@@ -1001,7 +1001,7 @@ SLOT="0"
IUSE="spork enabled"
LICENSE="GPL-2"
KEYWORDS="test"
-EAPI="3"
+EAPI="4"
S="${WORKDIR}"
END
diff --git a/paludis/repositories/e/e_repository_TEST_replacing.cc b/paludis/repositories/e/e_repository_TEST_replacing.cc
index da06358..3b775ca 100644
--- a/paludis/repositories/e/e_repository_TEST_replacing.cc
+++ b/paludis/repositories/e/e_repository_TEST_replacing.cc
@@ -171,8 +171,8 @@ namespace test_cases
ReplacingTest test_exheres_0_replace_one("exheres-0", "repo1", "replace-one", "=cat/pkg-1", "pkg");
ReplacingTest test_exheres_0_replace_many("exheres-0", "repo1", "replace-many", "cat/pkg", "pkg");
- ReplacingTest test_3_replace_none("0", "repo2", "replace-none", "cat/none", "replace-none");
- ReplacingTest test_3_replace_one("0", "repo2", "replace-one", "=cat/replace-one-1", "replace-one");
- ReplacingTest test_3_replace_many("0", "repo2", "replace-many", "cat/replace-many", "replace-many");
+ ReplacingTest test_4_replace_none("0", "repo2", "replace-none", "cat/none", "replace-none");
+ ReplacingTest test_4_replace_one("0", "repo2", "replace-one", "=cat/replace-one-1", "replace-one");
+ ReplacingTest test_4_replace_many("0", "repo2", "replace-many", "cat/replace-many", "replace-many");
}
diff --git a/paludis/repositories/e/e_repository_TEST_replacing_setup.sh b/paludis/repositories/e/e_repository_TEST_replacing_setup.sh
index f03b411..c6d7e58 100755
--- a/paludis/repositories/e/e_repository_TEST_replacing_setup.sh
+++ b/paludis/repositories/e/e_repository_TEST_replacing_setup.sh
@@ -77,7 +77,7 @@ cat <<'END' > packages/cat/replace-none/replace-none-1.ebuild || exit 1
S="${WORKDIR}"
KEYWORDS="test"
SLOT="0"
-EAPI="3"
+EAPI="4"
pkg_setup() {
[[ -z "${REPLACING_VERSIONS}" ]] || die "REPLACING_VERSIONS is ${REPLACING_VERSIONS}"
@@ -88,7 +88,7 @@ cat <<'END' > packages/cat/replace-one/replace-one-1.ebuild || exit 1
S="${WORKDIR}"
KEYWORDS="test"
SLOT="0"
-EAPI="3"
+EAPI="4"
pkg_setup() {
[[ "${REPLACING_VERSIONS}" == "1" ]] || die "REPLACING_VERSIONS is ${REPLACING_VERSIONS}"
@@ -99,7 +99,7 @@ cat <<'END' > packages/cat/replace-many/replace-many-1.ebuild || exit 1
S="${WORKDIR}"
KEYWORDS="test"
SLOT="0"
-EAPI="3"
+EAPI="4"
pkg_setup() {
[[ "${REPLACING_VERSIONS}" == "1 2 3" ]] || die "REPLACING_VERSIONS is ${REPLACING_VERSIONS}"
diff --git a/paludis/repositories/e/eapis/3.conf b/paludis/repositories/e/eapis/3.conf
index 4e18669..e643ef8 100644
--- a/paludis/repositories/e/eapis/3.conf
+++ b/paludis/repositories/e/eapis/3.conf
@@ -5,63 +5,5 @@ source ${PALUDIS_EAPIS_DIR}/2.conf
exported_name = 3
can_be_pbin = true
-ebuild_functions = ${ebuild_functions} pkg_pretend
-
-merger_options = ${merger_options} preserve_mtimes
-
-ebuild_install = \
- skipname=killold : killold ; \
- skipname=init userpriv sandbox : init saveenv ; \
- skipname=setup skipifno=setup clearenv : loadenv setup saveenv ; \
- skipname=unpack skipifno=*sources,unpack sandbox userpriv clearenv : loadenv unpack saveenv ; \
- skipname=prepare skipifno=*sources,unpack,prepare sandbox userpriv clearenv : loadenv prepare saveenv ; \
- skipname=configure skipifno=*sources,unpack,prepare,configure sandbox userpriv clearenv : loadenv configure saveenv ; \
- skipname=compile skipifno=*sources,unpack,prepare,configure,compile sandbox userpriv clearenv : loadenv compile saveenv ; \
- skipname=test skipifno=*sources,unpack,prepare,configure,compile,test sandbox userpriv clearenv optional_tests : loadenv test saveenv ; \
- skipname=install skipifno=*sources,unpack,prepare,configure,compile,test,install sandbox clearenv : loadenv install saveenv ; \
- skipname=strip strip : ; \
- skipname=preinst skipifno=preinst clearenv prepost : loadenv preinst saveenv ; \
- skipname=merge merge : ; \
- skipname=postinst skipifno=postinst clearenv prepost : loadenv postinst saveenv ; \
- skipname=tidyup : tidyup
-
-ebuild_info = \
- : killold ; \
- sandbox userpriv : initmisc infovars info ; \
- : tidyup
-
-env_aa =
-env_kv =
-env_replacing_versions = REPLACING_VERSIONS
-env_replaced_by_version = REPLACED_BY_VERSION
-
-metadata_iuse_effective = IUSE_EFFECTIVE
-description_iuse_effective = All relevant USE flags
-flat_list_iuse_effective = -1
-description_iuse = Listed relevant USE flags
-
-vdb_from_env_variables = ${vdb_from_env_variables} IUSE_EFFECTIVE
-
-package_dep_spec_parse_options = ${package_dep_spec_parse_options} \
- allow_slot_equal_deps allow_slot_star_deps allow_use_dep_defaults
-
ebuild_module_suffixes = 3 2 1 0
-utility_path_suffixes = 3 2 1 0
-
-ebuild_pretend = \
- skipname=pretend skipifno=pretend sandbox userpriv : pretend
-
-dodoc_r = true
-doins_symlink = true
-failure_is_fatal = true
-no_s_workdir_fallback = true
-
-rdepend_defaults_to_depend = false
-
-unpack_suffixes = tar tar.gz,tgz,tar.Z tar.bz2,tbz2,tbz zip,ZIP,jar gz,Z,z bz2 rar,RAR lha,LHa,LHA,lzh a,deb tar.lzma lzma 7z,7Z tar.xz xz
-
-econf_extra_options = --disable-dependency-tracking
-
-require_use_expand_in_iuse = true
-profile_iuse_injection = true
diff --git a/paludis/repositories/e/eapis/4.conf b/paludis/repositories/e/eapis/4.conf
new file mode 100644
index 0000000..dce56ff
--- /dev/null
+++ b/paludis/repositories/e/eapis/4.conf
@@ -0,0 +1,67 @@
+# Configuration for EAPI 4
+# EAPI 4 is specified in PMS.
+
+source ${PALUDIS_EAPIS_DIR}/3.conf
+exported_name = 4
+can_be_pbin = true
+
+ebuild_functions = ${ebuild_functions} pkg_pretend
+
+merger_options = ${merger_options} preserve_mtimes
+
+ebuild_install = \
+ skipname=killold : killold ; \
+ skipname=init userpriv sandbox : init saveenv ; \
+ skipname=setup skipifno=setup clearenv : loadenv setup saveenv ; \
+ skipname=unpack skipifno=*sources,unpack sandbox userpriv clearenv : loadenv unpack saveenv ; \
+ skipname=prepare skipifno=*sources,unpack,prepare sandbox userpriv clearenv : loadenv prepare saveenv ; \
+ skipname=configure skipifno=*sources,unpack,prepare,configure sandbox userpriv clearenv : loadenv configure saveenv ; \
+ skipname=compile skipifno=*sources,unpack,prepare,configure,compile sandbox userpriv clearenv : loadenv compile saveenv ; \
+ skipname=test skipifno=*sources,unpack,prepare,configure,compile,test sandbox userpriv clearenv optional_tests : loadenv test saveenv ; \
+ skipname=install skipifno=*sources,unpack,prepare,configure,compile,test,install sandbox clearenv : loadenv install saveenv ; \
+ skipname=strip strip : ; \
+ skipname=preinst skipifno=preinst clearenv prepost : loadenv preinst saveenv ; \
+ skipname=merge merge : ; \
+ skipname=postinst skipifno=postinst clearenv prepost : loadenv postinst saveenv ; \
+ skipname=tidyup : tidyup
+
+ebuild_info = \
+ : killold ; \
+ sandbox userpriv : initmisc infovars info ; \
+ : tidyup
+
+env_aa =
+env_kv =
+env_replacing_versions = REPLACING_VERSIONS
+env_replaced_by_version = REPLACED_BY_VERSION
+
+metadata_iuse_effective = IUSE_EFFECTIVE
+description_iuse_effective = All relevant USE flags
+flat_list_iuse_effective = -1
+description_iuse = Listed relevant USE flags
+
+vdb_from_env_variables = ${vdb_from_env_variables} IUSE_EFFECTIVE
+
+package_dep_spec_parse_options = ${package_dep_spec_parse_options} \
+ allow_slot_equal_deps allow_slot_star_deps allow_use_dep_defaults
+
+ebuild_module_suffixes = 4 3 2 1 0
+utility_path_suffixes = 4 3 2 1 0
+
+ebuild_pretend = \
+ skipname=pretend skipifno=pretend sandbox userpriv : pretend
+
+dodoc_r = true
+doins_symlink = true
+failure_is_fatal = true
+no_s_workdir_fallback = true
+
+rdepend_defaults_to_depend = false
+
+unpack_suffixes = tar tar.gz,tgz,tar.Z tar.bz2,tbz2,tbz zip,ZIP,jar gz,Z,z bz2 rar,RAR lha,LHa,LHA,lzh a,deb tar.lzma lzma 7z,7Z tar.xz xz
+
+econf_extra_options = --disable-dependency-tracking
+
+require_use_expand_in_iuse = true
+profile_iuse_injection = true
+
diff --git a/paludis/repositories/e/eapis/Makefile.am b/paludis/repositories/e/eapis/Makefile.am
index 9c13b39..17f851a 100644
--- a/paludis/repositories/e/eapis/Makefile.am
+++ b/paludis/repositories/e/eapis/Makefile.am
@@ -8,6 +8,8 @@ eapis = \
0.conf \
1.conf \
2.conf \
+ 3.conf \
+ 4.conf \
exheres-0.conf \
kdebuild-1.conf \
paludis-1.conf \
@@ -17,7 +19,8 @@ eapis = \
pbin-1+exheres-0.conf
future_eapis = \
- 3.conf
+ 3.conf \
+ 4.conf
eapidir = $(datadir)/paludis/eapis/
diff --git a/paludis/repositories/e/ebuild/3/Makefile.am b/paludis/repositories/e/ebuild/3/Makefile.am
index 2c7759f..86b5b9c 100644
--- a/paludis/repositories/e/ebuild/3/Makefile.am
+++ b/paludis/repositories/e/ebuild/3/Makefile.am
@@ -5,9 +5,6 @@ SUBDIRS = .
libexecprog3dir = $(libexecdir)/paludis/3
libexecprog3_SCRIPTS = \
- pkg_pretend.bash \
- src_install.bash \
- die_functions.bash \
output_functions.bash
TESTS =
@@ -15,3 +12,4 @@ check_SCRIPTS = $(TESTS)
EXTRA_DIST = $(libexecprog3_SCRIPTS)
+
diff --git a/paludis/repositories/e/ebuild/3/output_functions.bash b/paludis/repositories/e/ebuild/3/output_functions.bash
index dec0f3f..11772ab 100644
--- a/paludis/repositories/e/ebuild/3/output_functions.bash
+++ b/paludis/repositories/e/ebuild/3/output_functions.bash
@@ -24,7 +24,7 @@ ebuild_notice()
ebuild_section()
{
- echo -ne "${COLOUR_PURPLE}>>>${COLOUR_NORMAL} "
+ echo -ne "${COLOUR_DARK_BLUE}>>>${COLOUR_NORMAL} "
echo "$@"
}
diff --git a/paludis/repositories/e/ebuild/4/Makefile.am b/paludis/repositories/e/ebuild/4/Makefile.am
new file mode 100644
index 0000000..5f78814
--- /dev/null
+++ b/paludis/repositories/e/ebuild/4/Makefile.am
@@ -0,0 +1,17 @@
+include $(top_srcdir)/misc/common-makefile.am
+
+SUBDIRS = .
+
+libexecprog4dir = $(libexecdir)/paludis/4
+
+libexecprog4_SCRIPTS = \
+ pkg_pretend.bash \
+ src_install.bash \
+ die_functions.bash \
+ output_functions.bash
+
+TESTS =
+check_SCRIPTS = $(TESTS)
+
+EXTRA_DIST = $(libexecprog4_SCRIPTS)
+
diff --git a/paludis/repositories/e/ebuild/3/die_functions.bash b/paludis/repositories/e/ebuild/4/die_functions.bash
index 1bdaac1..1bdaac1 100644
--- a/paludis/repositories/e/ebuild/3/die_functions.bash
+++ b/paludis/repositories/e/ebuild/4/die_functions.bash
diff --git a/paludis/repositories/e/ebuild/4/output_functions.bash b/paludis/repositories/e/ebuild/4/output_functions.bash
new file mode 100644
index 0000000..dec0f3f
--- /dev/null
+++ b/paludis/repositories/e/ebuild/4/output_functions.bash
@@ -0,0 +1,30 @@
+#!/usr/bin/env bash
+# vim: set sw=4 sts=4 et :
+
+# Copyright (c) 2006, 2007, 2008, 2009 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
+# Public License, version 2, as published by the Free Software Foundation.
+#
+# Paludis is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+# details.
+#
+# You should have received a copy of the GNU General Public License along with
+# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+# Place, Suite 330, Boston, MA 02111-1307 USA
+
+ebuild_notice()
+{
+ [[ -z "${PALUDIS_PIPE_COMMANDS_SUPPORTED}" ]] && return
+ paludis_pipe_command LOG "$EAPI" "$@" >/dev/null
+}
+
+ebuild_section()
+{
+ echo -ne "${COLOUR_PURPLE}>>>${COLOUR_NORMAL} "
+ echo "$@"
+}
+
diff --git a/paludis/repositories/e/ebuild/3/pkg_pretend.bash b/paludis/repositories/e/ebuild/4/pkg_pretend.bash
index 18ab429..18ab429 100644
--- a/paludis/repositories/e/ebuild/3/pkg_pretend.bash
+++ b/paludis/repositories/e/ebuild/4/pkg_pretend.bash
diff --git a/paludis/repositories/e/ebuild/3/src_install.bash b/paludis/repositories/e/ebuild/4/src_install.bash
index d768433..d768433 100644
--- a/paludis/repositories/e/ebuild/3/src_install.bash
+++ b/paludis/repositories/e/ebuild/4/src_install.bash
diff --git a/paludis/repositories/e/ebuild/Makefile.am b/paludis/repositories/e/ebuild/Makefile.am
index d3d3c2a..ace2ad9 100644
--- a/paludis/repositories/e/ebuild/Makefile.am
+++ b/paludis/repositories/e/ebuild/Makefile.am
@@ -1,6 +1,6 @@
include $(top_srcdir)/misc/common-makefile.am
-SUBDIRS = . 0 1 2 3 exheres-0 kdebuild-1 paludis-1 pbin-1 utils
+SUBDIRS = . 0 1 2 3 4 exheres-0 kdebuild-1 paludis-1 pbin-1 utils
AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@
diff --git a/paludis/repositories/e/ebuild/utils/3/Makefile.am b/paludis/repositories/e/ebuild/utils/4/Makefile.am
index 578ec38..629be8f 100644
--- a/paludis/repositories/e/ebuild/utils/3/Makefile.am
+++ b/paludis/repositories/e/ebuild/utils/4/Makefile.am
@@ -2,22 +2,22 @@ include $(top_srcdir)/misc/common-makefile.am
SUBDIRS = .
-libexecprog3dir = $(libexecdir)/paludis/utils/3/
+libexecprog4dir = $(libexecdir)/paludis/utils/4/
-libexecprog3_SCRIPTS = \
+libexecprog4_SCRIPTS = \
docompress \
dohard \
dosed \
- banned_in_eapi_3
+ banned_in_eapi_4
TESTS =
EXTRA_DIST = \
- $(libexecprog3_SCRIPTS) \
+ $(libexecprog4_SCRIPTS) \
$(TESTS)
bannedscripts = dohard dosed
-$(bannedscripts) : banned_in_eapi_3
+$(bannedscripts) : banned_in_eapi_4
cat $? > $@
chmod +x $@
diff --git a/paludis/repositories/e/ebuild/utils/3/banned_in_eapi_3 b/paludis/repositories/e/ebuild/utils/4/banned_in_eapi_4
index 4d824ad..4d824ad 100644
--- a/paludis/repositories/e/ebuild/utils/3/banned_in_eapi_3
+++ b/paludis/repositories/e/ebuild/utils/4/banned_in_eapi_4
diff --git a/paludis/repositories/e/ebuild/utils/3/docompress b/paludis/repositories/e/ebuild/utils/4/docompress
index b7ec0cb..b7ec0cb 100755
--- a/paludis/repositories/e/ebuild/utils/3/docompress
+++ b/paludis/repositories/e/ebuild/utils/4/docompress
diff --git a/paludis/repositories/e/ebuild/utils/4/dohard b/paludis/repositories/e/ebuild/utils/4/dohard
new file mode 100755
index 0000000..4d824ad
--- /dev/null
+++ b/paludis/repositories/e/ebuild/utils/4/dohard
@@ -0,0 +1,28 @@
+#!/usr/bin/env bash
+# vim: set sw=4 sts=4 et :
+
+# Copyright (c) 2007, 2008, 2009 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
+# Public License as published by the Free Software Foundation; either version
+# 2 of the License, or (at your option) any later version.
+#
+# Paludis is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+# details.
+#
+# You should have received a copy of the GNU General Public License along with
+# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+# Place, Suite 330, Boston, MA 02111-1307 USA
+
+COLOUR_RED=$'\e[31;01m'
+COLOUR_NORMAL=$'\e[0m'
+
+echo "${COLOUR_RED}!!! Ebuild bug: '$(basename ${0} )' banned in EAPI 3${COLOUR_NORMAL}"
+echo "$(basename ${0} ): making ebuild PID ${EBUILD_KILL_PID} exit with error" 1>&2
+kill -s SIGUSR1 "${EBUILD_KILL_PID}"
+
+exit 123
+
diff --git a/paludis/repositories/e/ebuild/utils/4/dosed b/paludis/repositories/e/ebuild/utils/4/dosed
new file mode 100755
index 0000000..4d824ad
--- /dev/null
+++ b/paludis/repositories/e/ebuild/utils/4/dosed
@@ -0,0 +1,28 @@
+#!/usr/bin/env bash
+# vim: set sw=4 sts=4 et :
+
+# Copyright (c) 2007, 2008, 2009 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
+# Public License as published by the Free Software Foundation; either version
+# 2 of the License, or (at your option) any later version.
+#
+# Paludis is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+# details.
+#
+# You should have received a copy of the GNU General Public License along with
+# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+# Place, Suite 330, Boston, MA 02111-1307 USA
+
+COLOUR_RED=$'\e[31;01m'
+COLOUR_NORMAL=$'\e[0m'
+
+echo "${COLOUR_RED}!!! Ebuild bug: '$(basename ${0} )' banned in EAPI 3${COLOUR_NORMAL}"
+echo "$(basename ${0} ): making ebuild PID ${EBUILD_KILL_PID} exit with error" 1>&2
+kill -s SIGUSR1 "${EBUILD_KILL_PID}"
+
+exit 123
+
diff --git a/paludis/repositories/e/ebuild/utils/Makefile.am b/paludis/repositories/e/ebuild/utils/Makefile.am
index 59c160e..fd19057 100644
--- a/paludis/repositories/e/ebuild/utils/Makefile.am
+++ b/paludis/repositories/e/ebuild/utils/Makefile.am
@@ -1,6 +1,6 @@
include $(top_srcdir)/misc/common-makefile.am
-SUBDIRS = . 3 exheres-0 kdebuild-1
+SUBDIRS = . 4 exheres-0 kdebuild-1
libexecprogdir = $(libexecdir)/paludis/utils
diff --git a/paludis/util/echo_functions.bash.in b/paludis/util/echo_functions.bash.in
index 3b03387..30014b8 100644
--- a/paludis/util/echo_functions.bash.in
+++ b/paludis/util/echo_functions.bash.in
@@ -32,6 +32,7 @@ COLOUR_PINK=$'\e[35;01m'
COLOUR_CYAN=$'\e[36;01m'
COLOUR_BROWN=$'\e[33m'
COLOUR_PURPLE=$'\e[35m'
+COLOUR_DARK_BLUE=$'\e[34m'
if [[ ${PALUDIS_COLOURS} == pink ]]; then
COLOUR_GOOD=${COLOUR_PINK}