aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar David Leverton <levertond@googlemail.com> 2015-11-03 18:12:56 +0000
committerAvatar David Leverton <levertond@googlemail.com> 2015-11-05 17:37:29 +0000
commit3a86159f735692f805001c8885733472d8a44129 (patch)
treebc20c9494ad429462a4c6c31d13ba49486ab5261
parent8ebd4aced7665928454a498988727a4d156484b2 (diff)
downloadpaludis-3a86159f735692f805001c8885733472d8a44129.tar.gz
paludis-3a86159f735692f805001c8885733472d8a44129.tar.xz
EAPI 6 default_src_install uses einstalldocs
-rw-r--r--paludis/repositories/e/e_repository_TEST_5.cc9
-rwxr-xr-xpaludis/repositories/e/e_repository_TEST_5_setup.sh35
-rw-r--r--paludis/repositories/e/e_repository_TEST_6.cc9
-rwxr-xr-xpaludis/repositories/e/e_repository_TEST_6_setup.sh35
-rw-r--r--paludis/repositories/e/ebuild/6/Makefile.am3
-rw-r--r--paludis/repositories/e/ebuild/6/src_install.bash67
6 files changed, 157 insertions, 1 deletions
diff --git a/paludis/repositories/e/e_repository_TEST_5.cc b/paludis/repositories/e/e_repository_TEST_5.cc
index 7478d68..238bab2 100644
--- a/paludis/repositories/e/e_repository_TEST_5.cc
+++ b/paludis/repositories/e/e_repository_TEST_5.cc
@@ -330,6 +330,15 @@ TEST(ERepository, InstallEAPI5)
EXPECT_EQ("5", visitor_cast<const MetadataValueKey<std::string> >(**id->find_metadata("EAPI"))->parse_value());
id->perform_action(action);
}
+
+ {
+ const std::shared_ptr<const PackageID> id(*env[selection::RequireExactlyOne(generator::Matches(
+ PackageDepSpec(parse_user_package_dep_spec("=cat/default_src_install-5",
+ &env, { })), nullptr, { }))]->last());
+ ASSERT_TRUE(bool(id));
+ EXPECT_EQ("5", visitor_cast<const MetadataValueKey<std::string> >(**id->find_metadata("EAPI"))->parse_value());
+ id->perform_action(action);
+ }
}
TEST(ERepository, RequiredUse)
diff --git a/paludis/repositories/e/e_repository_TEST_5_setup.sh b/paludis/repositories/e/e_repository_TEST_5_setup.sh
index d0ef2f2..aa68a27 100755
--- a/paludis/repositories/e/e_repository_TEST_5_setup.sh
+++ b/paludis/repositories/e/e_repository_TEST_5_setup.sh
@@ -633,6 +633,41 @@ src_install() {
}
END
+mkdir -p "cat/default_src_install" || exit 1
+cat << 'END' > cat/default_src_install/default_src_install-5.ebuild || exit 1
+EAPI="5"
+DESCRIPTION="The Description"
+HOMEPAGE="http://example.com/"
+SRC_URI=""
+SLOT="0"
+IUSE=""
+LICENSE="GPL-2"
+KEYWORDS="test"
+
+S=${WORKDIR}
+
+src_unpack() {
+ echo testing.txt >testing.txt || die
+ echo testing.html >testing.html || die
+ cat <<'EOF' >Makefile || die
+all: ; echo monkey
+install: ; echo monkey >$(DESTDIR)/monkey
+EOF
+}
+
+DOCS="testing.txt"
+HTML_DOCS="testing.html"
+
+pkg_preinst() {
+ [[ -f ${D}/monkey ]] || die monkey
+ d=${D}/usr/share/doc/${PF}
+ [[ -d ${d} ]] || die ${d}
+ [[ -f ${d}/testing.txt ]] || die testing.txt
+ [[ -d ${d}/html ]] && die html
+ [[ -f ${d}/html/testing.html ]] && die html/testing.html
+}
+END
+
mkdir -p "cat/subslots" || exit 1
cat << 'END' > cat/subslots/subslots-5.ebuild || exit 1
EAPI="5"
diff --git a/paludis/repositories/e/e_repository_TEST_6.cc b/paludis/repositories/e/e_repository_TEST_6.cc
index 64cab2a..23f23a0 100644
--- a/paludis/repositories/e/e_repository_TEST_6.cc
+++ b/paludis/repositories/e/e_repository_TEST_6.cc
@@ -535,5 +535,14 @@ TEST(ERepository, InstallEAPI6)
EXPECT_EQ("6", visitor_cast<const MetadataValueKey<std::string> >(**id->find_metadata("EAPI"))->parse_value());
id->perform_action(action);
}
+
+ {
+ const std::shared_ptr<const PackageID> id(*env[selection::RequireExactlyOne(generator::Matches(
+ PackageDepSpec(parse_user_package_dep_spec("=cat/default_src_install-6",
+ &env, { })), nullptr, { }))]->last());
+ ASSERT_TRUE(bool(id));
+ EXPECT_EQ("6", visitor_cast<const MetadataValueKey<std::string> >(**id->find_metadata("EAPI"))->parse_value());
+ id->perform_action(action);
+ }
}
diff --git a/paludis/repositories/e/e_repository_TEST_6_setup.sh b/paludis/repositories/e/e_repository_TEST_6_setup.sh
index 38073db..99ee7e0 100755
--- a/paludis/repositories/e/e_repository_TEST_6_setup.sh
+++ b/paludis/repositories/e/e_repository_TEST_6_setup.sh
@@ -1284,5 +1284,40 @@ src_install() {
}
END
+mkdir -p "cat/default_src_install" || exit 1
+cat << 'END' > cat/default_src_install/default_src_install-6.ebuild || exit 1
+EAPI="6"
+DESCRIPTION="The Description"
+HOMEPAGE="http://example.com/"
+SRC_URI=""
+SLOT="0"
+IUSE=""
+LICENSE="GPL-2"
+KEYWORDS="test"
+
+S=${WORKDIR}
+
+src_unpack() {
+ echo testing.txt >testing.txt || die
+ echo testing.html >testing.html || die
+ cat <<'EOF' >Makefile || die
+all: ; echo monkey
+install: ; echo monkey >$(DESTDIR)/monkey
+EOF
+}
+
+DOCS="testing.txt"
+HTML_DOCS="testing.html"
+
+pkg_preinst() {
+ [[ -f ${D}/monkey ]] || die monkey
+ d=${D}/usr/share/doc/${PF}
+ [[ -d ${d} ]] || die ${d}
+ [[ -f ${d}/testing.txt ]] || die testing.txt
+ [[ -d ${d}/html ]] || die html
+ [[ -f ${d}/html/testing.html ]] || die html/testing.html
+}
+END
+
cd ..
cd ..
diff --git a/paludis/repositories/e/ebuild/6/Makefile.am b/paludis/repositories/e/ebuild/6/Makefile.am
index ed6861b..6c9ad46 100644
--- a/paludis/repositories/e/ebuild/6/Makefile.am
+++ b/paludis/repositories/e/ebuild/6/Makefile.am
@@ -8,7 +8,8 @@ libexecprog6_SCRIPTS = \
build_functions.bash \
list_functions.bash \
multilib_functions.bash \
- output_functions.bash
+ output_functions.bash \
+ src_install.bash
TESTS =
check_SCRIPTS = $(TESTS)
diff --git a/paludis/repositories/e/ebuild/6/src_install.bash b/paludis/repositories/e/ebuild/6/src_install.bash
new file mode 100644
index 0000000..19ab819
--- /dev/null
+++ b/paludis/repositories/e/ebuild/6/src_install.bash
@@ -0,0 +1,67 @@
+#!/usr/bin/env bash
+# vim: set sw=4 sts=4 et :
+
+# Copyright (c) 2006, 2007, 2009 Ciaran McCreesh
+# Copyright (c) 2015 David Leverton
+#
+# Based in part upon ebuild.sh from Portage, which is Copyright 1995-2005
+# Gentoo Foundation and distributed under the terms of the GNU General
+# Public License v2.
+#
+# 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
+
+default_src_install()
+{
+ if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; then
+ emake DESTDIR="${D}" install
+ fi
+ einstalldocs
+}
+
+src_install()
+{
+ default_src_install
+}
+
+ebuild_f_install()
+{
+ if [[ -d "${S}" ]] ; then
+ cd "${S}" || die "cd to \${S} (\"${S}\") failed"
+ elif [[ -n "${PALUDIS_NO_S_WORKDIR_FALLBACK}" ]] ; then
+ die "\${S} (\"${S}\") does not exist"
+ elif [[ -d "${WORKDIR}" ]] ; then
+ cd "${WORKDIR}" || die "cd to \${WORKDIR} (\"${WORKDIR}\") failed"
+ fi
+
+ if hasq "install" ${SKIP_FUNCTIONS} ; then
+ ebuild_section "Skipping src_install (SKIP_FUNCTIONS)"
+ else
+ if [[ $(type -t pre_src_install ) == "function" ]] ; then
+ ebuild_section "Starting pre_src_install"
+ pre_src_install
+ ebuild_section "Done pre_src_install"
+ fi
+
+ ebuild_section "Starting src_install"
+ src_install
+ ebuild_section "Done src_install"
+
+ if [[ $(type -t post_src_install ) == "function" ]] ; then
+ ebuild_section "Starting post_src_install"
+ post_src_install
+ ebuild_section "Done post_src_install"
+ fi
+ fi
+}
+