perl: remove the previous version of the recipe

(From OE-Core rev: 68552c353255188de3d5b42135360a30e7eac535)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexander Kanavin
2018-12-02 12:46:37 +01:00
committed by Richard Purdie
parent ead379657b
commit 00b9e7011e
84 changed files with 0 additions and 8459 deletions

View File

@@ -1,141 +0,0 @@
require perl.inc
# We need gnugrep (for -I)
DEPENDS = "db-native grep-native gdbm-native zlib-native"
EXTRA_OEMAKE = "-e MAKEFLAGS="
SRC_URI += "\
file://Configure-multilib.patch \
file://perl-configpm-switch.patch \
file://native-nopacklist.patch \
file://native-perlinc.patch \
file://MM_Unix.pm.patch \
file://debian/errno_ver.diff \
file://dynaloaderhack.patch \
file://perl-PathTools-don-t-filter-out-blib-from-INC.patch \
file://0001-Configure-Remove-fstack-protector-strong-for-native-.patch \
file://perl-5.26.1-guard_old_libcrypt_fix.patch \
file://0001-ExtUtils-MM_Unix.pm-fix-race-issues.patch \
file://0001-Makefile.SH-Pod-Simple-requires-Getopt-Long.patch \
"
SRC_URI[md5sum] = "04622bc4d3941dc7eb571c52b7c02993"
SRC_URI[sha256sum] = "7f080287ff64750270689843ae945f02159a33cb8f2fc910248c15befba5db84"
inherit native
NATIVE_PACKAGE_PATH_SUFFIX = "/${PN}"
export LD="${CCLD}"
do_configure () {
./Configure \
-Dcc="${CC}" \
-Dcflags="${CFLAGS}" \
-Dldflags="${LDFLAGS}" \
-Dlddlflags="${LDFLAGS} -shared" \
-Dcf_by="Open Embedded" \
-Dprefix=${prefix} \
-Dvendorprefix=${prefix} \
-Dsiteprefix=${prefix} \
\
-Dbin=${STAGING_BINDIR}/${PN} \
-Dprivlib=${STAGING_LIBDIR}/perl/${PV} \
-Darchlib=${STAGING_LIBDIR}/perl/${PV} \
-Dvendorlib=${STAGING_LIBDIR}/perl/vendor_perl/${PV} \
-Dvendorarch=${STAGING_LIBDIR}/perl/vendor_perl/${PV} \
-Dsitelib=${STAGING_LIBDIR}/perl/site_perl/${PV} \
-Dsitearch=${STAGING_LIBDIR}/perl/site_perl/${PV} \
\
-Duseshrplib \
-Dusethreads \
-Duseithreads \
-Duselargefiles \
-Dnoextensions=ODBM_File \
-Ud_dosuid \
-Ui_db \
-Ui_ndbm \
-Ui_gdbm \
-Ui_gdbm_ndbm \
-Ui_gdbmndbm \
-Di_shadow \
-Di_syslog \
-Duseperlio \
-Dman3ext=3pm \
-Dsed=/bin/sed \
-Uafs \
-Ud_csh \
-Uusesfio \
-Uusenm -des
}
do_install () {
oe_runmake 'DESTDIR=${D}' install
# We need a hostperl link for building perl
ln -sf perl${PV} ${D}${bindir}/hostperl
ln -sf perl ${D}${libdir}/perl5
install -d ${D}${libdir}/perl/${PV}/CORE \
${D}${datadir}/perl/${PV}/ExtUtils
# Save native config
install config.sh ${D}${libdir}/perl
install lib/Config.pm ${D}${libdir}/perl/${PV}/
install lib/ExtUtils/typemap ${D}${libdir}/perl/${PV}/ExtUtils/
# perl shared library headers
# reference perl 5.20.0-1 in debian:
# https://packages.debian.org/experimental/i386/perl/filelist
for i in av.h bitcount.h charclass_invlists.h config.h cop.h cv.h dosish.h \
embed.h embedvar.h EXTERN.h fakesdio.h feature.h form.h git_version.h \
gv.h handy.h hv_func.h hv.h inline.h INTERN.h intrpvar.h iperlsys.h \
keywords.h l1_char_class_tab.h malloc_ctl.h metaconfig.h mg_data.h \
mg.h mg_raw.h mg_vtable.h mydtrace.h nostdio.h opcode.h op.h \
opnames.h op_reg_common.h overload.h pad.h parser.h patchlevel.h \
perlapi.h perl.h perlio.h perliol.h perlsdio.h perlvars.h perly.h \
pp.h pp_proto.h proto.h reentr.h regcharclass.h regcomp.h regexp.h \
regnodes.h scope.h sv.h thread.h time64_config.h time64.h uconfig.h \
unicode_constants.h unixish.h utf8.h utfebcdic.h util.h uudmap.h \
vutil.h warnings.h XSUB.h
do
install $i ${D}${libdir}/perl/${PV}/CORE
done
# Those wrappers mean that perl installed from sstate (which may change
# path location) works and that in the nativesdk case, the SDK can be
# installed to a different location from the one it was built for.
create_wrapper ${D}${bindir}/perl PERL5LIB='$PERL5LIB:${STAGING_LIBDIR}/perl/site_perl/${PV}:${STAGING_LIBDIR}/perl/vendor_perl/${PV}:${STAGING_LIBDIR}/perl/${PV}'
create_wrapper ${D}${bindir}/perl${PV} PERL5LIB='$PERL5LIB:${STAGING_LIBDIR}/perl/site_perl/${PV}:${STAGING_LIBDIR}/perl/vendor_perl/${PV}:${STAGING_LIBDIR}/perl/${PV}'
# Use /usr/bin/env nativeperl for the perl script.
for f in `grep -Il '#! *${bindir}/perl' ${D}/${bindir}/*`; do
sed -i -e 's|${bindir}/perl|/usr/bin/env nativeperl|' $f
done
# The packlist is large with hardcoded paths meaning it needs relocating
# so just remove it.
rm ${D}${libdir}/perl/${PV}/.packlist
}
SYSROOT_PREPROCESS_FUNCS += "perl_sysroot_create_wrapper"
perl_sysroot_create_wrapper () {
mkdir -p ${SYSROOT_DESTDIR}${bindir}
# Create a wrapper that /usr/bin/env perl will use to get perl-native.
# This MUST live in the normal bindir.
cat > ${SYSROOT_DESTDIR}${bindir}/../nativeperl << EOF
#!/bin/sh
realpath=\`readlink -fn \$0\`
exec \`dirname \$realpath\`/perl-native/perl "\$@"
EOF
chmod 0755 ${SYSROOT_DESTDIR}${bindir}/../nativeperl
cat ${SYSROOT_DESTDIR}${bindir}/../nativeperl
}
# Fix the path in sstate
SSTATE_SCAN_FILES += "*.pm *.pod *.h *.pl *.sh"
PACKAGES_DYNAMIC_class-native = "^perl-module-.*native$"

View File

@@ -1,57 +0,0 @@
inherit ptest
SRC_URI += "file://run-ptest \
"
do_install_ptest () {
mkdir -p ${D}${PTEST_PATH}
sed -e "s:\/usr\/local:${bindir}:g" -i cpan/version/t/*
sed -e "s:\/opt:\/usr:" -i Porting/add-package.pl
sed -e "s:\/local\/gnu\/:\/:" -i hints/cxux.sh
tar -c --exclude='*.o' --exclude=libperl.so --exclude=Makefile --exclude=makefile --exclude=hostperl \
--exclude=cygwin --exclude=os2 --exclude=djgpp --exclude=qnx --exclude=symbian --exclude=haiku \
--exclude=vms --exclude=vos --exclude=NetWare --exclude=amigaos4 --exclude=buildcustomize.pl \
--exclude='win32/config.*' --exclude=plan9 --exclude=README.plan9 --exclude=perlplan9.pod --exclude=Configure \
--exclude=veryclean.sh --exclude=realclean.sh --exclude=getioctlsizes \
--exclude=dl_aix.xs --exclude=sdbm.3 --exclude='cflags.SH' --exclude=makefile.old \
--exclude=miniperl --exclude=generate_uudmap --exclude=patches * | ( cd ${D}${PTEST_PATH} && tar -x )
ln -sf ${bindir}/perl ${D}${PTEST_PATH}/t/perl
# Remove build host references from various scattered files...
find "${D}${PTEST_PATH}" \
\( -name '*.PL' -o -name 'myconfig' -o -name 'cflags' -o -name '*.pl' -o -name '*.sh' -o -name '*.pm' \
-o -name 'h2xs' -o -name 'h2ph' \
-o -name '*.h' -o -name 'config.sh-*' -o -name 'pod2man' -o -name 'pod2text' \) \
-type f -exec sed -i \
-e "s,${D},,g" \
-e "s,--sysroot=${STAGING_DIR_HOST},,g" \
-e "s,-isystem${STAGING_INCDIR} ,,g" \
-e 's|${DEBUG_PREFIX_MAP}||g' \
-e "s,${STAGING_BINDIR_NATIVE}/perl-native/,${bindir}/,g" \
-e "s,${STAGING_LIBDIR},${libdir},g" \
-e "s,${STAGING_BINDIR},${bindir},g" \
-e "s,${STAGING_INCDIR},${includedir},g" \
-e "s,${STAGING_BINDIR_NATIVE}/,,g" \
-e "s,${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX},${bindir},g" \
-e 's:${RECIPE_SYSROOT_NATIVE}::g' \
-e 's:${RECIPE_SYSROOT}::g' \
{} +
# Remove a useless timestamp...
sed -i -e '/Autogenerated starting on/d' ${D}${PTEST_PATH}/lib/unicore/mktables.lst
}
python populate_packages_prepend() {
# Put all *.t files from the lib dir in the ptest package
# do_split_packages requires a pair of () in the regex, but we have nothing
# to match, so use an empty pair.
if bb.utils.contains('DISTRO_FEATURES', 'ptest', True, False, d):
do_split_packages(d, d.expand('${libdir}/perl/${PV}'), '.*\.t()',
'${PN}-ptest%s', '%s', recursive=True, match_path=True)
}
RDEPENDS_${PN}-ptest += "${PN}-modules ${PN}-doc ${PN}-misc sed"
# The perl-ptest package contains Perl internal modules and generating file
# dependencies for it causes problems.
SKIP_FILEDEPS_${PN}-ptest = '1'

File diff suppressed because it is too large Load Diff

View File

@@ -1,10 +0,0 @@
SUMMARY = "Perl scripting language"
HOMEPAGE = "http://www.perl.org/"
SECTION = "devel"
LICENSE = "Artistic-1.0 | GPL-1.0+"
LIC_FILES_CHKSUM = "file://Copying;md5=5b122a36d0f6dc55279a0ebc69f3c60b \
file://Artistic;md5=2e6fd2475335af892494fe1f7327baf3"
SRC_URI = "http://www.cpan.org/src/5.0/${BP}.tar.xz"
inherit upstream-version-is-even

View File

@@ -1,103 +0,0 @@
Some distributions (like opensuse421) supported by the project
comes with older gcc releases, -fstack-protector=strong is supported
by GCC>=4.9.
This causes a build failure when install perl-native from a sstate that
comes from a machine supporting -fstack-protector=strong [1].
So disable usage of this flag in perl-native builds, this patch could
be removed when all supported distros comes with GCC>=4.9.
[YOCTO #10338]
Upstream-Status: Inappropriate [configuration]
[1] http://errors.yoctoproject.org/Errors/Details/109589/
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
---
Configure | 54 ------------------------------------------------------
1 file changed, 54 deletions(-)
diff --git a/Configure b/Configure
index efbdcfd..d5bd98c 100755
--- a/Configure
+++ b/Configure
@@ -5468,30 +5468,6 @@ default|recommended)
eval $checkccflag
;;
esac
-
- # on x86_64 (at least) we require an extra library (libssp) in the
- # link command line. This library is not named, so I infer that it is
- # an implementation detail that may change. Hence the safest approach
- # is to add the flag to the flags passed to the compiler at link time,
- # as that way the compiler can do the right implementation dependant
- # thing. (NWC)
- case "$osname" in
- amigaos) ;; # -fstack-protector builds but doesn't work
- *) case "$gccversion" in
- ?*) set stack-protector-strong -fstack-protector-strong
- eval $checkccflag
- case "$dflt" in
- *-fstack-protector-strong*) ;; # It got added.
- *) # Try the plain/older -fstack-protector.
- set stack-protector -fstack-protector
- eval $checkccflag
- ;;
- esac
- ;;
- esac
- ;;
- esac
- ;;
esac
case "$mips_type" in
@@ -5634,21 +5610,6 @@ case "$ldflags" in
;;
*) dflt="$ldflags";;
esac
-# See note above about -fstack-protector
-case "$ccflags" in
-*-fstack-protector-strong*)
- case "$dflt" in
- *-fstack-protector-strong*) ;; # Don't add it again
- *) dflt="$dflt -fstack-protector-strong" ;;
- esac
- ;;
-*-fstack-protector*)
- case "$dflt" in
- *-fstack-protector*) ;; # Don't add it again
- *) dflt="$dflt -fstack-protector" ;;
- esac
- ;;
-esac
: Try to guess additional flags to pick up local libraries.
for thislibdir in $libpth; do
@@ -8571,21 +8532,6 @@ EOM
''|' ') dflt='none' ;;
esac
- case "$ldflags" in
- *-fstack-protector-strong*)
- case "$dflt" in
- *-fstack-protector-strong*) ;; # Don't add it again
- *) dflt="$dflt -fstack-protector-strong" ;;
- esac
- ;;
- *-fstack-protector*)
- case "$dflt" in
- *-fstack-protector*) ;; # Don't add it again
- *) dflt="$dflt -fstack-protector" ;;
- esac
- ;;
- esac
-
rp="Any special flags to pass to $ld to create a dynamically loaded library?"
. ./myread
case "$ans" in
--
2.1.4

View File

@@ -1,52 +0,0 @@
From 40702abf3156fa92ef70ee5d445fe52dd6cfbc7d Mon Sep 17 00:00:00 2001
From: Robert Yang <liezhi.yang@windriver.com>
Date: Thu, 20 Sep 2018 18:48:48 +0800
Subject: [PATCH] ExtUtils/MM_Unix.pm: fix race issues
Fixed a race issue when compile libhtml-parser-perl and others who use MakeMaker:
[snip]
chmod 755 blib/arch/auto/HTML/Parser/Parser.so
chmod 644 "Parser.bs"
[snip]
The rule INST_DYNAMIC removes '.bs' file which are generated by BOOTSTRAP, but
the have no dependencies, so there is a race issue:
BOOTSTRAP:
touch foo.bs
chmod 755 foo.bs
INST_DYNAMIC:
rm -fr foo.bs
The error would happen when INST_DYNAMIC removes foo.bs after BOOTSTRAP touched
it but before chmod on it.
Upstream-Status: Backport [https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/commit/44e95e717372abe2b0a6ee55de4b686760b65360]
Note, This is not a real backport, upstream has totally refactored it in one
patch, please see the link above, it's not a good idea to backport such a big
patch, I just referred it to fix the problem in a simple way. I mark it as
backport is because we can drop the patch after upgrade perl to 5.26 or 5.28.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
index 95d9761..9cabe2d 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
@@ -933,7 +933,7 @@ OTHERLDFLAGS = '.$ld_opt.$otherldflags.'
INST_DYNAMIC_DEP = '.$inst_dynamic_dep.'
INST_DYNAMIC_FIX = '.$ld_fix.'
-$(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(INST_ARCHAUTODIR)$(DFSEP).exists $(EXPORT_LIST) $(PERL_ARCHIVEDEP) $(PERL_ARCHIVE_AFTER) $(INST_DYNAMIC_DEP)
+$(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(INST_ARCHAUTODIR)$(DFSEP).exists $(EXPORT_LIST) $(PERL_ARCHIVEDEP) $(PERL_ARCHIVE_AFTER) $(INST_DYNAMIC_DEP) $(BOOTSTRAP)
');
if ($armaybe ne ':'){
$ldfrom = 'tmp$(LIB_EXT)';
--
2.7.4

View File

@@ -1,126 +0,0 @@
From ba6733216202523a95b0b7ee2e534b8e30b6d7df Mon Sep 17 00:00:00 2001
From: Dominic Hargreaves <dom@earth.li>
Date: Sat, 14 Oct 2017 16:27:53 +0200
Subject: [PATCH] Skip various tests if PERL_BUILD_PACKAGING is set
These are tests which tend not to be useful for downstream packagers
t/porting/customized.t change originally from Todd Rinaldo
Upstream-Status: Backport[https://perl5.git.perl.org/perl.git/ba6733216202523a95b0b7ee2e534b8e30b6d7df]
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
INSTALL | 3 ++-
MANIFEST | 1 +
PACKAGING | 30 ++++++++++++++++++++++++++++++
regen/lib_cleanup.pl | 5 +++++
t/porting/customized.t | 1 +
t/test.pl | 3 +++
6 files changed, 42 insertions(+), 1 deletion(-)
create mode 100644 PACKAGING
diff --git a/INSTALL b/INSTALL
index 636f4bd52f..1285fc69a2 100644
--- a/INSTALL
+++ b/INSTALL
@@ -2714,4 +2714,5 @@ This document is part of the Perl package and may be distributed under
the same terms as perl itself, with the following additional request:
If you are distributing a modified version of perl (perhaps as part of
a larger package) please B<do> modify these installation instructions
-and the contact information to match your distribution.
+and the contact information to match your distribution. Additional
+information for packagers is in F<PACKAGING>.
diff --git a/MANIFEST b/MANIFEST
index b3207030a9..32de824ca1 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -4932,6 +4932,7 @@ os2/perlrexx.c Support perl interpreter embedded in REXX
os2/perlrexx.cmd Test perl interpreter embedded in REXX
overload.h generated overload enum (public)
overload.inc generated overload name table (implementation)
+PACKAGING notes and best practice for packaging perl 5
packsizetables.inc The generated packprops array used in pp_pack.c
pad.c Scratchpad functions
pad.h Scratchpad headers
diff --git a/PACKAGING b/PACKAGING
new file mode 100644
index 0000000000..0c69b87ba6
--- /dev/null
+++ b/PACKAGING
@@ -0,0 +1,30 @@
+If you read this file _as_is_, just ignore the funny characters you
+see. It is written in the POD format (see pod/perlpod.pod) which is
+specifically designed to be readable as is.
+
+=head1 NAME
+
+PACKAGING - notes and best practice for packaging perl 5
+
+=head1 SYNOPSIS
+
+This document is aimed at anyone who is producing their own version of
+perl for distribution to other users. It is intended as a collection
+of useful tips, advice and best practice, rather than being a complete
+packaging manual. The starting point for installing perl remains
+F<INSTALL>.
+
+=head1 Customizing test running
+
+A small number of porting tests (those in t/porting) are not well suited
+to typical distribution packaging scenarios. For example, they assume
+they are working in a git clone of the upstream Perl repository, or
+enforce rules which are not relevant to downstream packagers. These can
+be skipped by setting the environment variable PERL_BUILD_PACKAGING.
+A complete list of tests which this applied to can be found by searching
+the codebase for this string.
+
+An alternative strategy would be to skip all porting tests, but many of
+them are useful if additional patches might be applied.
+
+=cut
diff --git a/regen/lib_cleanup.pl b/regen/lib_cleanup.pl
index 5e40b405a4..6caf74a563 100644
--- a/regen/lib_cleanup.pl
+++ b/regen/lib_cleanup.pl
@@ -164,6 +164,11 @@ if ($TAP && !-d '.git' && !-f 'lib/.gitignore') {
exit 0;
}
+if ($ENV{'PERL_BUILD_PACKAGING'}) {
+ print "ok # skip explicitly disabled git tests by PERL_BUILD_PACKAGING\n";
+ exit 0;
+}
+
$fh = open_new('lib/.gitignore', '>',
{ by => $0,
from => 'MANIFEST and parsing files in cpan/ dist/ and ext/'});
diff --git a/t/porting/customized.t b/t/porting/customized.t
index 45fcafb100..5c3739198c 100644
--- a/t/porting/customized.t
+++ b/t/porting/customized.t
@@ -13,6 +13,7 @@ BEGIN {
@INC = qw(lib Porting t);
require 'test.pl';
skip_all("pre-computed SHA1 won't match under EBCDIC") if $::IS_EBCDIC;
+ skip_all("This distro may have modified some files in cpan/. Skipping validation.") if $ENV{'PERL_BUILD_PACKAGING'};
}
use strict;
diff --git a/t/test.pl b/t/test.pl
index 79e6e25e95..1782dcf73c 100644
--- a/t/test.pl
+++ b/t/test.pl
@@ -212,6 +212,9 @@ sub find_git_or_skip {
} else {
$reason = 'not being run from a git checkout';
}
+ if ($ENV{'PERL_BUILD_PACKAGING'}) {
+ $reason = 'PERL_BUILD_PACKAGING is set';
+ }
skip_all($reason) if $_[0] && $_[0] eq 'all';
skip($reason, @_);
}
--
2.17.1

View File

@@ -1,48 +0,0 @@
From ae65651eab053fc6dc4590dbb863a268215c1fc5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
Date: Fri, 8 Jun 2018 11:45:40 +0100
Subject: [PATCH] [PATCH] Remove existing files before overwriting them
Archive should extract only the latest same-named entry.
Extracted regular file should not be writtent into existing block
device (or any other one).
https://rt.cpan.org/Ticket/Display.html?id=125523
CVE: CVE-2018-12015
Upstream-Status: Backport [https://github.com/jib/archive-tar-new/commit/ae65651eab053fc6dc4590dbb863a268215c1fc5]
Signed-off-by: Chris 'BinGOs' Williams <chris@bingosnet.co.uk>
Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
---
lib/Archive/Tar.pm | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/cpan/Archive-Tar/lib/Archive/Tar.pm b/cpan/Archive-Tar/lib/Archive/Tar.pm
index 6244369..a83975f 100644
--- a/cpan/Archive-Tar/lib/Archive/Tar.pm
+++ b/cpan/Archive-Tar/lib/Archive/Tar.pm
@@ -845,6 +845,20 @@ sub _extract_file {
return;
}
+ ### If a file system already contains a block device with the same name as
+ ### the being extracted regular file, we would write the file's content
+ ### to the block device. So remove the existing file (block device) now.
+ ### If an archive contains multiple same-named entries, the last one
+ ### should replace the previous ones. So remove the old file now.
+ ### If the old entry is a symlink to a file outside of the CWD, the new
+ ### entry would create a file there. This is CVE-2018-12015
+ ### <https://rt.cpan.org/Ticket/Display.html?id=125523>.
+ if (-l $full || -e _) {
+ if (!unlink $full) {
+ $self->_error( qq[Could not remove old file '$full': $!] );
+ return;
+ }
+ }
if( length $entry->type && $entry->is_file ) {
my $fh = IO::File->new;
$fh->open( '>' . $full ) or (
--
2.13.3

View File

@@ -1,17 +0,0 @@
Upstream-Status:Pending
Index: perl-5.12.3/Configure
===================================================================
--- perl-5.12.3.orig/Configure
+++ perl-5.12.3/Configure
@@ -1316,8 +1316,9 @@ loclibpth="/usr/local/lib /opt/local/lib
loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib"
: general looking path for locating libraries
-glibpth="/lib /usr/lib $xlibpth"
+glibpth="/lib /usr/lib /lib64 /usr/lib64 $xlibpth"
glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib"
+test -f /usr/lib/*-linux-gnu/libc.so && glibpth="/usr/lib/*-linux-gnu $glibpth"
test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth"
test -f /shlib/libc.so && glibpth="/shlib $glibpth"
test -d /usr/lib64 && glibpth="$glibpth /lib64 /usr/lib64 /usr/local/lib64"

View File

@@ -1,22 +0,0 @@
Upstream-Status:Pending
The perl-native should be relocatable while re-use sstate-cache from
another build, especially the original build was renamed/removed.
To get the MakeMaker.pm works in this case, we need perl wrapper here
instead of real perl binary.
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
===================================================================
--- perl-5.12.3/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm.orig 2011-08-12 16:07:30.000000000 +0800
+++ perl-5.12.3/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm 2011-08-12 16:08:56.000000000 +0800
@@ -1019,6 +1019,9 @@
}
foreach my $name (@$names){
+ # Getting MakeMaker.pm use perl wrapper instead of 'perl.real' directly
+ $name =~ s/perl\.real/perl/ if ($name =~ /perl\.real/);
+
foreach my $dir (@$dirs){
next unless defined $dir; # $self->{PERL_SRC} may be undefined
my ($abs, $val);

View File

@@ -1,383 +0,0 @@
From 4dd9f3f81d8c81c96ff1ea0890ea55685f28b7e9 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Tue, 1 Jul 2014 15:51:53 +0800
Subject: [PATCH 28/49] perl, perl-native, perl-ptest: upgrade from 5.14.3 to
5.20.0
Upstream-Status:Inappropriate [embedded specific]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
Makefile.SH | 147 ++++++++++++++++++++++++++++--------------------------------
1 file changed, 68 insertions(+), 79 deletions(-)
Index: perl-5.24.4/Makefile.SH
===================================================================
--- perl-5.24.4.orig/Makefile.SH
+++ perl-5.24.4/Makefile.SH
@@ -48,10 +48,10 @@ case "$useshrplib" in
true)
# Prefix all runs of 'miniperl' and 'perl' with
# $ldlibpth so that ./perl finds *this* shared libperl.
- case "$LD_LIBRARY_PATH" in
- '') ldlibpth="LD_LIBRARY_PATH=` quote "$pwd" `" ;;
- *) ldlibpth="LD_LIBRARY_PATH=` quote "$pwd" `:` quote "$LD_LIBRARY_PATH" `" ;;
- esac
+ #case "$LD_LIBRARY_PATH" in
+ #'') ldlibpth="LD_LIBRARY_PATH=` quote "$pwd" `" ;;
+ #*) ldlibpth="LD_LIBRARY_PATH=` quote "$pwd" `:` quote "$LD_LIBRARY_PATH" `" ;;
+ #esac
pldlflags="$cccdlflags"
static_ldflags=''
@@ -131,10 +131,11 @@ true)
*)
eval "ldlibpthval=\"\$$ldlibpthname\""
- case "$ldlibpthval" in
- '') ldlibpth="$ldlibpthname=` quote "$pwd" `" ;;
- *) ldlibpth="$ldlibpthname=` quote "$pwd" `:` quote "$ldlibpthval" `" ;;
- esac
+# We compile in the library path in OE from cross-compile, so lets not do this
+# case "$ldlibpthval" in
+# '') ldlibpth="$ldlibpthname=` quote "$pwd" `" ;;
+# *) ldlibpth="$ldlibpthname=` quote "$pwd" `:` quote "$ldlibpthval" `" ;;
+# esac
;;
esac
@@ -150,18 +151,7 @@ true)
# INSTALL file, under "Building a shared perl library".
# If there is no pre-existing $libperl, we don't need
# to do anything further.
- if test -f $archlib/CORE/$libperl; then
- rm -f preload
- cat <<'EOT' > preload
-#! /bin/sh
-lib=$1
-shift
-test -r $lib && export LD_PRELOAD="$lib $LD_PRELOAD"
-exec "$@"
-EOT
- chmod 755 preload
- ldlibpth="$ldlibpth `pwd`/preload `pwd`/$libperl"
- fi
+ echo linux libraries overwritten by cross-compile patches
;;
os390) test -f /bin/env && ldlibpth="/bin/env $ldlibpth"
;;
@@ -596,13 +586,23 @@ splintfiles = $(c1)
@echo `$(CCCMDSRC)` -S $*.c
@`$(CCCMDSRC)` -S $*.c
-all: $(FIRSTMAKEFILE) $(MINIPERL_EXE) $(generated_pods) $(private) $(unidatafiles) $(public) $(dynamic_ext) $(nonxs_ext) extras.make $(MANIFEST_SRT)
- @echo " ";
- @echo " Everything is up to date. Type '$(MAKE) test' to run test suite."
-
-$(MANIFEST_SRT): MANIFEST $(PERL_EXE)
- @$(RUN_PERL) Porting/manisort -q || (echo "WARNING: re-sorting MANIFEST"; \
- $(RUN_PERL) Porting/manisort -q -o MANIFEST; sh -c true)
+#all: $(FIRSTMAKEFILE) $(MINIPERL_EXE) $(generated_pods) $(private) $(unidatafiles) $(public) $(dynamic_ext) $(nonxs_ext) extras.make $(MANIFEST_SRT)
+# @echo " ";
+# @echo " Everything is up to date. Type '$(MAKE) test' to run test suite."
+
+all: $(FIRSTMAKEFILE) $(MINIPERL_EXE) miniperl $(unidatafiles)
+
+more: $(generated_pods) $(private) $(public)
+
+more2: $(dynamic_ext)
+
+more3: $(nonxs_ext)
+
+more4: extras.make $(MANIFEST_SRT)
+
+$(MANIFEST_SRT): MANIFEST
+ @$(MINIPERL) Porting/manisort -q || (echo "WARNING: re-sorting MANIFEST"; \
+ $(MINIPERL) Porting/manisort -q -o MANIFEST; sh -c true)
@touch $(MANIFEST_SRT)
.PHONY: all utilities
@@ -611,7 +611,7 @@ $(MANIFEST_SRT): MANIFEST $(PERL_EXE)
# by make_patchnum.pl.
git_version.h: lib/Config_git.pl
-lib/Config_git.pl: $(MINIPERL_EXE) make_patchnum.pl
+lib/Config_git.pl: make_patchnum.pl
$(MINIPERL) make_patchnum.pl
# make sure that we recompile perl.c if the git version changes
@@ -624,7 +624,7 @@ perl$(OBJ_EXT): git_version.h
# loading, we need to build perl first.
case "$usedl$static_cwd" in
defineundef)
- util_deps='$(MINIPERL_EXE) $(CONFIGPM) lib/auto/Cwd/Cwd$(DLSUFFIX) FORCE'
+ util_deps='$(CONFIGPM) lib/auto/Cwd/Cwd$(DLSUFFIX) FORCE'
;;
definedefine)
util_deps='$(PERL_EXE) $(CONFIGPM) FORCE'
@@ -634,7 +634,7 @@ definedefine)
esac
$spitshell >>$Makefile <<!GROK!THIS!
-utils/Makefile: \$(MINIPERL_EXE) \$(CONFIGPM) utils/Makefile.PL
+utils/Makefile: \$(CONFIGPM) utils/Makefile.PL
\$(MINIPERL) -Ilib utils/Makefile.PL
utilities: utils/Makefile $util_deps
@@ -743,7 +743,7 @@ ext.libs: $(static_ext)
;;
*)
$spitshell >>$Makefile <<'!NO!SUBS!'
-perlmain.c: $(MINIPERL_EXE) ext/ExtUtils-Miniperl/pm_to_blib
+perlmain.c: ext/ExtUtils-Miniperl/lib/ExtUtils/Miniperl.pm
$(MINIPERL) -Ilib -MExtUtils::Miniperl -e 'writemain(\"perlmain.c", @ARGV)' DynaLoader $(static_ext)
# The file ext.libs is a list of libraries that must be linked in
@@ -806,7 +806,7 @@ PERLEXPORT = perl.exp
;;
esac
$spitshell >>$Makefile <<'!NO!SUBS!'
-perl.exp: $(MINIPERLEXP) makedef.pl $(CONFIGPM) $(SYM) $(SYMH)
+perl.exp: makedef.pl $(CONFIGPM) $(SYM) $(SYMH)
./$(MINIPERLEXP) makedef.pl --sort-fold PLATFORM=aix CC_FLAGS="$(OPTIMIZE)" > perl.exp
!NO!SUBS!
@@ -815,7 +815,7 @@ os2)
$spitshell >>$Makefile <<'!NO!SUBS!'
MINIPERLEXP = miniperl
-perl5.def: $(MINIPERLEXP) makedef.pl $(CONFIGPM) $(SYM) $(SYMH) miniperl.map
+perl5.def: makedef.pl $(CONFIGPM) $(SYM) $(SYMH) miniperl.map
./$(MINIPERLEXP) makedef.pl PLATFORM=os2 -DPERL_DLL=$(PERL_DLL) CC_FLAGS="$(OPTIMIZE)" > perl5.def
!NO!SUBS!
@@ -878,7 +878,7 @@ $(LIBPERL): $& $(perllib_objs) $(DYNALOA
true)
$spitshell >>$Makefile <<'!NO!SUBS!'
rm -f $@
- $(LD) -o $@ $(SHRPLDFLAGS) $(perllib_objs) $(DYNALOADER) $(libs)
+ $(LD) -o $@ $(SHRPLDFLAGS) $(perllib_objs) $(DYNALOADER) $(libs) -Wl,-soname,libperl.so.5
!NO!SUBS!
case "$osname" in
aix)
@@ -936,15 +936,19 @@ lib/buildcustomize.pl: $& $(miniperl_obj
$spitshell >>$Makefile <<'!NO!SUBS!'
lib/buildcustomize.pl: $& $(miniperl_objs)
$(CC) -o $(MINIPERL_EXE) $(CLDFLAGS) $(miniperl_objs) $(libs)
- $(LDLIBPTH) ./miniperl$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1'
+ mv -f miniperl miniperl-target
+ ln -s hostperl miniperl
+ #$(LDLIBPTH) ./miniperl$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1'
$(MINIPERL) -f write_buildcustomize.pl
!NO!SUBS!
;;
next4*)
$spitshell >>$Makefile <<'!NO!SUBS!'
lib/buildcustomize.pl: $& $(miniperl_objs) write ldcustomize.pl
- $(CC) -o $(MINIPERL_EXE) $(miniperl_objs libs)
- $(LDLIBPTH) ./miniperl$(HOST _EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1'
+ $(CC) -o $(MINIPERL_EXE) $(miniperl_objs libs)
+ mv -f miniperl miniperl-target
+ ln -s hostperl miniperl
+ #$(LDLIBPTH) ./miniperl$(HOST _EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1'
$(MINIPERL) -f write_buildcustomize.pl
!NO!SUBS!
;;
@@ -966,7 +970,9 @@ lib/buildcustomize.pl: $& $(miniperl_obj
-@rm -f miniperl.xok
$(CC) $(CLDFLAGS) $(NAMESPACEFLAGS) -o $(MINIPERL_EXE) \
$(miniperl_objs) $(libs)
- $(LDLIBPTH) ./miniperl$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1'
+ mv -f miniperl miniperl-target
+ ln -s hostperl miniperl
+ #$(LDLIBPTH) ./miniperl$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1'
$(MINIPERL) -f write_buildcustomize.pl
!NO!SUBS!
;;
@@ -977,7 +983,9 @@ lib/buildcustomize.pl: \$& \$(miniperl_o
-@rm -f miniperl.xok
-@rm \$(MINIPERL_EXE)
\$(LNS) \$(HOST_PERL) \$(MINIPERL_EXE)
- \$(LDLIBPTH) ./miniperl\$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1'
+ mv -f miniperl miniperl-target
+ ln -s hostperl miniperl
+ #\$(LDLIBPTH) ./miniperl\$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1'
\$(MINIPERL) -f write_buildcustomize.pl 'osname' "$osname"
!GROK!THIS!
else
@@ -986,7 +994,9 @@ lib/buildcustomize.pl: $& $(miniperl_obj
-@rm -f miniperl.xok
$(CC) $(CLDFLAGS) -o $(MINIPERL_EXE) \
$(miniperl_objs) $(libs)
- $(LDLIBPTH) ./miniperl$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1'
+ mv -f miniperl miniperl-target
+ ln -s hostperl miniperl
+ #$(LDLIBPTH) ./miniperl$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1'
$(MINIPERL) -f write_buildcustomize.pl
!NO!SUBS!
fi
@@ -1036,7 +1046,7 @@ case "${osname}" in
catamount)
$spitshell >>$Makefile <<!GROK!THIS!
.PHONY: makeppport
-makeppport: \$(MINIPERL_EXE) \$(CONFIGPM)
+makeppport: \$(CONFIGPM)
-@for f in Makefile.PL PPPort_pm.PL PPPort_xs.PL ppport_h.PL; do \
(cd ext/Devel-PPPort && `pwd`/run.sh ../../$(MINIPERL_EXE) -I../../lib \$\$f); \
done
@@ -1046,7 +1056,7 @@ makeppport: \$(MINIPERL_EXE) \$(CONFIGPM
*)
$spitshell >>$Makefile <<'!NO!SUBS!'
.PHONY: makeppport
-makeppport: $(MINIPERL_EXE) $(CONFIGPM) $(nonxs_ext)
+makeppport: $(CONFIGPM) $(nonxs_ext)
$(MINIPERL) mkppport
!NO!SUBS!
@@ -1056,16 +1066,16 @@ esac
$spitshell >>$Makefile <<'!NO!SUBS!'
.PHONY: preplibrary
-preplibrary: $(MINIPERL_EXE) $(CONFIGPM) $(PREPLIBRARY_LIBPERL)
+preplibrary: $(CONFIGPM) $(PREPLIBRARY_LIBPERL)
$(CONFIGPM_FROM_CONFIG_SH): $(CONFIGPOD)
-$(CONFIGPOD): config.sh $(MINIPERL_EXE) configpm Porting/Glossary lib/Config_git.pl
+$(CONFIGPOD): config.sh configpm Porting/Glossary lib/Config_git.pl
$(MINIPERL) configpm
unidatafiles $(unidatafiles) pod/perluniprops.pod: uni.data
-uni.data: $(MINIPERL_EXE) $(CONFIGPM) lib/unicore/mktables $(nonxs_ext)
+uni.data: $(CONFIGPM) lib/unicore/mktables $(nonxs_ext)
$(MINIPERL) lib/unicore/mktables -C lib/unicore -P pod -maketest -makelist -p
# Commented out so always runs, mktables looks at far more files than we
# can in this makefile to decide if needs to run or not
@@ -1074,12 +1084,12 @@ uni.data: $(MINIPERL_EXE) $(CONFIGPM) li
# $(PERL_EXE) and ext because pod_lib.pl needs Digest::MD5
# But also this ensures that all extensions are built before we try to scan
# them, which picks up Devel::PPPort's documentation.
-pod/perltoc.pod: $(perltoc_pod_prereqs) $(PERL_EXE) $(ext) pod/buildtoc
- $(RUN_PERL) -f pod/buildtoc -q
+pod/perltoc.pod: $(perltoc_pod_prereqs) $(ext) pod/buildtoc
+ $(MINIPERL) -f pod/buildtoc -q
pod/perlapi.pod: pod/perlintern.pod
-pod/perlintern.pod: $(MINIPERL_EXE) autodoc.pl embed.fnc
+pod/perlintern.pod: autodoc.pl embed.fnc
$(MINIPERL) autodoc.pl
pod/perlmodlib.pod: $(MINIPERL_EXE) pod/perlmodlib.PL MANIFEST
@@ -1089,7 +1099,7 @@ pod/perl5244delta.pod: pod/perldelta.pod
$(RMS) pod/perl5244delta.pod
$(LNS) perldelta.pod pod/perl5244delta.pod
-extra.pods: $(MINIPERL_EXE)
+extra.pods:
-@test ! -f extra.pods || rm -f `cat extra.pods`
-@rm -f extra.pods
-@for x in `grep -l '^=[a-z]' README.* | grep -v README.vms` ; do \
@@ -1133,8 +1143,7 @@ EOT
$spitshell >>$Makefile <<EOT
install_$name install-$name: \$(INSTALL_DEPENDENCE) installperl all installman
- \$(RUN_PERL) installperl --destdir=\$(DESTDIR) $flags \$(INSTALLFLAGS) \$(STRIPFLAGS)
- \$(RUN_PERL) installman --destdir=\$(DESTDIR) $flags
+ ./hostperl -Ifake_config_library -Ilib -MConfig installperl --destdir=\$(DESTDIR) $flags \$(INSTALLFLAGS) \$(STRIPFLAGS)
EOT
fi
@@ -1144,11 +1153,7 @@ done
if test "X$hostperl" != X; then
$spitshell >>$Makefile <<'!NO!SUBS!'
install.perl: $(INSTALL_DEPENDENCE) installperl
- $(HOST_PERL) installperl --destdir=$(DESTDIR) $(INSTALLFLAGS) $(STRIPFLAGS)
- -@test ! -s extras.lst || $(MAKE) extras.install
-
-install.man: all installman
- $(HOST_PERL) installman --destdir=$(DESTDIR) $(INSTALLFLAGS)
+ ./hostperl -Ifake_config_library -Ilib -MConfig installperl --destdir=$(DESTDIR) $(INSTALLFLAGS) $(STRIPFLAGS)
# XXX Experimental. Hardwired values, but useful for testing.
# Eventually Configure could ask for some of these values.
@@ -1166,24 +1171,8 @@ install.html: all installhtml
else
$spitshell >>$Makefile <<'!NO!SUBS!'
install.perl: $(INSTALL_DEPENDENCE) installperl
- $(RUN_PERL) installperl --destdir=$(DESTDIR) $(INSTALLFLAGS) $(STRIPFLAGS)
- -@test ! -s extras.lst || PATH="`pwd`:\${PATH}" PERL5LIB="`pwd`/lib" \$(RUN_PERL) -Ilib -MCPAN -e '@ARGV&&install(@ARGV)' `cat extras.lst`
-
-install.man: all installman
- $(RUN_PERL) installman --destdir=$(DESTDIR) $(INSTALLFLAGS)
+ ./hostperl -Ifake_config_library -Ilib -MConfig installperl --destdir=$(DESTDIR) $(INSTALLFLAGS) $(STRIPFLAGS)
-# XXX Experimental. Hardwired values, but useful for testing.
-# Eventually Configure could ask for some of these values.
-install.html: all installhtml
- -@test -f README.vms && cd vms && $(LNS) ../README.vms README_vms.pod && cd ..
- $(RUN_PERL) installhtml \
- --podroot=. --podpath=. --recurse \
- --htmldir=$(privlib)/html \
- --htmlroot=$(privlib)/html \
- --splithead=pod/perlipc \
- --splititem=pod/perlfunc \
- --ignore=Porting/Maintainers.pm,Porting/pumpkin.pod,Porting/repository.pod \
- --verbose
!NO!SUBS!
fi
@@ -1275,13 +1264,13 @@ manicheck: FORCE
#
# DynaLoader may be needed for extensions that use Makefile.PL.
-$(DYNALOADER): $(MINIPERL_EXE) lib/buildcustomize.pl preplibrary FORCE $(nonxs_ext)
+$(DYNALOADER): lib/buildcustomize.pl preplibrary FORCE $(nonxs_ext)
$(MINIPERL) make_ext.pl $@ $(MAKE_EXT_ARGS) MAKE="$(MAKE)" LIBPERL_A=$(LIBPERL) LINKTYPE=static $(STATIC_LDFLAGS)
-d_dummy $(dynamic_ext): $(MINIPERL_EXE) lib/buildcustomize.pl preplibrary makeppport $(DYNALOADER) FORCE $(PERLEXPORT) $(LIBPERL)
+d_dummy $(dynamic_ext): lib/buildcustomize.pl preplibrary makeppport $(DYNALOADER) FORCE $(PERLEXPORT) $(LIBPERL)
$(MINIPERL) make_ext.pl $@ $(MAKE_EXT_ARGS) MAKE="$(MAKE)" LIBPERL_A=$(LIBPERL) LINKTYPE=dynamic
-s_dummy $(static_ext): $(MINIPERL_EXE) lib/buildcustomize.pl preplibrary makeppport $(DYNALOADER) FORCE
+s_dummy $(static_ext): lib/buildcustomize.pl preplibrary makeppport $(DYNALOADER) FORCE
$(MINIPERL) make_ext.pl $@ $(MAKE_EXT_ARGS) MAKE="$(MAKE)" LIBPERL_A=$(LIBPERL) LINKTYPE=static $(STATIC_LDFLAGS)
n_dummy $(nonxs_ext): $(MINIPERL_EXE) lib/buildcustomize.pl preplibrary FORCE
@@ -1479,14 +1468,14 @@ test_prep_pre: preplibrary utilities $(n
case "$targethost" in
'') $spitshell >>$Makefile <<'!NO!SUBS!'
-test_prep test-prep: test_prep_pre $(MINIPERL_EXE) $(unidatafiles) $(PERL_EXE) \
+test_prep test-prep: test_prep_pre $(unidatafiles) $(PERL_EXE) \
$(dynamic_ext) $(TEST_PERL_DLL) runtests $(generated_pods)
cd t && (rm -f $(PERL_EXE); $(LNS) ../$(PERL_EXE) $(PERL_EXE))
!NO!SUBS!
;;
*) $spitshell >>$Makefile <<!GROK!THIS!
-test_prep test-prep: test_prep_pre \$(MINIPERL_EXE) \$(unidatafiles) \$(PERL_EXE) \
+test_prep test-prep: test_prep_pre \$(unidatafiles) \$(PERL_EXE) \
\$(dynamic_ext) \$(TEST_PERL_DLL) runtests \
\$(generated_pods)
$to libperl.*
@@ -1539,7 +1528,7 @@ test_prep test-prep: test_prep_pre \$(MI
esac
$spitshell >>$Makefile <<'!NO!SUBS!'
-test_prep_reonly: $(MINIPERL_EXE) $(PERL_EXE) $(dynamic_ext_re) $(TEST_PERL_DLL)
+test_prep_reonly: $(PERL_EXE) $(dynamic_ext_re) $(TEST_PERL_DLL)
$(MINIPERL) make_ext.pl $(dynamic_ext_re) MAKE="$(MAKE)" LIBPERL_A=$(LIBPERL) LINKTYPE=dynamic
cd t && (rm -f $(PERL_EXE); $(LNS) ../$(PERL_EXE) $(PERL_EXE))
!NO!SUBS!
@@ -1600,7 +1589,7 @@ minitest_prep:
MINITEST_TESTS = base/*.t comp/*.t cmd/*.t run/*.t io/*.t re/*.t opbasic/*.t op/*.t uni/*.t perf/*.t
-minitest: $(MINIPERL_EXE) minitest_prep
+minitest: minitest_prep
- cd t && $(RUN_PERL) TEST $(MINITEST_TESTS) <$(devtty)
minitest-notty minitest_notty: $(MINIPERL_EXE) minitest_prep

View File

@@ -1,58 +0,0 @@
Upstream-Status:Inappropriate [embedded specific]
Index: perl-5.14.2/Cross/Makefile
===================================================================
--- perl-5.14.2.orig/Cross/Makefile
+++ perl-5.14.2/Cross/Makefile
@@ -1,6 +1,7 @@
## Toplevel Makefile for cross-compilation of perl
-export TOPDIR=${shell pwd}
+override TOPDIR=${shell pwd}
+export TOPDIR
include $(TOPDIR)/config
export CFLAGS
export SYS=$(ARCH)-$(OS)
@@ -10,7 +11,7 @@ export OPTIMIZATION = -O2
export CC = $(CROSS)gcc
export CXX = $(CROSS)g++
-export LD = $(CROSS)ld
+export LD = $(CC)
export STRIP = $(CROSS)strip
export AR = $(CROSS)ar
export RANLIB = $(CROSS)ranlib
@@ -32,17 +33,6 @@ CFLAGS+=$(FULL_OPTIMIZATION)
all:
@echo Please read the README file before doing anything else.
-gen_patch:
- diff -Bbur ../Makefile.SH Makefile.SH > Makefile.SH.patch
- diff -Bbur ../installperl installperl > installperl.patch
-
-patch:
- cd .. ; if [ ! -e ./CROSS_PATCHED ] ; then \
- patch -p1 < Cross/Makefile.SH.patch; \
- patch -p1 < Cross/installperl.patch ; mv installperl installperl-patched; \
- sed -e 's/XXSTRIPXX/$(SYS)/' installperl-patched > installperl; \
- touch CROSS_PATCHED ; fi
-
perl:
@echo Perl cross-build directory is $(TOPDIR)
@echo Target arch is $(SYS)
@@ -52,11 +42,11 @@ perl:
$(TOPDIR)/generate_config_sh config.sh-$(SYS) > $(TOPDIR)/../config.sh
cd $(TOPDIR)/.. ; ./Configure -S ; make depend ; make ; make more
cd $(TOPDIR)/.. ; mkdir -p fake_config_library ; cp lib/Config.pm lib/Config_heavy.pl fake_config_library
- cd $(TOPDIR)/.. ; $(MAKE) more2 "PERLRUN=/usr/bin/perl -I$(TOPDIR)/../fake_config_library -MConfig"
- cd $(TOPDIR)/.. ; $(MAKE) more3 "PERLRUN=/usr/bin/perl -I$(TOPDIR)/../fake_config_library -MConfig"
- cd $(TOPDIR)/.. ; $(MAKE) more4 "PERLRUN=/usr/bin/perl -I$(TOPDIR)/../fake_config_library -MConfig"
+ cd $(TOPDIR)/.. ; $(MAKE) more2 "PERLRUN=hostperl -I$(TOPDIR)/../fake_config_library -MConfig"
+ cd $(TOPDIR)/.. ; $(MAKE) more3 "PERLRUN=hostperl -I$(TOPDIR)/../fake_config_library -MConfig"
+ cd $(TOPDIR)/.. ; $(MAKE) more4 "PERLRUN=hostperl -I$(TOPDIR)/../fake_config_library -MConfig"
cd $(TOPDIR)/.. ; rm -rf install_me_here
- cd $(TOPDIR)/.. ; make install-strip
+# cd $(TOPDIR)/.. ; make install-strip
cd $(TOPDIR)/.. ; sh -x Cross/warp

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
byteorder='4321'

View File

@@ -1 +0,0 @@
byteorder='1234'

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
byteorder='87654321'

View File

@@ -1 +0,0 @@
byteorder='12345678'

View File

@@ -1,15 +0,0 @@
Upstream-Status:Inappropriate [embedded specific]
Index: perl-5.24.1/Makefile.SH
===================================================================
--- perl-5.24.1.orig/Makefile.SH
+++ perl-5.24.1/Makefile.SH
@@ -710,7 +710,7 @@ bitcount.h: generate_uudmap\$(HOST_EXE_E
$spitshell >>$Makefile <<'!NO!SUBS!'
generate_uudmap$(HOST_EXE_EXT): generate_uudmap$(OBJ_EXT)
- $(CC) -o generate_uudmap$(EXE_EXT) $(LDFLAGS) generate_uudmap$(OBJ_EXT) $(libs)
+ $(BUILD_CC) -o generate_uudmap$(EXE_EXT) generate_uudmap.c
!NO!SUBS!
;;

View File

@@ -1,63 +0,0 @@
From d33d46963035ef726144dc66be2ae9c00aec0333 Mon Sep 17 00:00:00 2001
From: Niko Tyni <ntyni@debian.org>
Date: Tue, 16 Oct 2012 23:07:56 +0300
Subject: Fix CPAN::FirstTime defaults with nonexisting site dirs if a parent
is writable
The site directories do not exist on a typical Debian system. The build
systems will create them when necessary, so there's no need for a prompt
suggesting local::lib if the first existing parent directory is writable.
Also, writability of the core directories is not interesting as we
explicitly tell CPAN not to touch those with INSTALLDIRS=site.
Bug-Debian: http://bugs.debian.org/688842
Patch-Name: debian/cpan-missing-site-dirs.diff
Upstream-Status: Pending
---
cpan/CPAN/lib/CPAN/FirstTime.pm | 31 +++++++++++++++++++++++++++----
1 file changed, 27 insertions(+), 4 deletions(-)
diff --git a/cpan/CPAN/lib/CPAN/FirstTime.pm b/cpan/CPAN/lib/CPAN/FirstTime.pm
index 33054cd..7b0becf 100644
--- a/cpan/CPAN/lib/CPAN/FirstTime.pm
+++ b/cpan/CPAN/lib/CPAN/FirstTime.pm
@@ -2057,11 +2057,34 @@ sub _print_urllist {
};
}
+# Debian modification: return true if this directory
+# or the first existing one upwards is writable
+sub _can_write_to_this_or_parent {
+ my ($dir) = @_;
+ my @parts = File::Spec->splitdir($dir);
+ while (@parts) {
+ my $cur = File::Spec->catdir(@parts);
+ return 1 if -w $cur;
+ return 0 if -e _;
+ pop @parts;
+ }
+ return 0;
+}
+
+# Debian specific modification: the site directories don't necessarily
+# exist on the system, but the build systems create them when necessary,
+# so return true if the first existing directory upwards is writable
+#
+# Furthermore, on Debian, only test the site directories
+# (installsite*, expanded to /usr/local/{share,lib}/perl),
+# not the core ones
+# (install*lib, expanded to /usr/{share,lib}/perl).
+# We pass INSTALLDIRS=site by default to keep CPAN from touching
+# the core directories.
+
sub _can_write_to_libdirs {
- return -w $Config{installprivlib}
- && -w $Config{installarchlib}
- && -w $Config{installsitelib}
- && -w $Config{installsitearch}
+ return _can_write_to_this_or_parent($Config{installsitelib})
+ && _can_write_to_this_or_parent($Config{installsitearch})
}
sub _using_installbase {

View File

@@ -1,38 +0,0 @@
From 5ff1f21484aab68efe321ff4ba5d35928f72af96 Mon Sep 17 00:00:00 2001
From: Brendan O'Dea <bod@debian.org>
Date: Tue, 8 Mar 2005 19:30:38 +1100
Subject: Provide a sensible INSTALLDIRS default for modules installed from
CPAN.
Some modules which are included in core set INSTALLDIRS => 'perl'
explicitly in Makefile.PL or Build.PL. This makes sense for the normal @INC
ordering, but not ours.
Patch-Name: debian/cpan_definstalldirs.diff
Upstream-Status: Pending
---
cpan/CPAN/lib/CPAN/FirstTime.pm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/cpan/CPAN/lib/CPAN/FirstTime.pm b/cpan/CPAN/lib/CPAN/FirstTime.pm
index 918e009..33054cd 100644
--- a/cpan/CPAN/lib/CPAN/FirstTime.pm
+++ b/cpan/CPAN/lib/CPAN/FirstTime.pm
@@ -1024,7 +1024,7 @@ sub init {
my_prompt_loop(prefer_installer => 'MB', $matcher, 'MB|EUMM|RAND');
if (!$matcher or 'makepl_arg make_arg' =~ /$matcher/) {
- my_dflt_prompt(makepl_arg => "", $matcher);
+ my_dflt_prompt(makepl_arg => "INSTALLDIRS=site", $matcher);
my_dflt_prompt(make_arg => "", $matcher);
if ( $CPAN::Config->{makepl_arg} =~ /LIBS=|INC=/ ) {
$CPAN::Frontend->mywarn(
@@ -1056,7 +1056,7 @@ sub init {
my_dflt_prompt(make_install_arg => $CPAN::Config->{make_arg} || "",
$matcher);
- my_dflt_prompt(mbuildpl_arg => "", $matcher);
+ my_dflt_prompt(mbuildpl_arg => "--installdirs site", $matcher);
my_dflt_prompt(mbuild_arg => "", $matcher);
if (exists $CPAN::HandleConfig::keys{mbuild_install_build_command}

View File

@@ -1,35 +0,0 @@
From 01421f8a80d5c623959695ba2b8167f30112d333 Mon Sep 17 00:00:00 2001
From: Brendan O'Dea <bod@debian.org>
Date: Fri, 16 Dec 2005 01:32:14 +1100
Subject: Remove overly restrictive DB_File version check.
Bug-Debian: http://bugs.debian.org/340047
Package dependencies ensure the correct library is linked at run-time.
Patch-Name: debian/db_file_ver.diff
Upstream-Status: Pending
---
cpan/DB_File/version.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/cpan/DB_File/version.c b/cpan/DB_File/version.c
index e01f6f6..544e6ee 100644
--- a/cpan/DB_File/version.c
+++ b/cpan/DB_File/version.c
@@ -48,6 +48,7 @@ __getBerkeleyDBInfo()
(void)db_version(&Major, &Minor, &Patch) ;
+#ifndef DEBIAN
/* Check that the versions of db.h and libdb.a are the same */
if (Major != DB_VERSION_MAJOR || Minor != DB_VERSION_MINOR )
/* || Patch != DB_VERSION_PATCH) */
@@ -55,6 +56,7 @@ __getBerkeleyDBInfo()
croak("\nDB_File was build with libdb version %d.%d.%d,\nbut you are attempting to run it with libdb version %d.%d.%d\n",
DB_VERSION_MAJOR, DB_VERSION_MINOR, DB_VERSION_PATCH,
Major, Minor, Patch) ;
+#endif /* DEBIAN */
/* check that libdb is recent enough -- we need 2.3.4 or greater */
if (Major == 2 && (Minor < 3 || (Minor == 3 && Patch < 4)))

View File

@@ -1,57 +0,0 @@
From def4aa3817f98aae625e601b791ef068276f05d5 Mon Sep 17 00:00:00 2001
From: Dominic Hargreaves <dom@earth.li>
Date: Mon, 17 May 2010 13:23:07 +0300
Subject: Point users to Debian packages of deprecated core modules
Bug-Debian: http://bugs.debian.org/747628
Several modules are being deprecated with perl 5.20.
To get a clean transition, perl/perl-modules is going to recommend the
separate Debian packages of these for one release cycle so that they will be
pulled in by default on upgrades. This is taking place for perl 5.20/jessie.
However, on systems configured to ignore recommendations the deprecation
warnings will still be useful, so modify them slightly to point to the
separate packages instead.
Patch-Name: debian/deprecate-with-apt.diff
Upstream-Status: Pending
---
lib/deprecate.pm | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/lib/deprecate.pm b/lib/deprecate.pm
index 47bc112..b0c61df 100644
--- a/lib/deprecate.pm
+++ b/lib/deprecate.pm
@@ -7,6 +7,13 @@ our $VERSION = 0.03;
our %Config;
unless (%Config) { require Config; *Config = \%Config::Config; }
+# Debian-specific change: recommend the separate Debian packages of
+# deprecated modules where available
+
+our %DEBIAN_PACKAGES = (
+ # None for the perl 5.22 cycle
+);
+
# This isn't a public API. It's internal to code maintained by the perl-porters
# If you would like it to be a public API, please send a patch with
# documentation and tests. Until then, it may change without warning.
@@ -58,9 +65,15 @@ EOM
if (defined $callers_bitmask
&& (vec($callers_bitmask, $warnings::Offsets{deprecated}, 1)
|| vec($callers_bitmask, $warnings::Offsets{all}, 1))) {
- warn <<"EOM";
+ if (my $deb = $DEBIAN_PACKAGES{$package}) {
+ warn <<"EOM";
+$package will be removed from the Perl core distribution in the next major release. Please install the separate $deb package. It is being used at $call_file, line $call_line.
+EOM
+ } else {
+ warn <<"EOM";
$package will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at $call_file, line $call_line.
EOM
+ }
}
}
}

View File

@@ -1,36 +0,0 @@
From e18f81e69c55d698abd293e71063d6b6b275cc07 Mon Sep 17 00:00:00 2001
From: Brendan O'Dea <bod@debian.org>
Date: Fri, 18 Mar 2005 22:22:25 +1100
Subject: Replace generic man(1) instructions with Debian-specific information.
Indicate that the user needs to install the perl-doc package.
Patch-Name: debian/doc_info.diff
Upstream-Status: Pending
---
pod/perl.pod | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/pod/perl.pod b/pod/perl.pod
index 364e957..f97e103 100644
--- a/pod/perl.pod
+++ b/pod/perl.pod
@@ -291,8 +291,16 @@ aux c2ph h2ph h2xs perlbug pl2pm pod2html pod2man splain xsubpp
=for buildtoc __END__
-On a Unix-like system, these documentation files will usually also be
-available as manpages for use with the F<man> program.
+On Debian systems, you need to install the B<perl-doc> package which
+contains the majority of the standard Perl documentation and the
+F<perldoc> program.
+
+Extensive additional documentation for Perl modules is available, both
+those distributed with Perl and third-party modules which are packaged
+or locally installed.
+
+You should be able to view Perl's documentation with your man(1)
+program or perldoc(1).
Some documentation is not available as man pages, so if a
cross-reference is not found by man, try it with L<perldoc>. Perldoc can

View File

@@ -1,71 +0,0 @@
From 7fe59a3d0601c6d8634eae4f99dae3024cd02a92 Mon Sep 17 00:00:00 2001
From: Brendan O'Dea <bod@debian.org>
Date: Tue, 8 Mar 2005 19:30:38 +1100
Subject: Tweak enc2xs to follow symlinks and ignore missing @INC directories.
Bug-Debian: http://bugs.debian.org/290336
- ignore missing directories,
- follow symlinks (/usr/share/perl/5.8 -> 5.8.4).
- filter "." out when running "enc2xs -C", it's unnecessary and causes
issues with follow => 1 (see #603686 and [rt.cpan.org #64585])
Patch-Name: debian/enc2xs_inc.diff
Upstream-Status: Pending
---
cpan/Encode/bin/enc2xs | 8 ++++----
t/porting/customized.t | 3 +++
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/cpan/Encode/bin/enc2xs b/cpan/Encode/bin/enc2xs
index 19f2b2b..4d64e38 100644
--- a/cpan/Encode/bin/enc2xs
+++ b/cpan/Encode/bin/enc2xs
@@ -944,11 +944,11 @@ use vars qw(
sub find_e2x{
eval { require File::Find; };
my (@inc, %e2x_dir);
- for my $inc (@INC){
+ for my $inc (grep -d, @INC){
push @inc, $inc unless $inc eq '.'; #skip current dir
}
File::Find::find(
- sub {
+ { wanted => sub {
my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
$atime,$mtime,$ctime,$blksize,$blocks)
= lstat($_) or return;
@@ -958,7 +958,7 @@ sub find_e2x{
$e2x_dir{$File::Find::dir} ||= $mtime;
}
return;
- }, @inc);
+ }, follow => 1}, @inc);
warn join("\n", keys %e2x_dir), "\n";
for my $d (sort {$e2x_dir{$a} <=> $e2x_dir{$b}} keys %e2x_dir){
$_E2X = $d;
@@ -1025,7 +1025,7 @@ sub make_configlocal_pm {
$LocalMod{$enc} ||= $mod;
}
};
- File::Find::find({wanted => $wanted}, @INC);
+ File::Find::find({wanted => $wanted, follow => 1}, grep -d && !/^\./, @INC);
$_ModLines = "";
for my $enc ( sort keys %LocalMod ) {
$_ModLines .=
diff --git a/t/porting/customized.t b/t/porting/customized.t
index 45fcafb..3bd6adb 100644
--- a/t/porting/customized.t
+++ b/t/porting/customized.t
@@ -101,8 +101,11 @@ foreach my $module ( sort keys %Modules ) {
print $data_fh join(' ', $module, $file, $id), "\n";
next;
}
+SKIP: {
+ skip("$file modified for Debian", 1) if $file eq 'cpan/Encode/bin/enc2xs';
my $should_be = $customised{ $module }->{ $file };
is( $id, $should_be, "SHA for $file matches stashed SHA" );
+}
}
}

View File

@@ -1,37 +0,0 @@
From 8e1efba7560d8d55524c7a0f1b0539ddce419b86 Mon Sep 17 00:00:00 2001
From: Brendan O'Dea <bod@debian.org>
Date: Fri, 16 Dec 2005 01:32:14 +1100
Subject: [PATCH 6/8] Remove Errno version check due to upgrade problems with
long-running processes.
Bug-Debian: http://bugs.debian.org/343351
Remove version check which can cause problems for long running
processes embedding perl when upgrading to a newer version,
compatible, but built on a different machine.
Patch-Name: debian/errno_ver.diff
Upstream-Status: Pending
---
ext/Errno/Errno_pm.PL | 5 -----
1 file changed, 5 deletions(-)
diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL
index 6251a3c..eeed445 100644
--- a/ext/Errno/Errno_pm.PL
+++ b/ext/Errno/Errno_pm.PL
@@ -294,11 +294,6 @@ EDQ
# they've already declared perl doesn't need to worry about this risk.
if(!$ENV{'PERL_BUILD_EXPAND_CONFIG_VARS'}) {
print <<"CONFIG_CHECK_END";
-use Config;
-"\$Config{'archname'}-\$Config{'osvers'}" eq
-"$archname-$Config{'osvers'}" or
- die "Errno architecture ($archname-$Config{'osvers'}) does not match executable architecture (\$Config{'archname'}-\$Config{'osvers'})";
-
CONFIG_CHECK_END
}
--
2.1.4

View File

@@ -1,38 +0,0 @@
From 431275078b0490d2e092442d9582be06bb95b354 Mon Sep 17 00:00:00 2001
From: Niko Tyni <ntyni@debian.org>
Date: Sat, 10 May 2014 23:34:14 +0300
Subject: EU:MM: set location of libperl.a under /usr/lib
The Debian packaging moves libperl.a a couple of levels up from the
CORE directory to match other static libraries.
Patch-Name: debian/extutils_set_libperl_path.diff
Upstream-Status: Pending
---
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 2 +-
pp.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
index 5f1b87f..570a631 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
@@ -2505,7 +2505,7 @@ MAP_PRELIBS = $Config{perllibs} $Config{cryptlib}
($lperl = $libperl) =~ s/\$\(A\)/$self->{LIB_EXT}/;
}
unless ($libperl && -f $lperl) { # Ilya's code...
- my $dir = $self->{PERL_SRC} || "$self->{PERL_ARCHLIB}/CORE";
+ my $dir = $self->{PERL_SRC} || "$self->{PERL_ARCHLIB}/../..";
$dir = "$self->{PERL_ARCHLIB}/.." if $self->{UNINSTALLED_PERL};
$libperl ||= "libperl$self->{LIB_EXT}";
$libperl = "$dir/$libperl";
diff --git a/pp.c b/pp.c
index 42f156a..77c1279 100644
--- a/pp.c
+++ b/pp.c
@@ -1,4 +1,4 @@
-/* pp.c
+ /* pp.c
*
* Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
* 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by Larry Wall and others

View File

@@ -1,43 +0,0 @@
From 27ae7b18078d801a2c943aa6de2f7e9808177251 Mon Sep 17 00:00:00 2001
From: Brendan O'Dea <bod@debian.org>
Date: Fri, 18 Mar 2005 22:22:25 +1100
Subject: Postpone LD_LIBRARY_PATH evaluation to the binary targets.
Modify the setting of LD_LIBRARY_PATH to append pre-existing values at the
time the rule is evaluated rather than when the Makefile is created.
This is required when building packages with dpkg-buildpackage and fakeroot,
since fakeroot (which now sets LD_LIBRARY_PATH) is not used for the "build"
rule where the Makefile is created, but is for the clean/binary* targets.
Patch-Name: debian/fakeroot.diff
Upstream-Status: Pending
---
Makefile.SH | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/Makefile.SH b/Makefile.SH
index 034d812..04dd7d5 100755
--- a/Makefile.SH
+++ b/Makefile.SH
@@ -39,10 +39,7 @@ case "$useshrplib" in
true)
# Prefix all runs of 'miniperl' and 'perl' with
# $ldlibpth so that ./perl finds *this* shared libperl.
- case "$LD_LIBRARY_PATH" in
- '') ldlibpth="LD_LIBRARY_PATH=` quote "$pwd" `" ;;
- *) ldlibpth="LD_LIBRARY_PATH=` quote "$pwd" `:` quote "$LD_LIBRARY_PATH" `" ;;
- esac
+ ldlibpth="LD_LIBRARY_PATH=` quote "$pwd" `"'$${LD_LIBRARY_PATH:+:}$$LD_LIBRARY_PATH'
pldlflags="$cccdlflags"
static_ldflags=''
@@ -113,7 +110,7 @@ true)
;;
esac
case "$ldlibpthname" in
- '') ;;
+ ''|LD_LIBRARY_PATH) ;;
*)
case "$osname" in
os2)

View File

@@ -1,36 +0,0 @@
From c81dbdedff9e9b4fb75ac028aa718838c0292d2f Mon Sep 17 00:00:00 2001
From: Andreas Marschke <andreas.marschke@googlemail.com>
Date: Sat, 17 Sep 2011 11:38:42 +0100
Subject: Configure CPAN::Distribution with correct name of html2text
Bug-Debian: http://bugs.debian.org/640479
Patch-Name: debian/find_html2text.diff
If you use cpan from Debian you usually wind up trying to read online
documentation through it. Unfortunately cpan can't find the
html2text.pl script even though it is installed using the Debian
package 'html2text'.
Please see the attached patch for a quick fix of this issue.
[Maintainer's note: html2text in Debian is not the same implementation
as the html2text.pl which is expected, but should provide similar
functionality].
Upstream-Status: Pending
---
cpan/CPAN/lib/CPAN/Distribution.pm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cpan/CPAN/lib/CPAN/Distribution.pm b/cpan/CPAN/lib/CPAN/Distribution.pm
index 092b781..5c2bae1 100644
--- a/cpan/CPAN/lib/CPAN/Distribution.pm
+++ b/cpan/CPAN/lib/CPAN/Distribution.pm
@@ -4099,7 +4099,7 @@ sub _display_url {
if $CPAN::DEBUG;
# should we define it in the config instead?
- my $html_converter = "html2text.pl";
+ my $html_converter = "html2text";
my $web_browser = $CPAN::Config->{'lynx'} || undef;
my $web_browser_out = $web_browser

View File

@@ -1,32 +0,0 @@
From 9faf6dcc3a5c4154484d812eb3cc3dd78b35563b Mon Sep 17 00:00:00 2001
From: Niko Tyni <ntyni@debian.org>
Date: Mon, 30 May 2011 22:54:24 +0300
Subject: Document that CCFLAGS should include $Config{ccflags}
Bug: https://rt.cpan.org/Public/Bug/Display.html?id=68613
Bug-Debian: http://bugs.debian.org/628522
Compiling XS extensions without $Config{ccflags} can break the
binary interface on some platforms.
Patch-Name: fixes/document_makemaker_ccflags.diff
Upstream-Status: Pending
---
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
index fe95b27..90403e8 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
@@ -1774,6 +1774,10 @@ currently used by MakeMaker but may be handy in Makefile.PLs.
String that will be included in the compiler call command line between
the arguments INC and OPTIMIZE.
+The default value is taken from $Config{ccflags}. When overriding
+CCFLAGS, make sure to include the $Config{ccflags} settings to avoid
+binary incompatibilities.
+
=item CONFIG
Arrayref. E.g. [qw(archname manext)] defines ARCHNAME & MANEXT from

View File

@@ -1,111 +0,0 @@
From 55d430eb02fc116581847304ca20321687978269 Mon Sep 17 00:00:00 2001
From: Jonathan Nieder <jrnieder@gmail.com>
Date: Fri, 27 Jul 2012 10:35:07 -0500
Subject: Memoize::Storable: respect 'nstore' option not respected
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Memoize(3perl) says:
tie my %cache => 'Memoize::Storable', $filename, 'nstore';
memoize 'function', SCALAR_CACHE => [HASH => \%cache];
Include the nstore option to have the "Storable" database
written in network order. (See Storable for more details
about this.)
In fact the "nstore" option does no such thing. Option parsing looks
like this:
@options{@_} = ();
$self->{OPTIONS}{'nstore'} is accordingly set to undef. Later
Memoize::Storable checks if the option is true, and since undef is
not true, the "else" branch is always taken.
if ($self->{OPTIONS}{'nstore'}) {
Storable::nstore($self->{H}, $self->{FILENAME});
} else {
Storable::store($self->{H}, $self->{FILENAME});
}
Correcting the condition to (exists $self->{OPTIONS}{'nstore'}) fixes
it.
Noticed because git-svn, which uses the 'nstore' option for its
on-disk caches, was producing
Byte order is not compatible at ../../lib/Storable.pm
when run using a perl with a different integer size (and hence
byteorder).
Reported by Tim Retout (RT#77790)
Bug-Debian: http://bugs.debian.org/587650
Bug: https://rt.cpan.org/Public/Bug/Display.html?id=77790
Forwarded: https://rt.cpan.org/Public/Bug/Display.html?id=77790
Patch-Name: fixes/memoize_storable_nstore.diff
Upstream-Status: Pending
---
cpan/Memoize/Memoize/Storable.pm | 2 +-
cpan/Memoize/t/tie_storable.t | 24 ++++++++++++++++++++----
2 files changed, 21 insertions(+), 5 deletions(-)
diff --git a/cpan/Memoize/Memoize/Storable.pm b/cpan/Memoize/Memoize/Storable.pm
index 1314797..87876f2 100644
--- a/cpan/Memoize/Memoize/Storable.pm
+++ b/cpan/Memoize/Memoize/Storable.pm
@@ -55,7 +55,7 @@ sub DESTROY {
require Carp if $Verbose;
my $self= shift;
print STDERR "Memoize::Storable::DESTROY(@_)\n" if $Verbose;
- if ($self->{OPTIONS}{'nstore'}) {
+ if (exists $self->{OPTIONS}{'nstore'}) {
Storable::nstore($self->{H}, $self->{FILENAME});
} else {
Storable::store($self->{H}, $self->{FILENAME});
diff --git a/cpan/Memoize/t/tie_storable.t b/cpan/Memoize/t/tie_storable.t
index de3b8dc..a624238 100644
--- a/cpan/Memoize/t/tie_storable.t
+++ b/cpan/Memoize/t/tie_storable.t
@@ -31,18 +31,34 @@ if ($@) {
exit 0;
}
-print "1..4\n";
+print "1..9\n";
$file = "storable$$";
1 while unlink $file;
tryout('Memoize::Storable', $file, 1); # Test 1..4
1 while unlink $file;
+tryout('Memoize::Storable', $file, 5, 'nstore'); # Test 5..8
+assert_netorder($file, 9); # Test 9
+1 while unlink $file;
+
+
+sub assert_netorder {
+ my ($file, $testno) = @_;
+
+ my $netorder = Storable::file_magic($file)->{'netorder'};
+ print ($netorder ? "ok $testno\n" : "not ok $testno\n");
+}
sub tryout {
- my ($tiepack, $file, $testno) = @_;
+ my ($tiepack, $file, $testno, $option) = @_;
- tie my %cache => $tiepack, $file
- or die $!;
+ if (defined $option) {
+ tie my %cache => $tiepack, $file, $option
+ or die $!;
+ } else {
+ tie my %cache => $tiepack, $file
+ or die $!;
+ }
memoize 'c5',
SCALAR_CACHE => [HASH => \%cache],

View File

@@ -1,26 +0,0 @@
From fa085fedd9c406edcd4a1a256c025d5ff7f6c6de Mon Sep 17 00:00:00 2001
From: Brendan O'Dea <bod@debian.org>
Date: Thu, 20 Sep 2007 19:47:14 +1000
Subject: Document the Net::SMTP 'Port' option
Bug-Debian: http://bugs.debian.org/100195
Bug: http://rt.cpan.org/Public/Bug/Display.html?id=36038
Patch-Name: fixes/net_smtp_docs.diff
Upstream-Status: Pending
---
cpan/libnet/lib/Net/SMTP.pm | 1 +
1 file changed, 1 insertion(+)
diff --git a/cpan/libnet/lib/Net/SMTP.pm b/cpan/libnet/lib/Net/SMTP.pm
index afd017a..6ae7d9e 100644
--- a/cpan/libnet/lib/Net/SMTP.pm
+++ b/cpan/libnet/lib/Net/SMTP.pm
@@ -738,6 +738,7 @@ Net::SMTP will attempt to extract the address from the value passed.
B<Debug> - Enable debugging information
+B<Port> - Select a port on the remote host to connect to (default is 25)
Example:

View File

@@ -1,74 +0,0 @@
From 0ecf83f259db09cb38cb37c9b22e72be185afa8f Mon Sep 17 00:00:00 2001
From: Hugo van der Sanden <hv@crypt.org>
Date: Thu, 11 Jun 2015 12:25:40 +0100
Subject: fix -Cnn parsing
Commit 22ff313068 for [perl #123814] inadvertently changed the logic when
parsing a numeric parameter to the -C option, such that the successfully
parsed number was not saved as the option value if it parsed to the end
of the argument.
Bug: https://rt.perl.org/Ticket/Display.html?id=125381
Bug-Debian: https://bugs.debian.org/788636
Origin: upstream, http://perl5.git.perl.org/perl.git/commit/89d84ff965
Patch-Name: fixes/perl-Cnn.diff
Upstream-Status: Pending
---
t/run/switchC.t | 7 ++++++-
util.c | 17 ++++++++---------
2 files changed, 14 insertions(+), 10 deletions(-)
diff --git a/t/run/switchC.t b/t/run/switchC.t
index f6aa868..4f63c3b 100644
--- a/t/run/switchC.t
+++ b/t/run/switchC.t
@@ -11,7 +11,7 @@ BEGIN {
skip_all_if_miniperl('-C and $ENV{PERL_UNICODE} are disabled on miniperl');
}
-plan(tests => 13);
+plan(tests => 14);
my $r;
@@ -25,6 +25,11 @@ $r = runperl( switches => [ '-CO', '-w' ],
stderr => 1 );
like( $r, qr/^$b(?:\r?\n)?$/s, '-CO: no warning on UTF-8 output' );
+$r = runperl( switches => [ '-C2', '-w' ],
+ prog => 'print chr(256)',
+ stderr => 1 );
+like( $r, qr/^$b(?:\r?\n)?$/s, '-C2: no warning on UTF-8 output' );
+
SKIP: {
if (exists $ENV{PERL_UNICODE} &&
($ENV{PERL_UNICODE} eq "" || $ENV{PERL_UNICODE} =~ /[SO]/)) {
diff --git a/util.c b/util.c
index 8cf62f5..ee23314 100644
--- a/util.c
+++ b/util.c
@@ -4420,16 +4420,15 @@ Perl_parse_unicode_opts(pTHX_ const char **popt)
if (isDIGIT(*p)) {
const char* endptr;
UV uv;
- if (grok_atoUV(p, &uv, &endptr)
- && uv <= U32_MAX
- && (p = endptr)
- && *p && *p != '\n' && *p != '\r'
- ) {
+ if (grok_atoUV(p, &uv, &endptr) && uv <= U32_MAX) {
opt = (U32)uv;
- if (isSPACE(*p))
- goto the_end_of_the_opts_parser;
- else
- Perl_croak(aTHX_ "Unknown Unicode option letter '%c'", *p);
+ p = endptr;
+ if (p && *p && *p != '\n' && *p != '\r') {
+ if (isSPACE(*p))
+ goto the_end_of_the_opts_parser;
+ else
+ Perl_croak(aTHX_ "Unknown Unicode option letter '%c'", *p);
+ }
}
}
else {

View File

@@ -1,171 +0,0 @@
From 9057adc106d6bbef53c9e706523cd94f1a7a08d4 Mon Sep 17 00:00:00 2001
From: Russ Allbery <rra@debian.org>
Date: Sat, 30 Aug 2014 15:10:41 -0700
Subject: Support POD_MAN_DATE in Pod::Man for the left-hand footer
Honor the environment variable POD_MAN_DATE and use its contents, if
set, as the value of the left-hand footer if the date option is not
set, overriding the timestamp of the input file. This is primarily
useful to ensure reproducible builds of the same output file given the
same souce and Pod::Man version, even when file timestamps may not be
consistent. Thanks, Niko Tyni.
Bug-Debian: http://bugs.debian.org/759405
Origin: upstream
Patch-Name: fixes/pod_man_reproducible_date.diff
Upstream-Status: Pending
---
cpan/podlators/lib/Pod/Man.pm | 69 +++++++++++++++++++++++++++++++-----------
cpan/podlators/t/devise-date.t | 29 +++++++++++++-----
2 files changed, 72 insertions(+), 26 deletions(-)
diff --git a/cpan/podlators/lib/Pod/Man.pm b/cpan/podlators/lib/Pod/Man.pm
index 72ca9ff..0536662 100644
--- a/cpan/podlators/lib/Pod/Man.pm
+++ b/cpan/podlators/lib/Pod/Man.pm
@@ -876,25 +876,42 @@ sub devise_title {
}
# Determine the modification date and return that, properly formatted in ISO
-# format. If we can't get the modification date of the input, instead use the
-# current time. Pod::Simple returns a completely unuseful stringified file
-# handle as the source_filename for input from a file handle, so we have to
-# deal with that as well.
+# format.
+#
+# If POD_MAN_DATE is set, that overrides anything else. This can be used for
+# reproducible generation of the same file even if the input file timestamps
+# are unpredictable or the POD coms from standard input.
+#
+# Otherwise, use the modification date of the input if we can stat it. Be
+# aware that Pod::Simple returns the stringification of the file handle as
+# source_filename for input from a file handle, so we'll stat some random ref
+# string in that case. If that fails, instead use the current time.
+#
+# $self - Pod::Man object, used to get the source file
+#
+# Returns: YYYY-MM-DD date suitable for the left-hand footer
sub devise_date {
my ($self) = @_;
+
+ # If POD_MAN_DATE is set, always use it.
+ if ($ENV{POD_MAN_DATE}) {
+ return $ENV{POD_MAN_DATE};
+ }
+
+ # Otherwise, get the input filename and try to stat it. If that fails,
+ # use the current time.
my $input = $self->source_filename;
my $time;
if ($input) {
- $time = (stat $input)[9] || time;
+ $time = (stat($input))[9] || time();
} else {
- $time = time;
+ $time = time();
}
- # Can't use POSIX::strftime(), which uses Fcntl, because MakeMaker
- # uses this and it has to work in the core which can't load dynamic
- # libraries.
- my ($year, $month, $day) = (localtime $time)[5,4,3];
- return sprintf ("%04d-%02d-%02d", $year + 1900, $month + 1, $day);
+ # Can't use POSIX::strftime(), which uses Fcntl, because MakeMaker uses
+ # this and it has to work in the core which can't load dynamic libraries.
+ my ($year, $month, $day) = (localtime($time))[5,4,3];
+ return sprintf("%04d-%02d-%02d", $year + 1900, $month + 1, $day);
}
# Print out the preamble and the title. The meaning of the arguments to .TH
@@ -1632,6 +1649,15 @@ argument.
Sets the centered page header to use instead of "User Contributed Perl
Documentation".
+=item date
+
+Sets the left-hand footer. If this option is not set, the contents of the
+environment variable POD_MAN_DATE, if set, will be used. Failing that,
+the modification date of the input file will be used, or the current time
+if stat() can't find that file (which will be the case if the input is
+from C<STDIN>). If obtained from the file modification date or the
+current time, he date will be formatted as C<YYYY-MM-DD>.
+
=item errors
How to report errors. C<die> says to throw an exception on any POD
@@ -1642,13 +1668,6 @@ POD errors entirely, as much as possible.
The default is C<pod>.
-=item date
-
-Sets the left-hand footer. By default, the modification date of the input
-file will be used, or the current date if stat() can't find that file (the
-case if the input is from C<STDIN>), and the date will be formatted as
-C<YYYY-MM-DD>.
-
=item fixed
The fixed-width font to use for verbatim text and code. Defaults to
@@ -1810,6 +1829,20 @@ option was set to C<die>.
=back
+=head1 ENVIRONMENT
+
+=over 4
+
+=item POD_MAN_DATE
+
+If set, this will be used as the value of the left-hand footer unless the
+C<date> option is explicitly set, overriding the timestamp of the input
+file or the current time. This is primarily useful to ensure reproducible
+builds of the same output file given the same souce and Pod::Man version,
+even when file timestamps may not be consistent.
+
+=back
+
=head1 BUGS
Encoding handling assumes that PerlIO is available and does not work
diff --git a/cpan/podlators/t/devise-date.t b/cpan/podlators/t/devise-date.t
index 3cce9f5..c610dd9 100644
--- a/cpan/podlators/t/devise-date.t
+++ b/cpan/podlators/t/devise-date.t
@@ -1,15 +1,28 @@
-#!/usr/bin/perl -w
-
-# In order for MakeMaker to build in the core, nothing can use
-# Fcntl which includes POSIX. devise_date()'s use of strftime()
-# was replaced. This tests that it's identical.
+#!/usr/bin/perl
+#
+# In order for MakeMaker to build in the core, nothing can use Fcntl which
+# includes POSIX. devise_date()'s use of strftime() was replaced. This tests
+# that it's identical. It also tests special handling of the POD_MAN_DATE
+# environment variable.
+use 5.006;
use strict;
-
-use Test::More tests => 1;
+use warnings;
use Pod::Man;
use POSIX qw(strftime);
+use Test::More tests => 2;
+
+# Check that the results of device_date matches strftime. There is no input
+# file name, so this will use the current time.
my $parser = Pod::Man->new;
-is $parser->devise_date, strftime("%Y-%m-%d", localtime);
+is(
+ $parser->devise_date,
+ strftime('%Y-%m-%d', localtime()),
+ 'devise_date matches strftime'
+);
+
+# Set the override environment variable and ensure that it's honored.
+local $ENV{POD_MAN_DATE} = '2014-01-01';
+is($parser->devise_date, '2014-01-01', 'devise_date honors POD_MAN_DATE');

View File

@@ -1,52 +0,0 @@
From 183bb4af7ad862a2cf31d0dcb3dd45c100f76776 Mon Sep 17 00:00:00 2001
From: Russ Allbery <rra@cpan.org>
Date: Wed, 15 Apr 2015 22:21:25 -0700
Subject: Support an empty POD_MAN_DATE environment variable
One may want to set this to an empty string. Handle that correctly.
(backported to Perl 5.20.2 by Niko Tyni <ntyni@debian.org>)
Origin: upstream, http://git.eyrie.org/?p=perl/podlators.git;a=commitdiff;h=e0e9fcb53e8fc954b2b1955385eea18c27f869af
Bug-Debian: https://bugs.debian.org/780259
Patch-Name: fixes/podman-empty-date.diff
Upstream-Status: Pending
---
cpan/podlators/lib/Pod/Man.pm | 2 +-
cpan/podlators/t/devise-date.t | 6 +++++-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/cpan/podlators/lib/Pod/Man.pm b/cpan/podlators/lib/Pod/Man.pm
index 365892e..8997a15 100644
--- a/cpan/podlators/lib/Pod/Man.pm
+++ b/cpan/podlators/lib/Pod/Man.pm
@@ -894,7 +894,7 @@ sub devise_date {
my ($self) = @_;
# If POD_MAN_DATE is set, always use it.
- if ($ENV{POD_MAN_DATE}) {
+ if (defined($ENV{POD_MAN_DATE})) {
return $ENV{POD_MAN_DATE};
}
diff --git a/cpan/podlators/t/devise-date.t b/cpan/podlators/t/devise-date.t
index 9da9d1b..27271d9 100644
--- a/cpan/podlators/t/devise-date.t
+++ b/cpan/podlators/t/devise-date.t
@@ -12,7 +12,7 @@ use warnings;
use Pod::Man;
use POSIX qw(strftime);
-use Test::More tests => 2;
+use Test::More tests => 3;
# Check that the results of device_date matches strftime. There is no input
# file name, so this will use the current time.
@@ -26,3 +26,7 @@ is(
# Set the override environment variable and ensure that it's honored.
local $ENV{POD_MAN_DATE} = '2014-01-01';
is($parser->devise_date, '2014-01-01', 'devise_date honors POD_MAN_DATE');
+
+# Check that an empty environment variable is honored.
+local $ENV{POD_MAN_DATE} = q{};
+is($parser->devise_date, q{}, 'devise_date honors empty POD_MAN_DATE');

View File

@@ -1,110 +0,0 @@
From 7671d101baa75d7a79bfbd8c75c1595fbb3f53ba Mon Sep 17 00:00:00 2001
From: Russ Allbery <rra@cpan.org>
Date: Sat, 7 Feb 2015 19:03:34 -0800
Subject: Better errors for man pages from standard input
[Pod::Man] Attempt to detect if the input came from a pipe and
therefore has a completely unhelpful (and nonreproducible) source file
name, and diagnose this as an error. Document that the name option
(--name to pod2man) is required when processing POD source from
standard input. (Debian Bug#777405)
(backported to Perl 5.20.2 by Niko Tyni <ntyni@debian.org>)
Origin: upstream, http://git.eyrie.org/?p=perl/podlators.git;a=commitdiff;h=d98872e46c93861b7aba14949e1258712087dc55
Bug-Debian: https://bugs.debian.org/777405
Patch-Name: fixes/podman-pipe.diff
Upstream-Status: Pending
---
cpan/podlators/lib/Pod/Man.pm | 15 +++++++++++++++
cpan/podlators/scripts/pod2man.PL | 4 ++++
cpan/podlators/t/devise-title.t | 32 ++++++++++++++++++++++++++++++++
3 files changed, 51 insertions(+)
create mode 100755 cpan/podlators/t/devise-title.t
diff --git a/cpan/podlators/lib/Pod/Man.pm b/cpan/podlators/lib/Pod/Man.pm
index 8997a15..969eaff 100644
--- a/cpan/podlators/lib/Pod/Man.pm
+++ b/cpan/podlators/lib/Pod/Man.pm
@@ -828,6 +828,17 @@ sub devise_title {
$section = 3 if (!$$self{section} && $name =~ /\.pm\z/i);
$name =~ s/\.p(od|[lm])\z//i;
+ # If Pod::Parser gave us an IO::File reference as the source file name,
+ # convert that to the empty string as well. Then, if we don't have a
+ # valid name, emit a warning and convert it to STDIN.
+ if ($name =~ /^IO::File(?:=\w+)\(0x[\da-f]+\)$/i) {
+ $name = '';
+ }
+ if ($name eq '') {
+ $self->whine (1, 'No name given for document');
+ $name = 'STDIN';
+ }
+
# If the section isn't 3, then the name defaults to just the basename of
# the file. Otherwise, assume we're dealing with a module. We want to
# figure out the full module name from the path to the file, but we don't
@@ -1705,6 +1716,10 @@ module path. If it is, a path like C<.../lib/Pod/Man.pm> is converted into
a name like C<Pod::Man>. This option, if given, overrides any automatic
determination of the name.
+If generating a manual page from standard input, this option is required,
+since there's otherwise no way for Pod::Man to know what to use for the
+manual page name.
+
=item nourls
Normally, LZ<><> formatting codes with a URL but anchor text are formatted
diff --git a/cpan/podlators/scripts/pod2man.PL b/cpan/podlators/scripts/pod2man.PL
index 38695f8..43e35df 100644
--- a/cpan/podlators/scripts/pod2man.PL
+++ b/cpan/podlators/scripts/pod2man.PL
@@ -236,6 +236,10 @@ Note that this option is probably not useful when converting multiple POD
files at once. The convention for Unix man pages for commands is for the
man page title to be in all-uppercase even if the command isn't.
+When converting POD source from standard input, this option is required,
+since there's otherwise no way to know what to use as the name of the
+manual page.
+
=item B<--nourls>
Normally, LZ<><> formatting codes with a URL but anchor text are formatted
diff --git a/cpan/podlators/t/devise-title.t b/cpan/podlators/t/devise-title.t
new file mode 100755
index 0000000..8639441
--- /dev/null
+++ b/cpan/podlators/t/devise-title.t
@@ -0,0 +1,32 @@
+#!/usr/bin/perl
+#
+# Tests for the automatic determination of the manual page title if not
+# specified via options to pod2man or the Pod::Man constructor.
+
+use 5.006;
+use strict;
+use warnings;
+
+use File::Spec;
+use IO::File;
+use Test::More tests => 3;
+
+BEGIN {
+ use_ok('Pod::Man');
+}
+
+# Create a parser and set it up with an input source. There isn't a way to do
+# this in Pod::Simple without actually parsing the document, so send the
+# output to a string that we'll ignore.
+my $path = File::Spec->catdir('t', 'data', 'basic.pod');
+my $handle = IO::File->new($path, 'r');
+my $parser = Pod::Man->new(errors => 'pod');
+my $output;
+$parser->output_string(\$output);
+$parser->parse_file($handle);
+
+# Check the results of devise_title for this. We should get back STDIN, and
+# we should have reported an error.
+my ($name, $section) = $parser->devise_title;
+is($name, 'STDIN', 'devise_title uses STDIN for file handle input');
+ok($parser->errors_seen, '...and errors were seen');

View File

@@ -1,87 +0,0 @@
From 6198856b5323d6204094293f01b890472618f182 Mon Sep 17 00:00:00 2001
From: Russ Allbery <rra@cpan.org>
Date: Wed, 15 Apr 2015 20:49:07 -0700
Subject: Documentation and test suite updates for UTC fix
Update the Pod::Man and pod2man documentation and the test suite
for the new UTC-based default page footer, and add a Changes
entry.
(backported to Perl 5.20.2 by Niko Tyni <ntyni@debian.org>)
Origin: upstream, http://git.eyrie.org/?p=perl/podlators.git;a=commitdiff;h=52db93bf80e4a06f8497e4ebade0506b6ee0e70d
Bug-Debian: https://bugs.debian.org/780259
Patch-Name: fixes/podman-utc-docs.diff
Upstream-Status: Pending
---
cpan/podlators/lib/Pod/Man.pm | 6 +++++-
cpan/podlators/scripts/pod2man.PL | 11 ++++++-----
cpan/podlators/t/devise-date.t | 2 +-
3 files changed, 12 insertions(+), 7 deletions(-)
diff --git a/cpan/podlators/lib/Pod/Man.pm b/cpan/podlators/lib/Pod/Man.pm
index c3ba201..365892e 100644
--- a/cpan/podlators/lib/Pod/Man.pm
+++ b/cpan/podlators/lib/Pod/Man.pm
@@ -910,6 +910,8 @@ sub devise_date {
# Can't use POSIX::strftime(), which uses Fcntl, because MakeMaker uses
# this and it has to work in the core which can't load dynamic libraries.
+ # Use gmtime instead of localtime so that the generated man page does not
+ # depend on the local time zone setting and is more reproducible
my ($year, $month, $day) = (gmtime($time))[5,4,3];
return sprintf("%04d-%02d-%02d", $year + 1900, $month + 1, $day);
}
@@ -1656,7 +1658,9 @@ environment variable POD_MAN_DATE, if set, will be used. Failing that,
the modification date of the input file will be used, or the current time
if stat() can't find that file (which will be the case if the input is
from C<STDIN>). If obtained from the file modification date or the
-current time, he date will be formatted as C<YYYY-MM-DD>.
+current time, the date will be formatted as C<YYYY-MM-DD> and will be based
+on UTC (so that the output will be reproducible regardless of local time
+zone).
=item errors
diff --git a/cpan/podlators/scripts/pod2man.PL b/cpan/podlators/scripts/pod2man.PL
index 6af3474..38695f8 100644
--- a/cpan/podlators/scripts/pod2man.PL
+++ b/cpan/podlators/scripts/pod2man.PL
@@ -174,9 +174,10 @@ Contributed Perl Documentation", but also see B<--official> below.
=item B<-d> I<string>, B<--date>=I<string>
-Set the left-hand footer string to this value. By default, the modification
-date of the input file will be used, or the current date if input comes from
-C<STDIN>.
+Set the left-hand footer string to this value. By default, the
+modification date of the input file will be used, or the current date if
+input comes from C<STDIN>, and will be based on UTC (so that the output
+will be reproducible regardless of local time zone).
=item B<-errors>=I<style>
@@ -383,8 +384,8 @@ B<pod2man> by Larry Wall and Tom Christiansen.
=head1 COPYRIGHT AND LICENSE
-Copyright 1999, 2000, 2001, 2004, 2006, 2008, 2010, 2012, 2013 Russ
-Allbery <rra@stanford.edu>.
+Copyright 1999, 2000, 2001, 2004, 2006, 2008, 2010, 2012, 2013, 2014,
+2015 Russ Allbery <rra@cpan.org>.
This program is free software; you may redistribute it and/or modify it
under the same terms as Perl itself.
diff --git a/cpan/podlators/t/devise-date.t b/cpan/podlators/t/devise-date.t
index c610dd9..9da9d1b 100644
--- a/cpan/podlators/t/devise-date.t
+++ b/cpan/podlators/t/devise-date.t
@@ -19,7 +19,7 @@ use Test::More tests => 2;
my $parser = Pod::Man->new;
is(
$parser->devise_date,
- strftime('%Y-%m-%d', localtime()),
+ strftime('%Y-%m-%d', gmtime()),
'devise_date matches strftime'
);

View File

@@ -1,34 +0,0 @@
From c796775cdbd2cce06acbb7ac355187d4063017a2 Mon Sep 17 00:00:00 2001
From: Chris Lamb <lamby@debian.org>
Date: Wed, 15 Apr 2015 20:42:53 -0700
Subject: Make the embedded date from Pod::Man reproducible
While working on the "reproducible builds" effort, we have noticed
that Pod::Man generates output that varies depending on the current
timezone.
The attached patch fixes this by using GMT (~UTC) dates instead.
(backported to Perl 5.20.2 by Niko Tyni <ntyni@debian.org>)
Origin: upstream, http://git.eyrie.org/?p=perl/podlators.git;a=commitdiff;h=913fbb2bd2ce071e20128629302ae2852554cad4
Bug-Debian: https://bugs.debian.org/780259
Patch-Name: fixes/podman-utc.diff
Upstream-Status: Pending
---
cpan/podlators/lib/Pod/Man.pm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cpan/podlators/lib/Pod/Man.pm b/cpan/podlators/lib/Pod/Man.pm
index 0536662..c3ba201 100644
--- a/cpan/podlators/lib/Pod/Man.pm
+++ b/cpan/podlators/lib/Pod/Man.pm
@@ -910,7 +910,7 @@ sub devise_date {
# Can't use POSIX::strftime(), which uses Fcntl, because MakeMaker uses
# this and it has to work in the core which can't load dynamic libraries.
- my ($year, $month, $day) = (localtime($time))[5,4,3];
+ my ($year, $month, $day) = (gmtime($time))[5,4,3];
return sprintf("%04d-%02d-%02d", $year + 1900, $month + 1, $day);
}

View File

@@ -1,154 +0,0 @@
From d9d535ef97f57af6e9728075944c33f3b0b5372f Mon Sep 17 00:00:00 2001
From: Brendan O'Dea <bod@debian.org>
Date: Tue, 8 Mar 2005 19:30:38 +1100
Subject: Respect umask during installation
This is needed to satisfy Debian policy regarding group-writable
site directories.
Patch-Name: fixes/respect_umask.diff
Upstream-Status: Pending
---
cpan/ExtUtils-Install/lib/ExtUtils/Install.pm | 18 +++++++++---------
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 18 +++++++++---------
2 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/cpan/ExtUtils-Install/lib/ExtUtils/Install.pm b/cpan/ExtUtils-Install/lib/ExtUtils/Install.pm
index 1e8ac4c..3e79121 100644
--- a/cpan/ExtUtils-Install/lib/ExtUtils/Install.pm
+++ b/cpan/ExtUtils-Install/lib/ExtUtils/Install.pm
@@ -451,7 +451,7 @@ sub _can_write_dir {
=pod
-=item _mkpath($dir,$show,$mode,$verbose,$dry_run)
+=item _mkpath($dir,$show,$verbose,$dry_run)
Wrapper around File::Path::mkpath() to handle errors.
@@ -468,13 +468,13 @@ writable.
=cut
sub _mkpath {
- my ($dir,$show,$mode,$verbose,$dry_run)=@_;
+ my ($dir,$show,$verbose,$dry_run)=@_;
if ( $verbose && $verbose > 1 && ! -d $dir) {
$show= 1;
- printf "mkpath(%s,%d,%#o)\n", $dir, $show, $mode;
+ printf "mkpath(%s,%d)\n", $dir, $show;
}
if (!$dry_run) {
- if ( ! eval { File::Path::mkpath($dir,$show,$mode); 1 } ) {
+ if ( ! eval { File::Path::mkpath($dir,$show); 1 } ) {
_choke("Can't create '$dir'","$@");
}
@@ -783,7 +783,7 @@ sub install { #XXX OS-SPECIFIC
_chdir($cwd);
}
foreach my $targetdir (sort keys %check_dirs) {
- _mkpath( $targetdir, 0, 0755, $verbose, $dry_run );
+ _mkpath( $targetdir, 0, $verbose, $dry_run );
}
foreach my $found (@found_files) {
my ($diff, $ffd, $origfile, $mode, $size, $atime, $mtime,
@@ -797,7 +797,7 @@ sub install { #XXX OS-SPECIFIC
$targetfile= _unlink_or_rename( $targetfile, 'tryhard', 'install' )
unless $dry_run;
} elsif ( ! -d $targetdir ) {
- _mkpath( $targetdir, 0, 0755, $verbose, $dry_run );
+ _mkpath( $targetdir, 0, $verbose, $dry_run );
}
print "Installing $targetfile\n";
@@ -837,7 +837,7 @@ sub install { #XXX OS-SPECIFIC
if ($pack{'write'}) {
$dir = install_rooted_dir(dirname($pack{'write'}));
- _mkpath( $dir, 0, 0755, $verbose, $dry_run );
+ _mkpath( $dir, 0, $verbose, $dry_run );
print "Writing $pack{'write'}\n" if $verbose;
$packlist->write(install_rooted_file($pack{'write'})) unless $dry_run;
}
@@ -1180,7 +1180,7 @@ environment variable will silence this output.
sub pm_to_blib {
my($fromto,$autodir,$pm_filter) = @_;
- _mkpath($autodir,0,0755);
+ _mkpath($autodir,0);
while(my($from, $to) = each %$fromto) {
if( -f $to && -s $from == -s $to && -M $to < -M $from ) {
print "Skip $to (unchanged)\n" unless $INSTALL_QUIET;
@@ -1203,7 +1203,7 @@ sub pm_to_blib {
# we wont try hard here. its too likely to mess things up.
forceunlink($to);
} else {
- _mkpath(dirname($to),0,0755);
+ _mkpath(dirname($to),0);
}
if ($need_filtering) {
run_filter($pm_filter, $from, $to);
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
index f63145c..197f102 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
@@ -2118,7 +2118,7 @@ doc__install : doc_site_install
$(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site
pure_perl_install :: all
- $(NOECHO) $(MOD_INSTALL) \
+ $(NOECHO) umask 022; $(MOD_INSTALL) \
};
push @m,
@@ -2138,7 +2138,7 @@ q{ "$(INST_LIB)" "$(DESTINSTALLPRIVLIB)" \
pure_site_install :: all
- $(NOECHO) $(MOD_INSTALL) \
+ $(NOECHO) umask 022; $(MOD_INSTALL) \
};
push @m,
q{ read "}.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{" \
@@ -2156,7 +2156,7 @@ q{ "$(INST_LIB)" "$(DESTINSTALLSITELIB)" \
"}.$self->catdir('$(PERL_ARCHLIB)','auto','$(FULLEXT)').q{"
pure_vendor_install :: all
- $(NOECHO) $(MOD_INSTALL) \
+ $(NOECHO) umask 022; $(MOD_INSTALL) \
};
push @m,
q{ read "}.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{" \
@@ -2188,8 +2188,8 @@ doc_vendor_install :: all
push @m, q{
doc_perl_install :: all
$(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod"
- -$(NOECHO) $(MKPATH) "$(DESTINSTALLARCHLIB)"
- -$(NOECHO) $(DOC_INSTALL) \
+ -$(NOECHO) umask 022; $(MKPATH) "$(DESTINSTALLARCHLIB)"
+ -$(NOECHO) umask 022; $(DOC_INSTALL) \
"Module" "$(NAME)" \
"installed into" $(INSTALLPRIVLIB) \
LINKTYPE "$(LINKTYPE)" \
@@ -2199,8 +2199,8 @@ doc_perl_install :: all
doc_site_install :: all
$(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod"
- -$(NOECHO) $(MKPATH) "$(DESTINSTALLARCHLIB)"
- -$(NOECHO) $(DOC_INSTALL) \
+ -$(NOECHO) umask 022; $(MKPATH) "$(DESTINSTALLARCHLIB)"
+ -$(NOECHO) umask 022; $(DOC_INSTALL) \
"Module" "$(NAME)" \
"installed into" $(INSTALLSITELIB) \
LINKTYPE "$(LINKTYPE)" \
@@ -2210,8 +2210,8 @@ doc_site_install :: all
doc_vendor_install :: all
$(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod"
- -$(NOECHO) $(MKPATH) "$(DESTINSTALLARCHLIB)"
- -$(NOECHO) $(DOC_INSTALL) \
+ -$(NOECHO) umask 022; $(MKPATH) "$(DESTINSTALLARCHLIB)"
+ -$(NOECHO) umask 022; $(DOC_INSTALL) \
"Module" "$(NAME)" \
"installed into" $(INSTALLVENDORLIB) \
LINKTYPE "$(LINKTYPE)" \

View File

@@ -1,28 +0,0 @@
From 26209b55201a1b2d25252ac3b425bc49081299de Mon Sep 17 00:00:00 2001
From: Brendan O'Dea <bod@debian.org>
Date: Tue, 8 Mar 2005 19:30:38 +1100
Subject: Debian policy doesn't install .packlist files for core or vendor.
Patch-Name: debian/instmodsh_doc.diff
Upstream-Status: Pending
---
cpan/ExtUtils-MakeMaker/bin/instmodsh | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/cpan/ExtUtils-MakeMaker/bin/instmodsh b/cpan/ExtUtils-MakeMaker/bin/instmodsh
index 8b9aa95..e551434 100644
--- a/cpan/ExtUtils-MakeMaker/bin/instmodsh
+++ b/cpan/ExtUtils-MakeMaker/bin/instmodsh
@@ -18,9 +18,11 @@ instmodsh - A shell to examine installed modules
=head1 DESCRIPTION
-A little interface to ExtUtils::Installed to examine installed modules,
+A little interface to ExtUtils::Installed to examine locally* installed modules,
validate your packlists and even create a tarball from an installed module.
+*On Debian system, B<core> and B<vendor> modules are managed by C<dpkg>.
+
=head1 SEE ALSO
ExtUtils::Installed

View File

@@ -1,25 +0,0 @@
From 53ce69085918232a1b7e26e7762c1b2f70b1eb4a Mon Sep 17 00:00:00 2001
From: Brendan O'Dea <bod@debian.org>
Date: Fri, 18 Mar 2005 22:22:25 +1100
Subject: Remove standard libs from LD_RUN_PATH as per Debian policy.
Patch-Name: debian/ld_run_path.diff
Upstream-Status: Pending
---
cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm | 3 +++
1 file changed, 3 insertions(+)
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
index 37bcfd4..bd66e65 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
@@ -56,6 +56,9 @@ sub _unix_os2_ext {
my ( $pwd ) = cwd(); # from Cwd.pm
my ( $found ) = 0;
+ # Debian-specific: don't use LD_RUN_PATH for standard dirs
+ $ld_run_path_seen{$_}++ for @libpath;
+
foreach my $thislib ( split ' ', $potential_libs ) {
my ( $custom_name ) = '';

View File

@@ -1,38 +0,0 @@
From a7f6d453e60256d329469a75b642cca854cebea1 Mon Sep 17 00:00:00 2001
From: Brendan O'Dea <bod@debian.org>
Date: Tue, 8 Mar 2005 19:30:38 +1100
Subject: Set location of libnet.cfg to /etc/perl/Net as /usr may not be
writable.
Patch-Name: debian/libnet_config_path.diff
Upstream-Status: Pending
---
cpan/libnet/lib/Net/Config.pm | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/cpan/libnet/lib/Net/Config.pm b/cpan/libnet/lib/Net/Config.pm
index 953a826..61ba12a 100644
--- a/cpan/libnet/lib/Net/Config.pm
+++ b/cpan/libnet/lib/Net/Config.pm
@@ -68,9 +68,8 @@ my %nc = (
TRY_INTERNET_CONFIG
}
-my $file = __FILE__;
+my $file = '/etc/perl/Net/libnet.cfg';
my $ref;
-$file =~ s/Config.pm/libnet.cfg/;
if (-f $file) {
$ref = eval { local $SIG{__DIE__}; do $file };
if (ref($ref) eq 'HASH') {
@@ -142,8 +141,8 @@ Net::Config - Local configuration data for libnet
C<Net::Config> holds configuration data for the modules in the libnet
distribution. During installation you will be asked for these values.
-The configuration data is held globally in a file in the perl installation
-tree, but a user may override any of these values by providing their own. This
+The configuration data is held globally in C</etc/perl/Net/libnet.cfg>,
+but a user may override any of these values by providing their own. This
can be done by having a C<.libnetrc> file in their home directory. This file
should return a reference to a HASH containing the keys described below.
For example

View File

@@ -1,27 +0,0 @@
From fb8bdbb4bf56382de099e62c2564286b9dfda46d Mon Sep 17 00:00:00 2001
From: Brendan O'Dea <bod@debian.org>
Date: Tue, 8 Mar 2005 19:30:38 +1100
Subject: Note that libperl-dev package is required for embedded linking
Bug-Debian: http://bugs.debian.org/186778
Patch-Name: debian/libperl_embed_doc.diff
Upstream-Status: Pending
---
lib/ExtUtils/Embed.pm | 3 +++
1 file changed, 3 insertions(+)
diff --git a/lib/ExtUtils/Embed.pm b/lib/ExtUtils/Embed.pm
index 3f983c1..0ec8a67 100644
--- a/lib/ExtUtils/Embed.pm
+++ b/lib/ExtUtils/Embed.pm
@@ -296,6 +296,9 @@ and extensions in your C/C++ applications.
Typically, an application F<Makefile> will invoke C<ExtUtils::Embed>
functions while building your application.
+Note that on Debian systems the B<libperl-dev> package is required for
+compiling applications which embed an interpreter.
+
=head1 @EXPORT
C<ExtUtils::Embed> exports the following functions:

View File

@@ -1,53 +0,0 @@
From 289eaf87f8de4d9ebfd661d4e4299c2952435243 Mon Sep 17 00:00:00 2001
From: Niko Tyni <ntyni@debian.org>
Date: Fri, 10 Apr 2015 10:19:51 +0300
Subject: Make t/run/locale.t survive missing locales masked by LC_ALL
If LC_ALL is set to a valid locale but another LC_* setting like LC_CTYPE
isn't, t/run/locale.t would fail because it explicitly unsets LC_ALL,
unmasking the problem underneath. All the other tests survive such
a scenario.
While this is clearly an error in the build environment, it's easy to make
the test more robust by first clearing all the locale relevant variables.
Bug: https://rt.perl.org/Ticket/Display.html?id=124310
Bug-Debian: https://bugs.debian.org/782068
Patch-Name: debian/locale-robustness.diff
Upstream-Status: Pending
---
t/run/locale.t | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/t/run/locale.t b/t/run/locale.t
index bd1a034..2105339 100644
--- a/t/run/locale.t
+++ b/t/run/locale.t
@@ -27,6 +27,9 @@ my @locales = eval { find_locales( [ &LC_ALL, &LC_CTYPE, &LC_NUMERIC ],
) };
skip_all("no locales available") unless @locales;
+# reset the locale environment
+local @ENV{'LANG', (grep /^LC_/, keys %ENV)};
+
plan tests => &last;
my $non_C_locale;
@@ -58,9 +61,6 @@ EOF
SKIP: {
skip("Windows stores locale defaults in the registry", 1 )
if $^O eq 'MSWin32';
- local $ENV{LC_NUMERIC}; # So not taken as a default
- local $ENV{LC_ALL}; # so it never overrides LC_NUMERIC
- local $ENV{LANG}; # So not taken as a default
fresh_perl_is("for (qw(@locales)) {\n" . <<'EOF',
use POSIX qw(locale_h);
use locale;
@@ -348,7 +348,6 @@ EOF
{
local $ENV{LC_NUMERIC} = $different;
- local $ENV{LC_ALL}; # so it never overrides LC_NUMERIC
fresh_perl_is(<<"EOF",
use POSIX qw(locale_h);

View File

@@ -1,31 +0,0 @@
From 593dd52f535b1f439dfd0afe52211ae8960e980a Mon Sep 17 00:00:00 2001
From: Niko Tyni <ntyni@debian.org>
Date: Sun, 24 Aug 2014 12:56:11 -0700
Subject: Pass LD settings through to subdirectories
[rt.cpan.org #28632] fixed most issues with passing LD down to
subdirectory Makefile.PL files. However, there are some distributions
(including Wx, Par::Packer, and Verilog-Perl) that explicitly set
LD. Those still can't be overridden from the command line. Adding LD to
the PASTHRU list fixes this.
Bug-Debian: https://bugs.debian.org/758471
Patch-Name: debian/makemaker-pasthru.diff
Upstream-Status: Pending
---
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
index 4a8e14c..548d98e 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
@@ -2793,7 +2793,7 @@ sub pasthru {
my($sep) = $Is{VMS} ? ',' : '';
$sep .= "\\\n\t";
- foreach my $key (qw(LIB LIBPERL_A LINKTYPE OPTIMIZE
+ foreach my $key (qw(LIB LIBPERL_A LINKTYPE OPTIMIZE LD
PREFIX INSTALL_BASE)
)
{

View File

@@ -1,43 +0,0 @@
From 634449066a9c810e81506425d2ca925b2fd72ab2 Mon Sep 17 00:00:00 2001
From: Dominic Hargreaves <dom@earth.li>
Date: Sat, 23 May 2015 21:15:06 +0200
Subject: Update t/porting/customized.dat for files patched in Debian
Patch-Name: debian/makemaker_customized.diff
Upstream-Status: Pending
---
t/porting/customized.dat | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/t/porting/customized.dat b/t/porting/customized.dat
index 7df398d..f857bd2 100644
--- a/t/porting/customized.dat
+++ b/t/porting/customized.dat
@@ -1,7 +1,7 @@
ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm 7f4dfd0fe884bd42412bcf04ca80ef97b39c1d54
ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm bef099988b15fb0b2a1f5ac48c01af1f7f36d329
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm 8168e18f0e3ce3ece4bb7e7c72d57ec07c67c402
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm 7115e97a53559cb3ec061dd6f7f344e522724c4a
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm 3493ae6f93264e967f58dedaa3dbf3dbcb249853
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm 3d7abd674b15ed323f743594ef0bd09db76b1aee
ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm f8db8d4245bf0684b8210c811f50d7cfb1a27d78
ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod 757bffb47857521311f8f3bde43ebe165f8d5191
ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Locale.pm 82be06851deb84c6419ad003ce9b6d1957f395f3
@@ -13,7 +13,7 @@ ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm 58872d66
ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm ab80029ab16d38d4f2e41dc88d2ceb9f3790e477
ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm 453e0abbc4bb38db4c0820ad5c4846f313b66291
ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm c1b1babda8f43ae7a2caba1cb4f70f92af5a0e34
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm 6f90d94ad3e7aa0045a3b1a10a1bb18391f89f57
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm 21bde53290bf1a4da4457290b65bd1b0ca6f1d16
ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm cab2b3ce08b71a4ce89aa630f236eb08b852439d
ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm 61fced0faf518bf87c265fcb51ed330ba354623f
ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm ae0ef51a7b6dd0b05aa61c779df7167dda5f5119
@@ -22,7 +22,7 @@ ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm 0544301f712
ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm 433135eecb85b4b1d90d3027432f329436c78447
ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm 1fbb5605bfb47feee4083feba8aa85e659628f70
ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm 5b66d1f485a6034d96fc24ba1665b1bad9e447f1
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm 8cef99a9bd370ecfd07ddb0efbdcbb4101255e45
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm c455c915fb7dc3eeb1200ed1cd19048e6f21e6b1
ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm 939572fde3d59ba77c2e677fe2df2bed4bed5898
ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm 09c2049bfd25b735e2a5bcf56a6cff7b4827f9c8
ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm d65d63f8217a55c36f62e249814988974f593c79

View File

@@ -1,100 +0,0 @@
From 6c6cf14e204f3c031372bfd9604ad524d5691186 Mon Sep 17 00:00:00 2001
From: Brendan O'Dea <bod@debian.org>
Date: Fri, 18 Mar 2005 22:22:25 +1100
Subject: Tweak @INC ordering for Debian
Our order is:
etc (for config files)
site (5.8.1)
vendor (all)
core (5.8.1)
site (version-indep)
site (pre-5.8.1)
The rationale being that an admin (via site), or module packager
(vendor) can chose to shadow core modules when there is a newer
version than is included in core.
Patch-Name: debian/mod_paths.diff
Upstream-Status: Pending
---
perl.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 58 insertions(+)
diff --git a/perl.c b/perl.c
index 086645b..e64f1f4 100644
--- a/perl.c
+++ b/perl.c
@@ -4373,6 +4373,11 @@ S_init_perllib(pTHX)
INCPUSH_ADD_SUB_DIRS|INCPUSH_CAN_RELOCATE);
#endif
+#ifdef DEBIAN
+ /* for configuration where /usr is mounted ro (CPAN::Config, Net::Config) */
+ S_incpush_use_sep(aTHX_ STR_WITH_LEN("/etc/perl"), 0x0);
+#endif
+
#ifdef SITEARCH_EXP
/* sitearch is always relative to sitelib on Windows for
* DLL-based path intuition to work correctly */
@@ -4490,6 +4495,59 @@ S_init_perllib(pTHX)
INCPUSH_ADD_OLD_VERS|INCPUSH_CAN_RELOCATE);
#endif
+#ifdef DEBIAN
+ /* Non-versioned site directory for local modules and for
+ compatability with the previous packages' site dirs */
+ S_incpush_use_sep(aTHX_ STR_WITH_LEN("/usr/local/lib/site_perl"),
+ INCPUSH_ADD_SUB_DIRS);
+
+#ifdef PERL_INC_VERSION_LIST
+ {
+ struct stat s;
+
+ /* add small buffer in case old versions are longer than the
+ current version */
+ char sitearch[sizeof(SITEARCH_EXP)+16] = SITEARCH_EXP;
+ char sitelib[sizeof(SITELIB_EXP)+16] = SITELIB_EXP;
+ char const *vers[] = { PERL_INC_VERSION_LIST };
+ char const **p;
+
+ char *arch_vers = strrchr(sitearch, '/');
+ char *lib_vers = strrchr(sitelib, '/');
+
+ if (arch_vers && isdigit(*++arch_vers))
+ *arch_vers = 0;
+ else
+ arch_vers = 0;
+
+ if (lib_vers && isdigit(*++lib_vers))
+ *lib_vers = 0;
+ else
+ lib_vers = 0;
+
+ /* there is some duplication here as incpush does something
+ similar internally, but required as sitearch is not a
+ subdirectory of sitelib */
+ for (p = vers; *p; p++)
+ {
+ if (arch_vers)
+ {
+ strcpy(arch_vers, *p);
+ if (PerlLIO_stat(sitearch, &s) >= 0 && S_ISDIR(s.st_mode))
+ S_incpush_use_sep(aTHX_ sitearch, strlen(sitearch), 0x0);
+ }
+
+ if (lib_vers)
+ {
+ strcpy(lib_vers, *p);
+ if (PerlLIO_stat(sitelib, &s) >= 0 && S_ISDIR(s.st_mode))
+ S_incpush_use_sep(aTHX_ sitelib, strlen(sitelib), 0x0);
+ }
+ }
+ }
+#endif
+#endif
+
#ifdef PERL_OTHERLIBDIRS
S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_OTHERLIBDIRS),
INCPUSH_ADD_OLD_VERS|INCPUSH_ADD_ARCHONLY_SUB_DIRS

View File

@@ -1,93 +0,0 @@
From 240f2f4aeb3850bc0c5370b9fbc3909573bed9b3 Mon Sep 17 00:00:00 2001
From: Brendan O'Dea <bod@debian.org>
Date: Tue, 8 Mar 2005 19:30:38 +1100
Subject: Don't install .packlist or perllocal.pod for perl or vendor
Patch-Name: debian/no_packlist_perllocal.diff
Upstream-Status: Pending
---
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 35 +++----------------------
1 file changed, 3 insertions(+), 32 deletions(-)
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
index 570a631..391dc22 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
@@ -2122,11 +2122,6 @@ pure_perl_install :: all
};
push @m,
-q{ read "}.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{" \
- write "}.$self->catfile('$(DESTINSTALLARCHLIB)','auto','$(FULLEXT)','.packlist').q{" \
-} unless $self->{NO_PACKLIST};
-
- push @m,
q{ "$(INST_LIB)" "$(DESTINSTALLPRIVLIB)" \
"$(INST_ARCHLIB)" "$(DESTINSTALLARCHLIB)" \
"$(INST_BIN)" "$(DESTINSTALLBIN)" \
@@ -2158,10 +2153,6 @@ q{ "$(INST_LIB)" "$(DESTINSTALLSITELIB)" \
pure_vendor_install :: all
$(NOECHO) umask 022; $(MOD_INSTALL) \
};
- push @m,
-q{ read "}.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{" \
- write "}.$self->catfile('$(DESTINSTALLVENDORARCH)','auto','$(FULLEXT)','.packlist').q{" \
-} unless $self->{NO_PACKLIST};
push @m,
q{ "$(INST_LIB)" "$(DESTINSTALLVENDORLIB)" \
@@ -2187,37 +2178,19 @@ doc_vendor_install :: all
push @m, q{
doc_perl_install :: all
- $(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod"
- -$(NOECHO) umask 022; $(MKPATH) "$(DESTINSTALLARCHLIB)"
- -$(NOECHO) umask 022; $(DOC_INSTALL) \
- "Module" "$(NAME)" \
- "installed into" $(INSTALLPRIVLIB) \
- LINKTYPE "$(LINKTYPE)" \
- VERSION "$(VERSION)" \
- EXE_FILES "$(EXE_FILES)" \
- >> "}.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{"
doc_site_install :: all
- $(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod"
- -$(NOECHO) umask 02; $(MKPATH) "$(DESTINSTALLARCHLIB)"
+ $(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLSITEARCH)/perllocal.pod"
+ -$(NOECHO) umask 02; $(MKPATH) "$(DESTINSTALLSITEARCH)"
-$(NOECHO) umask 02; $(DOC_INSTALL) \
"Module" "$(NAME)" \
"installed into" $(INSTALLSITELIB) \
LINKTYPE "$(LINKTYPE)" \
VERSION "$(VERSION)" \
EXE_FILES "$(EXE_FILES)" \
- >> "}.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{"
+ >> "}.$self->catfile('$(DESTINSTALLSITEARCH)','perllocal.pod').q{"
doc_vendor_install :: all
- $(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod"
- -$(NOECHO) umask 022; $(MKPATH) "$(DESTINSTALLARCHLIB)"
- -$(NOECHO) umask 022; $(DOC_INSTALL) \
- "Module" "$(NAME)" \
- "installed into" $(INSTALLVENDORLIB) \
- LINKTYPE "$(LINKTYPE)" \
- VERSION "$(VERSION)" \
- EXE_FILES "$(EXE_FILES)" \
- >> "}.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{"
} unless $self->{NO_PERLLOCAL};
@@ -2226,13 +2199,11 @@ uninstall :: uninstall_from_$(INSTALLDIRS)dirs
$(NOECHO) $(NOOP)
uninstall_from_perldirs ::
- $(NOECHO) $(UNINSTALL) "}.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{"
uninstall_from_sitedirs ::
$(NOECHO) $(UNINSTALL) "}.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{"
uninstall_from_vendordirs ::
- $(NOECHO) $(UNINSTALL) "}.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{"
};
join("",@m);

View File

@@ -1,31 +0,0 @@
From b517c5e15d0871e36d0f1187661fe1dd28ddf820 Mon Sep 17 00:00:00 2001
From: Niko Tyni <ntyni@debian.org>
Date: Sun, 15 May 2011 19:35:58 +0300
Subject: List packaged patches in patchlevel.h
Origin: vendor
Bug-Debian: http://bugs.debian.org/567489
The list of packaged patches is in patchlevel-debian.h, which is generated
from the debian/patches/ directory when building the package.
Patch-Name: debian/patchlevel.diff
Upstream-Status: Pending
---
patchlevel.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/patchlevel.h b/patchlevel.h
index a0ad78b..01367b7 100644
--- a/patchlevel.h
+++ b/patchlevel.h
@@ -137,6 +137,9 @@ static const char * const local_patches[] = {
,"uncommitted-changes"
#endif
PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */
+#ifdef DEBIAN
+#include "patchlevel-debian.h"
+#endif
,NULL
};

View File

@@ -1,30 +0,0 @@
From c99c61e8f863a508a0793168011c98dc74abbd05 Mon Sep 17 00:00:00 2001
From: Dominic Hargreaves <dom@earth.li>
Date: Sat, 14 Apr 2012 11:34:05 +0100
Subject: Invoke x-terminal-emulator rather than xterm in perl5db.pl
In Debian systems, xterm might not exist or might not be the preferred
terminal emulator. Use x-terminal-emulator instead
Bug-Debian: http://bugs.debian.org/668490
Forwarded: not-needed
Patch-Name: debian/perl5db-x-terminal-emulator.patch
Upstream-Status: Pending
---
lib/perl5db.pl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/perl5db.pl b/lib/perl5db.pl
index 7e7194e..c466bf3 100644
--- a/lib/perl5db.pl
+++ b/lib/perl5db.pl
@@ -6960,7 +6960,7 @@ properly set up.
sub xterm_get_fork_TTY {
( my $name = $0 ) =~ s,^.*[/\\],,s;
open XT,
-qq[3>&1 xterm -title "Daughter Perl debugger $pids $name" -e sh -c 'tty 1>&3;\
+qq[3>&1 x-terminal-emulator -T "Daughter Perl debugger $pids $name" -e sh -c 'tty 1>&3;\
sleep 10000000' |];
# Get the output from 'tty' and clean it up a little.

View File

@@ -1,40 +0,0 @@
From fbfbeb7a690d703a3cdc56f923e89eb7b7997d31 Mon Sep 17 00:00:00 2001
From: Niko Tyni <ntyni@debian.org>
Date: Fri, 9 Jan 2009 18:54:47 +0200
Subject: Make perlivp skip include directories in /usr/local
Bug-Debian: http://bugs.debian.org/510895
On Sat, Jan 10, 2009 at 12:37:18AM +1100, Brendan O'Dea wrote:
> On Wed, Jan 7, 2009 at 12:21 AM, Niko Tyni <ntyni@debian.org> wrote:
> > We could create the directories in a postinst script, but I'm not sure
> > I see the point. They will be created automatically when installing
> > CPAN modules.
>
> The directories are intentionally not created, as this way they are
> excluded from the search path at start-up, saving a bunch of wasted
> stats at use/require time in the common case that the user has not
> installed any local packages. As Niko points out, they will be
> created as required.
Signed-off-by: Niko Tyni <ntyni@debian.org>
Patch-Name: debian/perlivp.diff
Upstream-Status: Pending
---
utils/perlivp.PL | 1 +
1 file changed, 1 insertion(+)
diff --git a/utils/perlivp.PL b/utils/perlivp.PL
index c2f0a11..cc49f96 100644
--- a/utils/perlivp.PL
+++ b/utils/perlivp.PL
@@ -153,6 +153,7 @@ my $INC_total = 0;
my $INC_there = 0;
foreach (@INC) {
next if $_ eq '.'; # skip -d test here
+ next if m|/usr/local|; # not shipped on Debian
if (-d $_) {
print "## Perl \@INC directory '$_' exists.\n" if $opt{'v'};
$INC_there++;

View File

@@ -1,24 +0,0 @@
From 27a4952c2e531947dc9f2f02e2063d117e2e699a Mon Sep 17 00:00:00 2001
From: Niko Tyni <ntyni@debian.org>
Date: Sat, 18 Apr 2015 17:39:32 +0300
Subject: Update porting/customized.dat for pod2man modifications
Patch-Name: debian/pod2man-customized.diff
Upstream-Status: Pending
---
t/porting/customized.dat | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/t/porting/customized.dat b/t/porting/customized.dat
index 0eed9f7..7df398d 100644
--- a/t/porting/customized.dat
+++ b/t/porting/customized.dat
@@ -42,7 +42,7 @@ Win32API::File cpan/Win32API-File/Makefile.PL 605d0aee31aebe84a99408f9ab5f644db5
Win32API::File cpan/Win32API-File/t/file.t 124e64aa77e755235eb297644a87fac5388d3d78
Win32API::File cpan/Win32API-File/t/tie.t 712ea7edd0cc805ce1c0b8172c01b03dd19b583d
Win32API::File cpan/Win32API-File/typemap 24bff088babeadac0873e8df390d1666d9d9db4a
-podlators cpan/podlators/scripts/pod2man.PL f81acf53f3ff46cdcc5ebdd661c5d13eb35d20d6
+podlators cpan/podlators/scripts/pod2man.PL 761f35d3fcf91c1bc2f9e024a9fa5c62fd3fc338
podlators cpan/podlators/scripts/pod2text.PL b4693fcfe4a0a1b38a215cfb8985a65d5d025d69
version cpan/version/lib/version.pm d0923b895d57f1d669ae36fcf85c87b16db341d1
version vutil.c 668f17ca43e2527645674d29ba772b86330d5663

View File

@@ -1,119 +0,0 @@
From 914948f026efce02cf0abff8b0312aaad96592ed Mon Sep 17 00:00:00 2001
From: Brendan O'Dea <bod@debian.org>
Date: Tue, 8 Mar 2005 19:30:38 +1100
Subject: Fiddle with *PREFIX and variables written to the makefile
Fiddle with *PREFIX and variables written to the makefile so that
install directories may be changed when make is run by passing
PREFIX= to the "make install" command (used when packaging
modules).
Patch-Name: debian/prefix_changes.diff
Upstream-Status: Pending
---
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm | 12 ++++++------
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 3 +--
cpan/ExtUtils-MakeMaker/t/INST.t | 4 +---
cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t | 10 +++++-----
4 files changed, 13 insertions(+), 16 deletions(-)
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
index 4c00129..1ea2035 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
@@ -902,8 +902,6 @@ all POD files in MAN1PODS and MAN3PODS.
sub manifypods_target {
my($self) = shift;
- my $man1pods = '';
- my $man3pods = '';
my $dependencies = '';
# populate manXpods & dependencies:
@@ -919,7 +917,7 @@ END
foreach my $section (qw(1 3)) {
my $pods = $self->{"MAN${section}PODS"};
my $p2m = sprintf <<CMD, $] > 5.008 ? " -u" : "";
- \$(NOECHO) \$(POD2MAN) --section=$section --perm_rw=\$(PERM_RW)%s
+ \$(NOECHO) \$(POD2MAN) --section=\$(MAN${section}EXT) --perm_rw=\$(PERM_RW)%s
CMD
push @man_cmds, $self->split_command($p2m, map {($_,$pods->{$_})} sort keys %$pods);
}
@@ -1875,9 +1873,11 @@ sub init_INSTALL_from_PREFIX {
$self->{SITEPREFIX} ||= $sprefix;
$self->{VENDORPREFIX} ||= $vprefix;
- # Lots of MM extension authors like to use $(PREFIX) so we
- # put something sensible in there no matter what.
- $self->{PREFIX} = '$('.uc $self->{INSTALLDIRS}.'PREFIX)';
+ my $p = $self->{PREFIX} = $self->{PERLPREFIX};
+ for my $t (qw/PERL SITE VENDOR/)
+ {
+ $self->{"${t}PREFIX"} =~ s!^\Q$p\E(?=/|$)!\$(PREFIX)!;
+ }
}
my $arch = $Config{archname};
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
index 391dc22..4a8e14c 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
@@ -3077,8 +3077,7 @@ sub prefixify {
warn " prefixify $var => $path\n" if $Verbose >= 2;
warn " from $sprefix to $rprefix\n" if $Verbose >= 2;
- if( $self->{ARGS}{PREFIX} &&
- $path !~ s{^\Q$sprefix\E\b}{$rprefix}s )
+ if( $path !~ s{^\Q$sprefix\E\b}{$rprefix}s && $self->{ARGS}{PREFIX} )
{
warn " cannot prefix, using default.\n" if $Verbose >= 2;
diff --git a/cpan/ExtUtils-MakeMaker/t/INST.t b/cpan/ExtUtils-MakeMaker/t/INST.t
index 91058bb..e399ced 100644
--- a/cpan/ExtUtils-MakeMaker/t/INST.t
+++ b/cpan/ExtUtils-MakeMaker/t/INST.t
@@ -65,9 +65,7 @@ isa_ok( $mm, 'ExtUtils::MakeMaker' );
is( $mm->{NAME}, 'Big::Dummy', 'NAME' );
is( $mm->{VERSION}, 0.01, 'VERSION' );
-my $config_prefix = $Config{installprefixexp} || $Config{installprefix} ||
- $Config{prefixexp} || $Config{prefix};
-is( $mm->{PERLPREFIX}, $config_prefix, 'PERLPREFIX' );
+is( $mm->{PERLPREFIX}, '$(PREFIX)', 'PERLPREFIX' );
is( !!$mm->{PERL_CORE}, !!$ENV{PERL_CORE}, 'PERL_CORE' );
diff --git a/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t b/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t
index e8de7c6..3fb3f12 100644
--- a/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t
+++ b/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t
@@ -10,7 +10,7 @@ BEGIN {
}
use strict;
-use Test::More tests => 52;
+use Test::More tests => 47;
use MakeMaker::Test::Utils;
use MakeMaker::Test::Setup::BFD;
use ExtUtils::MakeMaker;
@@ -62,16 +62,16 @@ like( $stdout->read, qr{
(?:Writing\ MYMETA.yml\ and\ MYMETA.json\n)?
}x );
-is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' );
+#is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' );
isa_ok( $mm, 'ExtUtils::MakeMaker' );
is( $mm->{NAME}, 'Big::Dummy', 'NAME' );
is( $mm->{VERSION}, 0.01, 'VERSION' );
-foreach my $prefix (qw(PREFIX PERLPREFIX SITEPREFIX VENDORPREFIX)) {
- unlike( $mm->{$prefix}, qr/\$\(PREFIX\)/ );
-}
+#foreach my $prefix (qw(PREFIX PERLPREFIX SITEPREFIX VENDORPREFIX)) {
+# unlike( $mm->{$prefix}, qr/\$\(PREFIX\)/ );
+#}
my $PREFIX = File::Spec->catdir('foo', 'bar');

View File

@@ -1,43 +0,0 @@
From c4538f966c49e356599358def7d1febf61bca21f Mon Sep 17 00:00:00 2001
From: Brendan O'Dea <bod@debian.org>
Date: Fri, 18 Mar 2005 22:22:25 +1100
Subject: [PATCH 15/49] Prune the list of libraries wanted to what we actually
need.
Bug-Debian: http://bugs.debian.org/128355
We want to keep the dependencies on perl-base as small as possible,
and some of the original list may be present on buildds (see Bug#128355).
Patch-Name: debian/prune_libs.diff
Upstream-Status: Pending
---
Configure | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/Configure b/Configure
index 5a353d6..a00df64 100755
--- a/Configure
+++ b/Configure
@@ -1479,8 +1479,7 @@ archname=''
usereentrant='undef'
: List of libraries we want.
: If anyone needs extra -lxxx, put those in a hint file.
-libswanted="cl pthread socket bind inet nsl ndbm gdbm dbm db malloc dl ld"
-libswanted="$libswanted sun m crypt sec util c cposix posix ucb bsd BSD"
+libswanted='gdbm gdbm_compat db dl m c crypt'
: We probably want to search /usr/shlib before most other libraries.
: This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist.
glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'`
@@ -24007,7 +24006,7 @@ sunos*X4*)
;;
*) case "$usedl" in
$define|true|[yY]*)
- set X `echo " $libs " | sed -e 's@ -lndbm @ @' -e 's@ -lgdbm @ @' -e 's@ -lgdbm_compat @ @' -e 's@ -ldbm @ @' -e 's@ -ldb @ @'`
+ set X `echo " $libs " | sed -e 's@ -lgdbm @ @' -e 's@ -lgdbm_compat @ @' -e 's@ -ldb @ @'`
shift
perllibs="$*"
;;
--
2.1.4

View File

@@ -1,28 +0,0 @@
From cb3e98e17a666896150b109694e9eb9278620845 Mon Sep 17 00:00:00 2001
From: Niko Tyni <ntyni@debian.org>
Date: Sat, 17 May 2014 14:57:01 +0300
Subject: Skip a regeneration check in unrelated git repositories
If the test is run in a git repository without lib/.gitignore,
for instance because the repository only imported the Perl tarball,
the regeneration check is broken because lib/.gitignore is missing.
Patch-Name: debian/regen-skip.diff
Upstream-Status: Pending
---
regen/lib_cleanup.pl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/regen/lib_cleanup.pl b/regen/lib_cleanup.pl
index c9d6e43..fece1ed 100644
--- a/regen/lib_cleanup.pl
+++ b/regen/lib_cleanup.pl
@@ -159,7 +159,7 @@ foreach ('win32/Makefile', 'win32/makefile.mk') {
}
# This must come last as it can exit early:
-if ($TAP && !-d '.git' && !-f 'lib/.gitignore') {
+if ($TAP && !-d '.git' || !-f 'lib/.gitignore') {
print "ok # skip not being run from a git checkout, hence no lib/.gitignore\n";
exit 0;
}

View File

@@ -1,41 +0,0 @@
From 42853af65a28066b119d23d96e964e94b55a8541 Mon Sep 17 00:00:00 2001
From: Niko Tyni <ntyni@debian.org>
Date: Fri, 5 Aug 2011 10:50:18 +0300
Subject: Skip a crashing test case in t/op/threads.t on GNU/kFreeBSD
Bug: http://rt.perl.org/rt3/Ticket/Display.html?id=96272
Bug-Debian: http://bugs.debian.org/628493
The crash is not a regression in 5.14, it just gets triggered there by
a new unrelated test case.
Skip the test until the culprit is found.
Patch-Name: debian/skip-kfreebsd-crash.diff
Upstream-Status: Pending
---
t/op/threads.t | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/t/op/threads.t b/t/op/threads.t
index e76c956..bec210b 100644
--- a/t/op/threads.t
+++ b/t/op/threads.t
@@ -376,6 +376,9 @@ EOF
}
+SKIP: {
+ skip "[perl #96272] avoid crash on GNU/kFreeBSD", 1
+ if $^O eq 'gnukfreebsd';
# [perl #78494] Pipes shared between threads block when closed
{
my $perl = which_perl;
@@ -384,6 +387,7 @@ EOF
threads->create(sub { })->join;
ok(1, "Pipes shared between threads do not block when closed");
}
+}
# [perl #105208] Typeglob clones should not be cloned again during a join
{

View File

@@ -1,29 +0,0 @@
From ae9b645d6da2990fd055368eca2c67c449474e38 Mon Sep 17 00:00:00 2001
From: Niko Tyni <ntyni@debian.org>
Date: Fri, 22 Apr 2011 11:15:32 +0300
Subject: Skip tests specific to the upstream Git repository
These tests fail if run from a different git repository than
upstream. This complicates things needlessly for downstream packagers.
Skip the tests altogether even if the .git directory exists.
Patch-Name: debian/skip-upstream-git-tests.diff
Upstream-Status: Pending
---
t/test.pl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/t/test.pl b/t/test.pl
index cda3840..af579a2 100644
--- a/t/test.pl
+++ b/t/test.pl
@@ -174,7 +174,7 @@ sub skip_all_without_unicode_tables { # (but only under miniperl)
sub find_git_or_skip {
my ($source_dir, $reason);
- if (-d '.git') {
+ if (-d '.git' && ! -d 'debian') {
$source_dir = '.';
} elsif (-l 'MANIFEST' && -l 'AUTHORS') {
my $where = readlink 'MANIFEST';

View File

@@ -1,57 +0,0 @@
From 487a6d6ada0b08e6a7276520ebc61cd851005e7c Mon Sep 17 00:00:00 2001
From: Niko Tyni <ntyni@debian.org>
Date: Sun, 3 Oct 2010 21:36:17 +0300
Subject: Squelch locale warnings in Debian package maintainer scripts
Bug-Debian: http://bugs.debian.org/508764
The system locales are rather frequently out of sync with the C library
during package upgrades, causing a huge amount of useless Perl locale
warnings. Squelch them when running package maintainer scripts, detected
by the DPKG_RUNNING_VERSION environment variable.
Any real locale problem will show up after the system upgrade too, and
the warning will be triggered normally again at that point.
Patch-Name: debian/squelch-locale-warnings.diff
Upstream-Status: Pending
---
locale.c | 5 ++++-
pod/perllocale.pod | 8 ++++++++
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/locale.c b/locale.c
index 7a4a418..fdf911d 100644
--- a/locale.c
+++ b/locale.c
@@ -674,7 +674,10 @@ Perl_init_i18nl10n(pTHX_ int printwarn)
const bool locwarn = (printwarn > 1
|| (printwarn
- && (! bad_lang_use_once
+ &&
+ /* Debian specific change - see http://bugs.debian.org/508764 */
+ (!PerlEnv_getenv("DPKG_RUNNING_VERSION")) &&
+ (! bad_lang_use_once
|| (
/* disallow with "" or "0" */
*bad_lang_use_once
diff --git a/pod/perllocale.pod b/pod/perllocale.pod
index 701b422..58cabaf 100644
--- a/pod/perllocale.pod
+++ b/pod/perllocale.pod
@@ -1217,6 +1217,14 @@ B<NOTE>: C<PERL_BADLANG> only gives you a way to hide the warning message.
The message tells about some problem in your system's locale support,
and you should investigate what the problem is.
+=item DPKG_RUNNING_VERSION
+
+On Debian systems, if the DPKG_RUNNING_VERSION environment variable is
+set (to any value), the locale failure warnings will be suppressed just
+like with a zero PERL_BADLANG setting. This is done to avoid floods
+of spurious warnings during system upgrades.
+See L<http://bugs.debian.org/508764>.
+
=back
The following environment variables are not specific to Perl: They are

View File

@@ -1,37 +0,0 @@
From 591c1f9b7d4755bfc59d9665bab1f2ca410de765 Mon Sep 17 00:00:00 2001
From: Brendan O'Dea <bod@debian.org>
Date: Tue, 8 Mar 2005 19:30:38 +1100
Subject: Set umask approproately for site install directories
Policy requires group writable site directories
Patch-Name: debian/writable_site_dirs.diff
Upstream-Status: Pending
---
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
index 197f102..5f1b87f 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
@@ -2138,7 +2138,7 @@ q{ "$(INST_LIB)" "$(DESTINSTALLPRIVLIB)" \
pure_site_install :: all
- $(NOECHO) umask 022; $(MOD_INSTALL) \
+ $(NOECHO) umask 02; $(MOD_INSTALL) \
};
push @m,
q{ read "}.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{" \
@@ -2199,8 +2199,8 @@ doc_perl_install :: all
doc_site_install :: all
$(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod"
- -$(NOECHO) umask 022; $(MKPATH) "$(DESTINSTALLARCHLIB)"
- -$(NOECHO) umask 022; $(DOC_INSTALL) \
+ -$(NOECHO) umask 02; $(MKPATH) "$(DESTINSTALLARCHLIB)"
+ -$(NOECHO) umask 02; $(DOC_INSTALL) \
"Module" "$(NAME)" \
"installed into" $(INSTALLSITELIB) \
LINKTYPE "$(LINKTYPE)" \

View File

@@ -1,35 +0,0 @@
From 2e0ce5d27e70defd66ace0661af7c24daae34f8b Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Sat, 19 Jan 2013 23:49:24 +0000
Subject: [PATCH 7/8] perl: Add dyanloader build hack
Hack the dynamic module loader so that we use native modules since we can't load
the target ones.
Upstream-Status: Inappropriate
RP
2013/01/13
---
ext/DynaLoader/DynaLoader_pm.PL | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/ext/DynaLoader/DynaLoader_pm.PL b/ext/DynaLoader/DynaLoader_pm.PL
index e828f35..4021559 100644
--- a/ext/DynaLoader/DynaLoader_pm.PL
+++ b/ext/DynaLoader/DynaLoader_pm.PL
@@ -343,6 +343,10 @@ sub bootstrap {
foreach (@INC) {
<<$^O-eq-VMS>>chop($_ = VMS::Filespec::unixpath($_));<</$^O-eq-VMS>>
$dir = "$_/auto/$modpname";
+
+ if (defined $ENV{PERL_LIB} and defined $ENV{PERLHOSTLIB}) {
+ $dir =~ s/$ENV{PERL_LIB}/$ENV{PERLHOSTLIB}/g;
+ }
next unless -d $dir; # skip over uninteresting directories
--
2.1.4

View File

@@ -1,35 +0,0 @@
From ba4ed0b5b7baad5353c1e65b655f41d45e01c990 Mon Sep 17 00:00:00 2001
From: Robert Yang <liezhi.yang@windriver.com>
Date: Mon, 22 Jun 2015 20:00:11 -0700
Subject: [PATCH] ext/ODBM_File/hints/linux.pl: link libgdbm_compat
Fixed for test case ../ext/ODBM_File/t/odbm.t:
ok 1 - use ODBM_File;
ok 2 - use Fcntl;
./perl: symbol lookup error: /usr/lib/perl/5.22.0/auto/ODBM_File/ODBM_File.so: undefined symbol: dbminit
The checking "if -e $_.'/libgdbm_compat.so'" doesn't work when cross
build, so always link libgdbm_compat, since perl depends on gdbm and we
always have libgdbm_compat.
Upstream-Status:Inappropriate [embedded specific]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
ext/ODBM_File/hints/linux.pl | 6 ------
1 file changed, 6 deletions(-)
diff --git a/ext/ODBM_File/hints/linux.pl b/ext/ODBM_File/hints/linux.pl
index 204bba0..9271b45 100644
--- a/ext/ODBM_File/hints/linux.pl
+++ b/ext/ODBM_File/hints/linux.pl
@@ -1,8 +1,2 @@
# uses GDBM dbm compatibility feature - at least on SuSE 8.0
-$self->{LIBS} = ['-lgdbm'];
-
-# Debian/Ubuntu have libgdbm_compat.so but not this file,
-# so linking may fail
-foreach (split / /, $Config{libpth}) {
- $self->{LIBS}->[0] .= ' -lgdbm_compat' if -e $_.'/libgdbm_compat.so';
-}
+$self->{LIBS} = ['-lgdbm -lgdbm_compat'];

View File

@@ -1,33 +0,0 @@
From b842e1de7798a1f7df770bb3f185ad3356e490e6 Mon Sep 17 00:00:00 2001
From: Robert Yang <liezhi.yang@windriver.com>
Date: Mon, 22 Jun 2015 20:06:56 -0700
Subject: [PATCH] ext/ODBM_File/t/odbm.t: fix the path of dbmt_common.pl
It should be lib/dbmt_common.pl when run by run-ptest.
Fixed:
Can't locate ../../t/lib/dbmt_common.pl in @INC
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Upstream-Status: Pending
---
ext/ODBM_File/t/odbm.t | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ext/ODBM_File/t/odbm.t b/ext/ODBM_File/t/odbm.t
index 079b9f1..250b991 100644
--- a/ext/ODBM_File/t/odbm.t
+++ b/ext/ODBM_File/t/odbm.t
@@ -2,7 +2,7 @@
our $DBM_Class = 'ODBM_File';
-require '../../t/lib/dbmt_common.pl';
+require 'lib/dbmt_common.pl';
if ($^O eq 'hpux') {
print <<EOM;
--
1.7.9.5

View File

@@ -1,24 +0,0 @@
Upstream-Status:Inappropriate [embedded specific]
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011/07/01
Fix these Package QA warnings before they are converted into fetal errors:
WARNING: QA Issue: package perl-module-compress contains bad RPATH /build_disk/poky_build/build0/tmp/sysroots/qemux86/usr/lib in file /build_disk/poky_build/build0/tmp/work/i586-poky-linux/perl-5.12.3-r1/packages-split/perl-module-compress/usr/lib/perl/5.12.3/auto/Compress/Raw/Zlib/Zlib.so
This fixes this warning for perl recipe as well as libxml-parser-perl recipe.
It is a fix to MakeMaker within perl, so all such perl recipes will get
fixed with this perl fix.
Index: perl-5.24.1/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
===================================================================
--- perl-5.24.1.orig/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
+++ perl-5.24.1/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
@@ -57,6 +57,7 @@ sub _unix_os2_ext {
my ( $found ) = 0;
# Debian-specific: don't use LD_RUN_PATH for standard dirs
+ push(@libpath, "SYSROOTLIB");
$ld_run_path_seen{$_}++ for @libpath;
foreach my $thislib ( split ' ', $potential_libs ) {

View File

@@ -1,56 +0,0 @@
Upstream-Status:Inappropriate [embedded specific]
Use the ld flags from the supplied configuration file. For sh we need the
flags that specify to build PIC code so that the shared libraries work.
Index: perl-5.14.2/Cross/generate_config_sh
===================================================================
--- perl-5.14.2.orig/Cross/generate_config_sh 2010-12-30 04:07:14.000000000 +0200
+++ perl-5.14.2/Cross/generate_config_sh 2012-11-22 15:58:49.852852805 +0200
@@ -19,10 +19,10 @@
$callbacks->{'ar'} = [\&simple_process, ["AR", "arm-linux-ar"]];
$callbacks->{'archname'} = [\&simple_process, ["SYS", "armv4l-linux"]];
$callbacks->{'cc'} = [\&simple_process, ["CC", "arm-linux-gcc"]];
-$callbacks->{'cccdlflags'} = [\&simple_process, ["CFLAGS", ""]];
-$callbacks->{'ccdlflags'} = [\&simple_process, ["CFLAGS", ""]];
-$callbacks->{'ccflags'} = [\&simple_process, ["CFLAGS", "-fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"]];
-$callbacks->{'ccflags_uselargefiles'} = [\&simple_process, ["CFLAGS", "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"]];
+#$callbacks->{'cccdlflags'} = [\&simple_process, ["CFLAGS", ""]];
+#$callbacks->{'ccdlflags'} = [\&simple_process, ["CFLAGS", ""]];
+$callbacks->{'ccflags'} = [\&simple_process_insert, ["CFLAGS", "-fno-strict-aliasing -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"]];
+$callbacks->{'ccflags_uselargefiles'} = [\&simple_process_insert, ["CFLAGS", "-D_GNU_SOURCE -DTHREADS_HAVE_PIDS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"]];
$callbacks->{'ccname'} = [\&simple_process, ["CC", "arm-linux-gcc"]];
$callbacks->{'cpp'} = [\&simple_process, ["CCP", "arm-linux-cpp"]];
$callbacks->{'cppflags'} = [\&simple_process, ["CCPFLAGS", "-fno-strict-aliasing"]];
@@ -30,6 +30,7 @@
$callbacks->{'cppstdin'} = [\&simple_process_append, ["CC", "arm-linux-gcc -E", "-E"]];
$callbacks->{'full_ar'} = [\&backtick, ["AR", "which $ENV{AR}", "/usr/local/arm/2.95.3/bin/arm-linux-ar"]];
$callbacks->{'ld'} = [\&simple_process, ["LD", "arm-linux-ld"]];
+$callbacks->{'lddlflags'} = [\&simple_process, ["LDDLFLAGS", ""]];
$callbacks->{'ldflags'} = [\&simple_process, ["LDFLAGS", ""]];
$callbacks->{'ldflags_uselargefiles'} = [\&simple_process, ["LDFLAGS", ""]];
$callbacks->{'myarchname'} = [\&simple_process, ["SYS", "armv4l-linux"]];
@@ -105,6 +106,23 @@
}
+# Insert env var into the variables value
+sub simple_process_insert {
+ my $key = shift;
+ my $value = shift;
+ my $envvar = $callbacks->{$key}->[1][0];
+
+ if ($ENV{$envvar}) {
+ # Strip quotes from value
+ $value =~ s/^\'//;
+ $value =~ s/\'$//;
+ # Remove -I/usr/local/... from the value
+ $value =~ s#\W-I/usr/local/\w+\W# #g;
+ # Prepend env var (OE setting) to value
+ print("$key=\'$ENV{$envvar} $value\'\n");
+ }
+}
+
sub library_munge {
my $key = shift;
my $value = shift;

View File

@@ -1,17 +0,0 @@
Upstream-Status:Inappropriate [embedded specific]
Index: perl-5.24.1/installperl
===================================================================
--- perl-5.24.1.orig/installperl
+++ perl-5.24.1/installperl
@@ -2,8 +2,8 @@
BEGIN {
chdir '..' if !-d 'lib' and -d '../lib';
- @INC = 'lib';
- $ENV{PERL5LIB} = 'lib';
+# @INC = 'lib';
+# $ENV{PERL5LIB} = 'lib';
# This needs to be at BEGIN time, before any use of Config
# install_lib itself loads and imports Config into main::

View File

@@ -1,46 +0,0 @@
Upstream-Status:Inappropriate [embedded specific]
This removes all the logic that perl uses to locate an appropriate
errno.h for the target. Instead we simple create a file that does
#include "errno.h"
and use that as the file to parse. This is needed when using an
external toolchain since perl will search in ${STAGING_INCDIR} for
errno.h (when using gcc) and that isn't where it's located - its
wherever the external toolchain keeps it's headers.
Index: perl-5.12.3/ext/Errno/Errno_pm.PL
===================================================================
--- perl-5.12.3.orig/ext/Errno/Errno_pm.PL
+++ perl-5.12.3/ext/Errno/Errno_pm.PL
@@ -17,8 +17,18 @@ unlink "Errno.tmp" if -f "Errno.tmp";
open OUT, ">Errno.tmp" or die "Cannot open Errno.tmp: $!";
select OUT;
my $file;
-my @files = get_files();
-if ($Config{gccversion} ne '' && $^O eq 'MSWin32') {
+#my @files = get_files();
+my @files = ("errno.h");
+
+if (1) {
+ open INCS, '>includes.c' or
+ die "Cannot open includes.c";
+ print INCS qq[#include "errno.h"\n];
+ close INCS;
+ process_file('includes.c');
+ unlink 'includes.c';
+}
+elsif ($Config{gccversion} ne '' && $^O eq 'MSWin32') {
# MinGW complains "warning: #pragma system_header ignored outside include
# file" if the header files are processed individually, so include them
# all in .c file and process that instead.
@@ -53,7 +63,7 @@ sub process_file {
chomp($file = `cygpath -w "$file"`);
}
- return unless defined $file and -f $file;
+# return unless defined $file and -f $file;
# warn "Processing $file\n";
local *FH;

View File

@@ -1,27 +0,0 @@
make_ext.pl: fix regenerate makefile failed while $cc changed
While $cc changed, the existance of 'xdefine' caused makefile
regeneration failed.
Upstream-Status: Pending
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
make_ext.pl | 4 ++++
1 file changed, 4 insertions(+)
Index: perl-5.24.1/make_ext.pl
===================================================================
--- perl-5.24.1.orig/make_ext.pl
+++ perl-5.24.1/make_ext.pl
@@ -335,6 +335,10 @@ sub build_extension {
print "Deleting non-Cross makefile\n";
close $mfh or die "close $makefile: $!";
_unlink($makefile);
+ if(-e 'xdefine') {
+ print "Deleting xdefine for regenerate makefile\n";
+ _unlink('xdefine');
+ }
}
}
} else {

View File

@@ -1,91 +0,0 @@
Upstream-Status:Inappropriate [debian patch]
Part of 52_debian_extutils_hacks.patch just to exclude the installation of .packlist files
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 35 ++---------------------
1 file changed, 3 insertions(+), 32 deletions(-)
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
index f63145c..a589710 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
@@ -2122,11 +2122,6 @@ pure_perl_install :: all
};
push @m,
-q{ read "}.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{" \
- write "}.$self->catfile('$(DESTINSTALLARCHLIB)','auto','$(FULLEXT)','.packlist').q{" \
-} unless $self->{NO_PACKLIST};
-
- push @m,
q{ "$(INST_LIB)" "$(DESTINSTALLPRIVLIB)" \
"$(INST_ARCHLIB)" "$(DESTINSTALLARCHLIB)" \
"$(INST_BIN)" "$(DESTINSTALLBIN)" \
@@ -2158,10 +2153,6 @@ q{ "$(INST_LIB)" "$(DESTINSTALLSITELIB)" \
pure_vendor_install :: all
$(NOECHO) $(MOD_INSTALL) \
};
- push @m,
-q{ read "}.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{" \
- write "}.$self->catfile('$(DESTINSTALLVENDORARCH)','auto','$(FULLEXT)','.packlist').q{" \
-} unless $self->{NO_PACKLIST};
push @m,
q{ "$(INST_LIB)" "$(DESTINSTALLVENDORLIB)" \
@@ -2187,37 +2178,19 @@ doc_vendor_install :: all
push @m, q{
doc_perl_install :: all
- $(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod"
- -$(NOECHO) $(MKPATH) "$(DESTINSTALLARCHLIB)"
- -$(NOECHO) $(DOC_INSTALL) \
- "Module" "$(NAME)" \
- "installed into" $(INSTALLPRIVLIB) \
- LINKTYPE "$(LINKTYPE)" \
- VERSION "$(VERSION)" \
- EXE_FILES "$(EXE_FILES)" \
- >> "}.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{"
doc_site_install :: all
- $(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod"
- -$(NOECHO) $(MKPATH) "$(DESTINSTALLARCHLIB)"
+ $(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLSITEARCH)/perllocal.pod"
+ -$(NOECHO) $(MKPATH) "$(DESTINSTALLSITEARCH)"
-$(NOECHO) $(DOC_INSTALL) \
"Module" "$(NAME)" \
"installed into" $(INSTALLSITELIB) \
LINKTYPE "$(LINKTYPE)" \
VERSION "$(VERSION)" \
EXE_FILES "$(EXE_FILES)" \
- >> "}.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{"
+ >> "}.$self->catfile('$(DESTINSTALLSITEARCH)','perllocal.pod').q{"
doc_vendor_install :: all
- $(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod"
- -$(NOECHO) $(MKPATH) "$(DESTINSTALLARCHLIB)"
- -$(NOECHO) $(DOC_INSTALL) \
- "Module" "$(NAME)" \
- "installed into" $(INSTALLVENDORLIB) \
- LINKTYPE "$(LINKTYPE)" \
- VERSION "$(VERSION)" \
- EXE_FILES "$(EXE_FILES)" \
- >> "}.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{"
} unless $self->{NO_PERLLOCAL};
@@ -2226,13 +2199,11 @@ uninstall :: uninstall_from_$(INSTALLDIRS)dirs
$(NOECHO) $(NOOP)
uninstall_from_perldirs ::
- $(NOECHO) $(UNINSTALL) "}.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{"
uninstall_from_sitedirs ::
$(NOECHO) $(UNINSTALL) "}.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{"
uninstall_from_vendordirs ::
- $(NOECHO) $(UNINSTALL) "}.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{"
};
join("",@m);

View File

@@ -1,26 +0,0 @@
Upstream-Status:Inappropriate [embedded specific]
Index: perl-5.8.8/lib/ExtUtils/MM_Unix.pm
===================================================================
--- perl-5.12.3.orig/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm 2008-10-31 22:01:35.000000000 +0000
+++ perl-5.12.3/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm 2008-10-31 22:01:35.000000000 +0000
@@ -1597,6 +1597,19 @@
$self->{PERL_LIB} ||= $Config{privlibexp};
$self->{PERL_ARCHLIB} ||= $Config{archlibexp};
$self->{PERL_INC} = $self->catdir("$self->{PERL_ARCHLIB}","CORE"); # wild guess for now
+ # Check for environment override so we'll find the headers in the correct place
+ if (defined $ENV{PERL_LIB})
+ {
+ $self->{PERL_LIB} = $ENV{PERL_LIB};
+ }
+ if (defined $ENV{PERL_ARCHLIB})
+ {
+ $self->{PERL_ARCHLIB} = $ENV{PERL_ARCHLIB};
+ }
+ if (defined $ENV{PERL_INC})
+ {
+ $self->{PERL_INC} = $ENV{PERL_INC};
+ }
my $perl_h;
if (not -f ($perl_h = $self->catfile($self->{PERL_INC},"perl.h"))

View File

@@ -1,28 +0,0 @@
commit 13e70b397dcb0d1bf4a869b670f041c1d7b730d0
Author: Bjรถrn Esser <besser82@fedoraproject.org>
Date: Sat Jan 20 20:22:53 2018 +0100
pp: Guard fix for really old bug in glibc libcrypt
Upstream-Status: Pending
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
diff --git a/pp.c b/pp.c
index d50ad7ddbf..6510c7b15c 100644
--- a/pp.c
+++ b/pp.c
@@ -3650,8 +3650,12 @@ PP(pp_crypt)
#if defined(__GLIBC__) || defined(__EMX__)
if (PL_reentrant_buffer->_crypt_struct_buffer) {
PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0;
- /* work around glibc-2.2.5 bug */
+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \
+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4)
+ /* work around glibc-2.2.5 bug, has been fixed at some
+ * time in glibc-2.3.X */
PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0;
+#endif
}
#endif
}

View File

@@ -1,33 +0,0 @@
From 90c252cecc38aed5d5faedb30485dd6eee2e54eb Mon Sep 17 00:00:00 2001
From: Wenzong Fan <wenzong.fan@windriver.com>
Date: Wed, 11 Feb 2015 15:14:40 +0800
Subject: [PATCH] perl / PathTools: don't filter out blib from @INC
If $TOPDIR includes the string "blib", filter it out from @INC may empty
the @INC and cause build errors like:
Can't locate ExtUtils/MakeMaker.pm in @INC \
(you may need to install the ExtUtils::MakeMaker module) \
(@INC contains: .) at Makefile.PL
Upstream-Status: Pending
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
---
dist/PathTools/Makefile.PL | 3 ---
1 file changed, 3 deletions(-)
diff --git a/dist/PathTools/Makefile.PL b/dist/PathTools/Makefile.PL
index 1b21de4..f562cb2 100644
--- a/dist/PathTools/Makefile.PL
+++ b/dist/PathTools/Makefile.PL
@@ -1,6 +1,3 @@
-
-BEGIN { @INC = grep {!/blib/} @INC }
-
require 5.005;
use ExtUtils::MakeMaker;
WriteMakefile
--
1.9.1

View File

@@ -1,40 +0,0 @@
perl: add archlib_exp variable used to generate ARCHLIB_EXP in config.h
perl.c uses an ARCHLIB_EXP define to generate compile-time code that
adds the archlibexp path to @INC during run-time initialization of a
new perl interpreter.
Because we've changed this value in a temporary way to make it
possible to use ExtUtils::Embed in the target build (the temporary
value in config.sh gets re-stripped out during packaging), the
ARCHLIB_EXP value that gets generated still uses the temporary version
instead of the original expected version (i.e. becauses it's in the
generated config.h, it doesn't get stripped out during packaging like
the others in config.sh).
This creates an unmodified version called archlib_exp that gets used
by a modified config_h.SH to get the correct value into config.h
This patch uses an unmodified version of archlibexp called
archlib_exp, introduced to config.sh, which is used to generate the
correct value of ARCHLIB_EXP into config.h
See YOCTO #3099 for more info.
Upstream-Status:Inappropriate [embedded specific]
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Index: perl-5.24.1/config_h.SH
===================================================================
--- perl-5.24.1.orig/config_h.SH
+++ perl-5.24.1/config_h.SH
@@ -1434,7 +1434,7 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#und
* in programs that are not prepared to deal with ~ expansion at run-time.
*/
#$d_archlib ARCHLIB "$archlib" /**/
-#$d_archlib ARCHLIB_EXP "$archlibexp" /**/
+#$d_archlib ARCHLIB_EXP "$archlib_exp" /**/
/* BIN:
* This symbol holds the path of the bin directory where the package will

View File

@@ -1,47 +0,0 @@
Upstream-Status:Inappropriate [native]
This patch is used for perl-native only. It enables the switching of
configuration files between Config_heavy.pl and
Config_heavy-target.pl by setting the environment variables
PERLCONFIGTARGET - the later containing settings for the target while
the former contains those for the host. This will allow cpan.bbclass
to use the settings appropriate for the native and/or target builds
as required. This also disables the use of the cache since the cached
values would be valid for the host only.
Index: perl-5.14.2/configpm
===================================================================
--- perl-5.14.2.orig/configpm
+++ perl-5.14.2/configpm
@@ -658,7 +658,7 @@ sub FETCH {
my($self, $key) = @_;
# check for cached value (which may be undef so we use exists not defined)
- return exists $self->{$key} ? $self->{$key} : $self->fetch_string($key);
+ return $self->fetch_string($key);
}
ENDOFEND
@@ -816,7 +816,21 @@ $config_txt .= sprintf <<'ENDOFTIE', $fa
sub DESTROY { }
sub AUTOLOAD {
- require 'Config_heavy.pl';
+ my $cfgfile = 'Config_heavy.pl';
+ if (defined $ENV{PERLCONFIGTARGET} and $ENV{PERLCONFIGTARGET} eq "yes")
+ {
+ $cfgfile = 'Config_heavy-target.pl';
+ }
+ if (defined $ENV{PERL_ARCHLIB})
+ {
+ push @INC, $ENV{PERL_ARCHLIB};
+ require $cfgfile;
+ pop @INC;
+ }
+ else
+ {
+ require $cfgfile;
+ }
goto \&launcher unless $Config::AUTOLOAD =~ /launcher$/;
die "&Config::AUTOLOAD failed on $Config::AUTOLOAD";
}

View File

@@ -1,43 +0,0 @@
#! /bin/sh
#
# Generate the common perl configuration
# Needs to be run on a host that matches the bitsize of the target platform
#
echo sh Configure -des \
-Doptimize=-O2 \
-Dmyhostname=localhost \
-Dperladmin=root@localhost \
-Dcc=gcc \
-Dcf_by='Open Embedded' \
-Dinstallprefix=@DESTDIR@ \
-Dprefix=/usr \
-Dvendorprefix=/usr \
-Dsiteprefix=/usr \
-Dotherlibdirs=/usr/lib/perl5/5.22.1 \
-Duseshrplib \
-Dusethreads \
-Duseithreads \
-Duselargefiles \
-Ud_dosuid \
-Dd_semctl_semun \
-Ui_db \
-Ui_ndbm \
-Ui_gdbm \
-Di_shadow \
-Di_syslog \
-Dman3ext=3pm \
-Duseperlio \
-Dinstallusrbinperl \
-Ubincompat5005 \
-Uversiononly \
-Dpager='/usr/bin/less -isr'
cp -f config.sh config.sh.COMMON
TARGETOS=$(grep myarchname config.sh.COMMON | sed "s#.*'\(.*\)'.*#\1#")
sed -r -i config.sh.COMMON \
-e "s#(install.*=')(/usr)/local(.*')#\1@DESTDIR@\2\3#g" \
-e 's#'$TARGETOS'#@ARCH@#g'

View File

@@ -1,34 +0,0 @@
Upstream-Status:Inappropriate [embedded specific]
Allow the location that .so files are searched for for dynamic
loading to be changed via an environment variable. This is to allow
us to load .so's from the host system while building for the target
system.
Update by Nitin A Kamble <nitin.a.kamble@intel.com> 2011/04/21
Index: perl-5.24.1/dist/XSLoader/XSLoader_pm.PL
===================================================================
--- perl-5.24.1.orig/dist/XSLoader/XSLoader_pm.PL
+++ perl-5.24.1/dist/XSLoader/XSLoader_pm.PL
@@ -52,6 +52,20 @@ sub load {
my ($caller, $modlibname) = caller();
my $module = $caller;
+ # OE: Allow env to form dynamic loader to look in a different place
+ # This is so it finds the host .so files, not the targets
+ if (defined $ENV{PERLHOSTLIB})
+ {
+ my $hostlib = $ENV{PERLHOSTLIB};
+ print STDERR "*** Module name IN: $modlibname\n";
+ ($p1, $p2, $p3, $p4, $p5) = $modlibname =~ m/(^(.*lib\w*\/)?)((perl\/[0-9\.]*\/)?)(.*)$/;
+ print STDERR "*** p1: $p1 p3: $p3 p5: $p5\n";
+ if ( $p1 ne "" ) {
+ $modlibname = $hostlib.$p5;
+ }
+ print STDERR "*** Module name OUT: $modlibname\n";
+ }
+
if (@_) {
$module = $_[0];
} else {

View File

@@ -1,37 +0,0 @@
Upstream-Status:Inappropriate [embedded specific]
The upstream code assumes that the compiler version used to compiler miniperl/perl-native
is the same as the one being used to build the perl binary. Since most people are not running
systems with gcc 5, it is unlikely that it will work on any supported host. Switch out gccversion
for the version extracted from $CC --version.
Jeremy Puhlman <jpuhlman@mvista.com>
Fix spaces in brackets while running $CC --version
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
ext/Errno/Errno_pm.PL | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL
index 1fd29d0..7976ea2 100644
--- a/ext/Errno/Errno_pm.PL
+++ b/ext/Errno/Errno_pm.PL
@@ -224,9 +224,13 @@ sub write_errno_pm {
{ # BeOS (support now removed) did not enter this block
# invoke CPP and read the output
+ my $compiler = $ENV{'CC'};
+ my $compiler_out = `$compiler --version`;
+ $compiler_out =~ s/\(.*\)/;/;
+ my @compiler_version = split / /,$compiler_out;
my $inhibit_linemarkers = '';
- if ($Config{gccversion} =~ /\A(\d+)\./ and $1 >= 5) {
+ if (@compiler_version[2] =~ /\A(\d+)\./ and $1 >= 5) {
# GCC 5.0 interleaves expanded macros with line numbers breaking
# each line into multiple lines. RT#123784
$inhibit_linemarkers = ' -P';
--
1.9.1

View File

@@ -1,181 +0,0 @@
Some Perl tests fail when run on a cross-compiled target machine. Apply
a slightly tweaked upstream patch to fix the problems. Notes:
1. as of 2 Jun 2016, the original patch has been applied to the current
EUMM releases, but has not made it into perl core yet.
2. when the base perl package is upgraded in Yocto, this patch may need
to be replaced by the original upstream version to correctly apply
to the current version of ExtUtils-MakeMaker at that time.
[YOCTO #8656]
Upstream-Status: Backport
Signed-off-by: Bill Randle <william.c.randle@intel.com>
From 4a07a3bd18363986112cf2b39dec3c2985353ffb Mon Sep 17 00:00:00 2001
From: Francois Perrad <francois.perrad@gadz.org>
Date: Mon, 22 Dec 2014 19:04:34 +0100
Subject: [PATCH] fix conflict between skip_all and END section
since the commit 430de781809a6be3bcd25a349dc40ce54405ab53
the test suite fails in cross-compil environment (perl-5.21.6 & perl-5.21.7)
like this :
$ ./perl harness -v ../cpan/ExtUtils-MakeMaker/t/INSTALL_BASE.t
../cpan/ExtUtils-MakeMaker/t/INSTALL_BASE.t ..
1..0 # SKIP cross-compiling and make not available
ok 1 - chdir updir
ok 2 - teardown
# Looks like you planned 0 tests but ran 2.
skipped: cross-compiling and make not available
this commit restores the implicit call of plan() at import time of Test::More
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
---
cpan/ExtUtils-MakeMaker/t/INSTALL_BASE.t | 7 ++++---
cpan/ExtUtils-MakeMaker/t/PL_FILES.t | 4 ++--
cpan/ExtUtils-MakeMaker/t/basic.t | 4 ++--
cpan/ExtUtils-MakeMaker/t/echo.t | 6 +++---
cpan/ExtUtils-MakeMaker/t/min_perl_version.t | 4 ++--
cpan/ExtUtils-MakeMaker/t/pm_to_blib.t | 4 ++--
cpan/ExtUtils-MakeMaker/t/recurs.t | 4 ++--
cpan/ExtUtils-MakeMaker/t/several_authors.t | 4 ++--
8 files changed, 19 insertions(+), 18 deletions(-)
diff --git a/cpan/ExtUtils-MakeMaker/t/INSTALL_BASE.t b/cpan/ExtUtils-MakeMaker/t/INSTALL_BASE.t
index f27b62c..3bbb3a6 100644
--- a/cpan/ExtUtils-MakeMaker/t/INSTALL_BASE.t
+++ b/cpan/ExtUtils-MakeMaker/t/INSTALL_BASE.t
@@ -15,12 +15,13 @@ $CLEANUP &&= 1; # so always 1 or numerically 0
use MakeMaker::Test::Utils;
use MakeMaker::Test::Setup::BFD;
-use Test::More;
use Config;
use ExtUtils::MM;
-plan !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
+use Test::More
+ !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
? (skip_all => "cross-compiling and make not available")
- : (tests => 3 + $CLEANUP + @INSTDIRS * (15 + $CLEANUP));
+ : ();
+plan tests => 3 + $CLEANUP + @INSTDIRS * (15 + $CLEANUP);
my $Is_VMS = $^O eq 'VMS';
diff --git a/cpan/ExtUtils-MakeMaker/t/PL_FILES.t b/cpan/ExtUtils-MakeMaker/t/PL_FILES.t
index 0779dbb..85d53a5 100644
--- a/cpan/ExtUtils-MakeMaker/t/PL_FILES.t
+++ b/cpan/ExtUtils-MakeMaker/t/PL_FILES.t
@@ -11,9 +11,9 @@ use File::Temp qw[tempdir];
use MakeMaker::Test::Setup::PL_FILES;
use MakeMaker::Test::Utils;
use Config;
-use Test::More;
use ExtUtils::MM;
-plan !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
+use Test::More
+ !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
? (skip_all => "cross-compiling and make not available")
: (tests => 9);
diff --git a/cpan/ExtUtils-MakeMaker/t/basic.t b/cpan/ExtUtils-MakeMaker/t/basic.t
index 3dd66ad..eddf2e9 100644
--- a/cpan/ExtUtils-MakeMaker/t/basic.t
+++ b/cpan/ExtUtils-MakeMaker/t/basic.t
@@ -20,9 +20,9 @@ use utf8;
use MakeMaker::Test::Utils;
use MakeMaker::Test::Setup::BFD;
use Config;
-use Test::More;
use ExtUtils::MM;
-plan !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
+use Test::More
+ !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
? (skip_all => "cross-compiling and make not available")
: (tests => 171);
use File::Find;
diff --git a/cpan/ExtUtils-MakeMaker/t/echo.t b/cpan/ExtUtils-MakeMaker/t/echo.t
index 789b85f..c43bc47 100644
--- a/cpan/ExtUtils-MakeMaker/t/echo.t
+++ b/cpan/ExtUtils-MakeMaker/t/echo.t
@@ -14,11 +14,11 @@ use MakeMaker::Test::Utils;
use File::Temp;
use Cwd 'abs_path';
-use Test::More;
use ExtUtils::MM;
-plan !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
+use Test::More
+ !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
? (skip_all => "cross-compiling and make not available")
- : ();
+ : (tests => 18);
#--------------------- Setup
diff --git a/cpan/ExtUtils-MakeMaker/t/min_perl_version.t b/cpan/ExtUtils-MakeMaker/t/min_perl_version.t
index c5d78d6..2ef118d 100644
--- a/cpan/ExtUtils-MakeMaker/t/min_perl_version.t
+++ b/cpan/ExtUtils-MakeMaker/t/min_perl_version.t
@@ -13,9 +13,9 @@ use TieOut;
use MakeMaker::Test::Utils;
use MakeMaker::Test::Setup::MPV;
use Config;
-use Test::More;
use ExtUtils::MM;
-plan !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
+use Test::More
+ !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
? (skip_all => "cross-compiling and make not available")
: (tests => 36);
use File::Path;
diff --git a/cpan/ExtUtils-MakeMaker/t/pm_to_blib.t b/cpan/ExtUtils-MakeMaker/t/pm_to_blib.t
index f1e348e..ebfa26c 100644
--- a/cpan/ExtUtils-MakeMaker/t/pm_to_blib.t
+++ b/cpan/ExtUtils-MakeMaker/t/pm_to_blib.t
@@ -12,9 +12,9 @@ use ExtUtils::MakeMaker;
use MakeMaker::Test::Utils;
use MakeMaker::Test::Setup::BFD;
use Config;
-use Test::More;
use ExtUtils::MM;
-plan !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
+use Test::More
+ !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
? (skip_all => "cross-compiling and make not available")
: 'no_plan';
diff --git a/cpan/ExtUtils-MakeMaker/t/recurs.t b/cpan/ExtUtils-MakeMaker/t/recurs.t
index 84c09a2..661e0db 100644
--- a/cpan/ExtUtils-MakeMaker/t/recurs.t
+++ b/cpan/ExtUtils-MakeMaker/t/recurs.t
@@ -14,9 +14,9 @@ use File::Temp qw[tempdir];
use MakeMaker::Test::Utils;
use MakeMaker::Test::Setup::Recurs;
use Config;
-use Test::More;
use ExtUtils::MM;
-plan !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
+use Test::More
+ !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
? (skip_all => "cross-compiling and make not available")
: (tests => 26);
diff --git a/cpan/ExtUtils-MakeMaker/t/several_authors.t b/cpan/ExtUtils-MakeMaker/t/several_authors.t
index 1a75a3e..869e9f0 100644
--- a/cpan/ExtUtils-MakeMaker/t/several_authors.t
+++ b/cpan/ExtUtils-MakeMaker/t/several_authors.t
@@ -13,9 +13,9 @@ use TieOut;
use MakeMaker::Test::Utils;
use MakeMaker::Test::Setup::SAS;
use Config;
-use Test::More;
use ExtUtils::MM;
-plan !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
+use Test::More
+ !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
? (skip_all => "cross-compiling and make not available")
: (tests => 20);
use File::Path;

View File

@@ -1,18 +0,0 @@
Upstream-Status:Inappropriate [embedded specific]
We need ld in the fake config library, but it's not included by default. So
expand the number of items included. While this works it indicates that the
rest of the config items are not being picked up and/or are being picked up
from the host. More investigation needed.
--- perl-5.8.8/configpm 2007/04/20 09:48:05 1.1
+++ perl-5.8.8/configpm 2007/04/20 09:57:12
@@ -2,7 +2,7 @@
use strict;
use vars qw(%Config $Config_SH_expanded);
-my $how_many_common = 22;
+my $how_many_common = 50;
# commonly used names to precache (and hence lookup fastest)
my %Common;

View File

@@ -1,2 +0,0 @@
#!/bin/sh
cd t && PERL_BUILD_PACKAGING=1 ./TEST | sed -u -e 's|\(.*\) .* ok$|PASS: \1|' -e 's|\(.*\) .* skipped|SKIP: \1|' -e 's|\(.*\) \.\(.*\)|FAIL: \1|'

View File

@@ -1,30 +0,0 @@
From 1561549ea36e37cc25706f094a195de4928f4211 Mon Sep 17 00:00:00 2001
From: Robert Yang <liezhi.yang@windriver.com>
Date: Fri, 19 Jun 2015 01:23:46 -0700
Subject: [PATCH] t/run/switches.t: perl5 -> perl
We call it perl rather than perl5 in oe.
Upstream-Status: Inappropriate [oe specific]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
t/run/switches.t | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/t/run/switches.t b/t/run/switches.t
index 78915e0..e9e4b45 100644
--- a/t/run/switches.t
+++ b/t/run/switches.t
@@ -269,7 +269,7 @@ is runperl(stderr => 1, prog => '#!perl -M'),
'-V generates 20+ lines' );
like( runperl( switches => ['-V'] ),
- qr/\ASummary of my perl5 .*configuration:/,
+ qr/\ASummary of my perl .*configuration:/,
'-V looks okay' );
# lookup a known config var
--
1.7.9.5

View File

@@ -1,38 +0,0 @@
dist/threads/t/join.t: adjust ps option
The ps's option '-f' is not supported by busybox in oe.
Upstream-Status: Inappropriate
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
dist/threads/t/join.t | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/dist/threads/t/join.t b/dist/threads/t/join.t
--- a/dist/threads/t/join.t
+++ b/dist/threads/t/join.t
@@ -118,7 +118,7 @@ if ($^O eq 'linux') {
})->join;
#print "# mainthread: \$0 = $0\n";
#print "# pid = $$\n";
- if (open PS, "ps -f |") { # Note: must work in (all) systems.
+ if (open PS, "ps |") { # Note: must work in (all) systems.
my ($sawpid, $sawexe);
while (<PS>) {
chomp;
@@ -135,10 +135,10 @@ if ($^O eq 'linux') {
if ($sawpid) {
ok($sawpid && $sawexe, 'altering $0 is effective');
} else {
- skip("\$0 check: did not see pid $$ in 'ps -f |'");
+ skip("\$0 check: did not see pid $$ in 'ps |'");
}
} else {
- skip("\$0 check: opening 'ps -f |' failed: $!");
+ skip("\$0 check: opening 'ps |' failed: $!");
}
} else {
skip("\$0 check: only on Linux");
--
1.8.1.2

View File

@@ -1,26 +0,0 @@
ext/DynaLoader/t/DynaLoader.t: fix calling dl_findfile() failed
Use '$Config{libc}' as the libc file name
Upstream-Status: Inappropriate
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
ext/DynaLoader/t/DynaLoader.t | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ext/DynaLoader/t/DynaLoader.t b/ext/DynaLoader/t/DynaLoader.t
index ade1f8e..3567afe 100644
--- a/ext/DynaLoader/t/DynaLoader.t
+++ b/ext/DynaLoader/t/DynaLoader.t
@@ -106,7 +106,7 @@ ok( defined $dlerr, "dl_error() returning an error message: '$dlerr'" );
# ... dl_findfile()
SKIP: {
my @files = ();
- eval { @files = DynaLoader::dl_findfile("c") };
+ eval { @files = DynaLoader::dl_findfile($Config{libc}) };
is( $@, '', "calling dl_findfile()" );
# Some platforms are known to not have a "libc"
# (not at least by that name) that the dl_findfile()
--
1.8.1.2

View File

@@ -1,354 +0,0 @@
require perl.inc
# We need gnugrep (for -I)
DEPENDS = "db grep-native gdbm zlib virtual/crypt"
# Pick up patches from debian
# http://ftp.de.debian.org/debian/pool/main/p/perl/perl_5.22.0-1.debian.tar.xz
SRC_URI += " \
file://debian/cpan_definstalldirs.diff \
file://debian/db_file_ver.diff \
file://debian/doc_info.diff \
file://debian/enc2xs_inc.diff \
file://debian/errno_ver.diff \
file://debian/libperl_embed_doc.diff \
file://debian/fixes/respect_umask.diff \
file://debian/writable_site_dirs.diff \
file://debian/extutils_set_libperl_path.diff \
file://debian/no_packlist_perllocal.diff \
file://debian/prefix_changes.diff \
file://debian/instmodsh_doc.diff \
file://debian/ld_run_path.diff \
file://debian/libnet_config_path.diff \
file://debian/mod_paths.diff \
file://debian/prune_libs.diff \
file://debian/fixes/net_smtp_docs.diff \
file://debian/perlivp.diff \
file://debian/squelch-locale-warnings.diff \
file://debian/skip-upstream-git-tests.diff \
file://debian/skip-kfreebsd-crash.diff \
file://debian/fixes/document_makemaker_ccflags.diff \
file://debian/find_html2text.diff \
file://debian/perl5db-x-terminal-emulator.patch \
file://debian/cpan-missing-site-dirs.diff \
file://debian/fixes/memoize_storable_nstore.diff \
file://debian/regen-skip.diff \
"
SRC_URI += " \
file://Makefile.patch \
file://Makefile.SH.patch \
file://installperl.patch \
file://perl-archlib-exp.patch \
file://perl-dynloader.patch \
file://perl-moreconfig.patch \
file://letgcc-find-errno.patch \
file://generate-sh.patch \
file://native-perlinc.patch \
file://cross-generate_uudmap.patch \
file://fix_bad_rpath.patch \
file://dynaloaderhack.patch \
file://config.sh \
file://config.sh-32 \
file://config.sh-32-le \
file://config.sh-32-be \
file://config.sh-64 \
file://config.sh-64-le \
file://config.sh-64-be \
file://make_ext.pl-fix-regenerate-makefile-failed-while-cc-.patch \
file://t-run-switches.t-perl5-perl.patch \
file://ext-ODBM_File-hints-linux.pl-link-libgdbm_compat.patch \
file://ext-ODBM_File-t-odbm.t-fix-the-path-of-dbmt_common.p.patch \
file://perl-PathTools-don-t-filter-out-blib-from-INC.patch \
file://perl-errno-generation-gcc5.patch \
file://perl-fix-conflict-between-skip_all-and-END.patch \
file://perl-5.26.1-guard_old_libcrypt_fix.patch \
file://CVE-2018-12015.patch \
file://0001-ExtUtils-MM_Unix.pm-fix-race-issues.patch \
file://0001-Makefile.SH-Pod-Simple-requires-Getopt-Long.patch \
"
# Fix test case issues
SRC_URI_append_class-target = " \
file://test/dist-threads-t-join.t-adjust-ps-option.patch \
file://test/ext-DynaLoader-t-DynaLoader.t-fix-calling-dl_findfil.patch \
file://0001-Skip-various-tests-if-PERL_BUILD_PACKAGING-is-set.patch \
"
SRC_URI[md5sum] = "04622bc4d3941dc7eb571c52b7c02993"
SRC_URI[sha256sum] = "7f080287ff64750270689843ae945f02159a33cb8f2fc910248c15befba5db84"
inherit perlnative siteinfo
# Where to find the native perl
HOSTPERL = "${STAGING_BINDIR_NATIVE}/perl-native/perl${PV}"
# Where to find .so files - use the -native versions not those from the target build
export PERLHOSTLIB = "${STAGING_LIBDIR_NATIVE}/perl-native/perl/${PV}/"
# Where to find perl @INC/#include files
# - use the -native versions not those from the target build
export PERL_LIB = "${STAGING_LIBDIR_NATIVE}/perl-native/perl/${PV}/"
export PERL_ARCHLIB = "${STAGING_LIBDIR_NATIVE}/perl-native/perl/${PV}/"
EXTRA_OEMAKE = "-e MAKEFLAGS="
# LDFLAGS for shared libraries
export LDDLFLAGS = "${LDFLAGS} -shared"
LDFLAGS_append = " -fstack-protector"
# We're almost Debian, aren't we?
CFLAGS += "-DDEBIAN"
do_configure() {
# Make hostperl in build directory be the native perl
ln -sf ${HOSTPERL} hostperl
if [ -n "${CONFIGURESTAMPFILE}" -a -e "${CONFIGURESTAMPFILE}" ]; then
if [ "`cat ${CONFIGURESTAMPFILE}`" != "${BB_TASKHASH}" -a -e Makefile ]; then
${MAKE} clean
fi
find ${S} -name *.so -delete
fi
if [ -n "${CONFIGURESTAMPFILE}" ]; then
echo ${BB_TASKHASH} > ${CONFIGURESTAMPFILE}
fi
# Do our work in the cross subdir
cd Cross
# Generate configuration
rm -f config.sh-${TARGET_ARCH}-${TARGET_OS}
for i in ${WORKDIR}/config.sh \
${WORKDIR}/config.sh-${SITEINFO_BITS} \
${WORKDIR}/config.sh-${SITEINFO_BITS}-${SITEINFO_ENDIANNESS}; do
cat $i >> config.sh-${TARGET_ARCH}-${TARGET_OS}
done
# Fixups for musl
if [ "${TARGET_OS}" = "linux-musl" -o "${TARGET_OS}" = "linux-musleabi" -o "${TARGET_OS}" = "linux-muslx32" ]; then
sed -i -e "s,\(d_libm_lib_version=\)'define',\1'undef',g" \
-e "s,\(d_stdio_ptr_lval=\)'define',\1'undef',g" \
-e "s,\(d_stdio_ptr_lval_sets_cnt=\)'define',\1'undef',g" \
-e "s,\(d_stdiobase=\)'define',\1'undef',g" \
-e "s,\(d_stdstdio=\)'define',\1'undef',g" \
-e "s,\(d_getnetbyname_r=\)'define',\1'undef',g" \
-e "s,\(d_finitel=\)'define',\1'undef',g" \
-e "s,\(getprotobyname_r=\)'define',\1'undef',g" \
-e "s,\(getpwent_r=\)'define',\1'undef',g" \
-e "s,\(getservent_r=\)'define',\1'undef',g" \
-e "s,\(gethostent_r=\)'define',\1'undef',g" \
-e "s,\(getnetent_r=\)'define',\1'undef',g" \
-e "s,\(getnetbyaddr_r=\)'define',\1'undef',g" \
-e "s,\(getprotoent_r=\)'define',\1'undef',g" \
-e "s,\(getprotobynumber_r=\)'define',\1'undef',g" \
-e "s,\(getgrent_r=\)'define',\1'undef',g" \
-e "s,\(i_fcntl=\)'undef',\1'define',g" \
-e "s,\(h_fcntl=\)'false',\1'true',g" \
-e "s,-fstack-protector,-fno-stack-protector,g" \
config.sh-${TARGET_ARCH}-${TARGET_OS}
fi
# Update some paths in the configuration
sed -i -e 's,@ARCH@-thread-multi,,g' \
-e 's,@ARCH@,${TARGET_ARCH}-${TARGET_OS},g' \
-e 's,@STAGINGDIR@,${STAGING_DIR_HOST},g' \
-e "s,@INCLUDEDIR@,${STAGING_INCDIR},g" \
-e "s,@LIBDIR@,${libdir},g" \
-e "s,@BASELIBDIR@,${base_libdir},g" \
-e "s,@EXECPREFIX@,${exec_prefix},g" \
-e 's,@USRBIN@,${bindir},g' \
-e "s,-lnsl,,g" \
config.sh-${TARGET_ARCH}-${TARGET_OS}
case "${TARGET_ARCH}" in
x86_64 | powerpc | s390)
sed -i -e "s,\(need_va_copy=\)'undef',\1'define',g" \
config.sh-${TARGET_ARCH}-${TARGET_OS}
;;
arm)
sed -i -e "s,\(d_u32align=\)'undef',\1'define',g" \
config.sh-${TARGET_ARCH}-${TARGET_OS}
;;
esac
# These are strewn all over the source tree
for foo in `grep -I --exclude="*.patch" --exclude="*.diff" --exclude="*.pod" --exclude="README*" --exclude="Glossary" -m1 "/usr/include/.*\.h" ${S}/* -r -l` ${S}/utils/h2xs.PL ; do
echo Fixing: $foo
sed -e 's|\([ "^'\''I]\+\)/usr/include/|\1${STAGING_INCDIR}/|g' -i $foo
done
rm -f config
echo "ARCH = ${TARGET_ARCH}" > config
echo "OS = ${TARGET_OS}" >> config
}
do_compile() {
# Fix to avoid recursive substitution of path
sed -i -e 's|(@libpath, ".*"|(@libpath, "${STAGING_LIBDIR}"|g' cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
cd Cross
oe_runmake perl LD="${CCLD}"
}
do_compile_append_class-target() {
# Remove build host references from numerous comments...
find "${S}/cpan/Encode" -type f \
\( -name '*.exh' -o -name '*.c' -o -name '*.h' \)\
-exec sed -i -e 's:${RECIPE_SYSROOT_NATIVE}::g' {} +
sed -i -e 's:${RECIPE_SYSROOT}::g' ${S}/perl.h ${S}/pp.h
sed -i -e 's:${RECIPE_SYSROOT_NATIVE}/usr/bin/perl-native/perl${PV}.real:/usr/bin/perl${PV}:g' \
${S}/cpan/Compress-Raw-Bzip2/constants.h \
${S}/cpan/Compress-Raw-Zlib/constants.h \
${S}/cpan/IPC-SysV/const-c.inc \
${S}/dist/Time-HiRes/const-c.inc
}
do_install() {
#export hostperl="${STAGING_BINDIR_NATIVE}/perl-native/perl${PV}"
oe_runmake install DESTDIR=${D}
# Add perl pointing at current version
ln -sf perl${PV} ${D}${bindir}/perl
ln -sf perl ${D}/${libdir}/perl5
# Remove unwanted file and empty directories
rm -f ${D}/${libdir}/perl/${PV}/.packlist
rmdir ${D}/${libdir}/perl/site_perl/${PV}
rmdir ${D}/${libdir}/perl/site_perl
# Fix up shared library
mv ${D}/${libdir}/perl/${PV}/CORE/libperl.so ${D}/${libdir}/libperl.so.${PV}
ln -sf libperl.so.${PV} ${D}/${libdir}/libperl.so.5
ln -sf ../../../libperl.so.${PV} ${D}/${libdir}/perl/${PV}/CORE/libperl.so
# target config, used by cpan.bbclass to extract version information
install config.sh ${D}${libdir}/perl
ln -s Config_heavy.pl ${D}${libdir}/perl/${PV}/Config_heavy-target.pl
}
do_install_append_class-nativesdk () {
create_wrapper ${D}${bindir}/perl \
PERL5LIB='$PERL5LIB:$OECORE_NATIVE_SYSROOT/${libdir_nativesdk}/perl/site_perl/${PV}:$OECORE_NATIVE_SYSROOT/${libdir_nativesdk}/perl/vendor_perl/${PV}:$OECORE_NATIVE_SYSROOT/${libdir_nativesdk}/perl/${PV}'
}
PACKAGE_PREPROCESS_FUNCS += "perl_package_preprocess"
perl_package_preprocess () {
# Fix up installed configuration
sed -i -e "s,${D},,g" \
-e "s,${DEBUG_PREFIX_MAP},,g" \
-e "s,--sysroot=${STAGING_DIR_HOST},,g" \
-e "s,-isystem${STAGING_INCDIR} ,,g" \
-e "s,${STAGING_LIBDIR},${libdir},g" \
-e "s,${STAGING_BINDIR},${bindir},g" \
-e "s,${STAGING_INCDIR},${includedir},g" \
-e "s,${STAGING_BINDIR_NATIVE}/perl-native/,${bindir}/,g" \
-e "s,${STAGING_BINDIR_NATIVE}/,,g" \
-e "s,${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX},${bindir},g" \
-e 's:${RECIPE_SYSROOT}::g' \
${PKGD}${bindir}/h2xs \
${PKGD}${bindir}/h2ph \
${PKGD}${bindir}/pod2man \
${PKGD}${bindir}/pod2text \
${PKGD}${bindir}/pod2usage \
${PKGD}${bindir}/podchecker \
${PKGD}${bindir}/podselect \
${PKGD}${libdir}/perl/${PV}/CORE/config.h \
${PKGD}${libdir}/perl/${PV}/CORE/perl.h \
${PKGD}${libdir}/perl/${PV}/CORE/pp.h \
${PKGD}${libdir}/perl/${PV}/Config.pm \
${PKGD}${libdir}/perl/${PV}/Config.pod \
${PKGD}${libdir}/perl/${PV}/Config_heavy.pl \
${PKGD}${libdir}/perl/${PV}/ExtUtils/Liblist/Kid.pm \
${PKGD}${libdir}/perl/${PV}/FileCache.pm \
${PKGD}${libdir}/perl/${PV}/pod/*.pod \
${PKGD}${libdir}/perl/config.sh
}
PACKAGES = "perl-dbg perl perl-misc perl-dev perl-pod perl-doc perl-lib \
perl-module-cpan perl-module-cpanplus perl-module-unicore"
FILES_${PN} = "${bindir}/perl ${bindir}/perl${PV} \
${libdir}/perl/${PV}/Config.pm \
${libdir}/perl/${PV}/strict.pm \
${libdir}/perl/${PV}/warnings.pm \
${libdir}/perl/${PV}/warnings \
${libdir}/perl/${PV}/vars.pm \
"
FILES_${PN}_append_class-nativesdk = " ${bindir}/perl.real"
RPROVIDES_${PN} += "perl-module-strict perl-module-vars perl-module-config perl-module-warnings \
perl-module-warnings-register"
FILES_${PN}-dev = "${libdir}/perl/${PV}/CORE"
FILES_${PN}-lib = "${libdir}/libperl.so* \
${libdir}/perl5 \
${libdir}/perl/config.sh \
${libdir}/perl/${PV}/Config_git.pl \
${libdir}/perl/${PV}/Config_heavy.pl \
${libdir}/perl/${PV}/Config_heavy-target.pl"
FILES_${PN}-pod = "${libdir}/perl/${PV}/pod \
${libdir}/perl/${PV}/*.pod \
${libdir}/perl/${PV}/*/*.pod \
${libdir}/perl/${PV}/*/*/*.pod "
FILES_perl-misc = "${bindir}/*"
FILES_${PN}-doc = "${libdir}/perl/${PV}/*/*.txt \
${libdir}/perl/${PV}/*/*/*.txt \
${libdir}/perl/${PV}/auto/XS/Typemap \
${libdir}/perl/${PV}/B/assemble \
${libdir}/perl/${PV}/B/cc_harness \
${libdir}/perl/${PV}/B/disassemble \
${libdir}/perl/${PV}/B/makeliblinks \
${libdir}/perl/${PV}/CGI/eg \
${libdir}/perl/${PV}/CPAN/PAUSE2003.pub \
${libdir}/perl/${PV}/CPAN/SIGNATURE \
${libdir}/perl/${PV}/CPANPLUS/Shell/Default/Plugins/HOWTO.pod \
${libdir}/perl/${PV}/Encode/encode.h \
${libdir}/perl/${PV}/ExtUtils/MANIFEST.SKIP \
${libdir}/perl/${PV}/ExtUtils/NOTES \
${libdir}/perl/${PV}/ExtUtils/PATCHING \
${libdir}/perl/${PV}/ExtUtils/typemap \
${libdir}/perl/${PV}/ExtUtils/xsubpp \
${libdir}/perl/${PV}/ExtUtils/Changes_EU-Install \
${libdir}/perl/${PV}/Net/*.eg \
${libdir}/perl/${PV}/unicore/mktables \
${libdir}/perl/${PV}/unicore/mktables.lst \
${libdir}/perl/${PV}/unicore/version "
FILES_perl-module-cpan += "${libdir}/perl/${PV}/CPAN \
${libdir}/perl/${PV}/CPAN.pm"
FILES_perl-module-cpanplus += "${libdir}/perl/${PV}/CPANPLUS \
${libdir}/perl/${PV}/CPANPLUS.pm"
FILES_perl-module-unicore += "${libdir}/perl/${PV}/unicore"
# Create a perl-modules package recommending all the other perl
# packages (actually the non modules packages and not created too)
ALLOW_EMPTY_perl-modules = "1"
PACKAGES_append = " perl-modules "
PACKAGESPLITFUNCS_prepend = "split_perl_packages "
python split_perl_packages () {
libdir = d.expand('${libdir}/perl/${PV}')
do_split_packages(d, libdir, 'auto/([^.]*)/[^/]*\.(so|ld|ix|al)', 'perl-module-%s', 'perl module %s', recursive=True, match_path=True, prepend=False)
do_split_packages(d, libdir, 'Module/([^\/]*)\.pm', 'perl-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False)
do_split_packages(d, libdir, 'Module/([^\/]*)/.*', 'perl-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False)
do_split_packages(d, libdir, '(^(?!(CPAN\/|CPANPLUS\/|Module\/|unicore\/|auto\/)[^\/]).*)\.(pm|pl|e2x)', 'perl-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False)
# perl-modules should recommend every perl module, and only the
# modules. Don't attempt to use the result of do_split_packages() as some
# modules are manually split (eg. perl-module-unicore).
packages = filter(lambda p: 'perl-module-' in p, d.getVar('PACKAGES').split())
d.setVar(d.expand("RRECOMMENDS_${PN}-modules"), ' '.join(packages))
}
PACKAGES_DYNAMIC += "^perl-module-.*(?<!\-native)$"
PACKAGES_DYNAMIC_class-nativesdk = "^nativesdk-perl-module-.*"
RPROVIDES_perl-lib = "perl-lib"
require perl-rdepends_${PV}.inc
require perl-ptest.inc
SSTATE_SCAN_FILES += "*.pm *.pod *.h *.pl *.sh"
BBCLASSEXTEND = "nativesdk"