summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas K. Hüttel <dilfridge@gentoo.org>2015-12-19 18:50:00 +0100
committerAndreas K. Hüttel <dilfridge@gentoo.org>2015-12-19 18:50:00 +0100
commitdc858f6a75f94c0a1b3d6e5c6e83a874e8b57d8b (patch)
treeda1d7742c356134218842c361ff5458a01621669 /eclass/perl-functions.eclass
parentperl-module.eclass: style (diff)
downloadgentoo-dc858f6a75f94c0a1b3d6e5c6e83a874e8b57d8b.tar.gz
gentoo-dc858f6a75f94c0a1b3d6e5c6e83a874e8b57d8b.tar.bz2
gentoo-dc858f6a75f94c0a1b3d6e5c6e83a874e8b57d8b.zip
perl-module.eclass and perl-functions.eclass: Add infrastructure to build .packlist files and keep/fix them in EAPI=6
Diffstat (limited to 'eclass/perl-functions.eclass')
-rw-r--r--eclass/perl-functions.eclass35
1 files changed, 32 insertions, 3 deletions
diff --git a/eclass/perl-functions.eclass b/eclass/perl-functions.eclass
index c38ed6c4a65..75684731836 100644
--- a/eclass/perl-functions.eclass
+++ b/eclass/perl-functions.eclass
@@ -106,17 +106,46 @@ perl_delete_packlist() {
debug-print-function $FUNCNAME "$@"
perl_set_version
if [[ -d ${D}/${VENDOR_ARCH} ]] ; then
- find "${D}/${VENDOR_ARCH}" -type f -a \( -name .packlist \
- -o \( -name '*.bs' -a -empty \) \) -delete
+ find "${D}/${VENDOR_ARCH}" -type f -a -name .packlist -delete
+ perl_delete_emptybsdir
+ fi
+}
+
+# @FUNCTION: perl_delete_emptybsdir
+# @USAGE: perl_delete_emptybsdir
+# @DESCRIPTION:
+# Look through ${D} for empty .bs files and empty directories,
+# and get rid of items found.
+perl_delete_emptybsdir() {
+ debug-print-function $FUNCNAME "$@"
+ perl_set_version
+ if [[ -d ${D}/${VENDOR_ARCH} ]] ; then
+ find "${D}/${VENDOR_ARCH}" -type f \
+ -a -name '*.bs' -a -empty -delete
find "${D}" -depth -mindepth 1 -type d -empty -delete
fi
}
+# @FUNCTION: perl_fix_packlist
+# @USAGE: perl_fix_packlist
+# @DESCRIPTION:
+# Look through ${D} for .packlist text files containing the temporary installation
+# folder (i.e. ${D}). If the pattern is found, silently replace it with `/'.
+perl_fix_packlist() {
+ debug-print-function $FUNCNAME "$@"
+
+ find "${D}" -type f -name '.packlist' -print0 | while read -rd '' f ; do
+ if file "${f}" | grep -q -i " text" ; then
+ sed -i -e "s:${D}:/:g" "${f}"
+ fi
+ done
+}
+
# @FUNCTION: perl_remove_temppath
# @USAGE: perl_remove_temppath
# @DESCRIPTION:
# Look through ${D} for text files containing the temporary installation
-# folder (i.e. ${D}). If the pattern is found (i.e. " text"), replace it with `/'.
+# folder (i.e. ${D}). If the pattern is found, replace it with `/' and warn.
perl_remove_temppath() {
debug-print-function $FUNCNAME "$@"