diff options
author | Aníbal Limón <anibal.limon@linux.intel.com> | 2016-11-24 15:06:04 -0600 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-11-30 15:48:08 +0000 |
commit | 066ac716e397e685e429095e2899227c89852122 (patch) | |
tree | 090b2c3b91bcf69d85e281ed7072c0554a282515 /meta/recipes-devtools/perl/perl_5.24.0.bb | |
parent | 50f5c4e9113513bf63e5adf77f091d8bf5831fc4 (diff) | |
download | poky-066ac716e397e685e429095e2899227c89852122.tar.gz |
perl: Upgrade to 5.24.0
Configuration changes,
Simple changes was made to bump version and api version, related to
floating point handling now the configuration needs the inf, mantisa
and nan bytes.
The new version comes with the support of API calls like memmem and
{new,free,use}locale also structure for handle siginfo supported by
glibc and musl.
Finally use64bit{int, all} was disable because the previous
configure_args don't come with them and cases some tests to fail
related to bignum's and shared memory respectively. This doesn't
means that perl couldn't use 64-bit data types, it means that don't
stores by default into a 64 bit that is good for embedded space
purposes.
Modules changes,
Some core modules are now deprecated in order to use the core ones
like version-vpp and version-regex inside module-extutils-makemaker.
For full review see perl-rdepends.inc file.
Patches rebased,
- perl/debian/errno_ver.diff
- perl/dynaloaderhack.patch
- perl/Makefile.SH.patch
- perl/config.s
- perl/dynaloaderhack.patch
- perl/perl-test-customized.patch
Patches removed, comes with the upgrade now:
- perl/perl-remove-nm-from-libswanted.patch
- perl/perl-fix-CVE-2015-8607.patch
- perl/perl-fix-CVE-2016-2381.patch
Test,
The upgrade was test using ptest the suite is fixed now.
The pod2man and pod2text installation required now for some tests.
Buildhistory was use to review the changes and only diff changes
related to modules commented above.
(From OE-Core rev: add5e5982f010e13e3ad25690f01d5e4e391daf9)
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/perl/perl_5.24.0.bb')
-rw-r--r-- | meta/recipes-devtools/perl/perl_5.24.0.bb | 373 |
1 files changed, 373 insertions, 0 deletions
diff --git a/meta/recipes-devtools/perl/perl_5.24.0.bb b/meta/recipes-devtools/perl/perl_5.24.0.bb new file mode 100644 index 0000000000..ab50d29d33 --- /dev/null +++ b/meta/recipes-devtools/perl/perl_5.24.0.bb | |||
@@ -0,0 +1,373 @@ | |||
1 | require perl.inc | ||
2 | |||
3 | # We need gnugrep (for -I) | ||
4 | DEPENDS = "virtual/db grep-native" | ||
5 | DEPENDS += "gdbm zlib" | ||
6 | |||
7 | # Pick up patches from debian | ||
8 | # http://ftp.de.debian.org/debian/pool/main/p/perl/perl_5.22.0-1.debian.tar.xz | ||
9 | SRC_URI += " \ | ||
10 | file://debian/cpan_definstalldirs.diff \ | ||
11 | file://debian/db_file_ver.diff \ | ||
12 | file://debian/doc_info.diff \ | ||
13 | file://debian/enc2xs_inc.diff \ | ||
14 | file://debian/errno_ver.diff \ | ||
15 | file://debian/libperl_embed_doc.diff \ | ||
16 | file://debian/fixes/respect_umask.diff \ | ||
17 | file://debian/writable_site_dirs.diff \ | ||
18 | file://debian/extutils_set_libperl_path.diff \ | ||
19 | file://debian/no_packlist_perllocal.diff \ | ||
20 | file://debian/prefix_changes.diff \ | ||
21 | file://debian/instmodsh_doc.diff \ | ||
22 | file://debian/ld_run_path.diff \ | ||
23 | file://debian/libnet_config_path.diff \ | ||
24 | file://debian/mod_paths.diff \ | ||
25 | file://debian/prune_libs.diff \ | ||
26 | file://debian/fixes/net_smtp_docs.diff \ | ||
27 | file://debian/perlivp.diff \ | ||
28 | file://debian/squelch-locale-warnings.diff \ | ||
29 | file://debian/skip-upstream-git-tests.diff \ | ||
30 | file://debian/skip-kfreebsd-crash.diff \ | ||
31 | file://debian/fixes/document_makemaker_ccflags.diff \ | ||
32 | file://debian/find_html2text.diff \ | ||
33 | file://debian/perl5db-x-terminal-emulator.patch \ | ||
34 | file://debian/cpan-missing-site-dirs.diff \ | ||
35 | file://debian/fixes/memoize_storable_nstore.diff \ | ||
36 | file://debian/regen-skip.diff \ | ||
37 | " | ||
38 | |||
39 | SRC_URI += " \ | ||
40 | file://Makefile.patch \ | ||
41 | file://Makefile.SH.patch \ | ||
42 | file://installperl.patch \ | ||
43 | file://perl-archlib-exp.patch \ | ||
44 | file://perl-dynloader.patch \ | ||
45 | file://perl-moreconfig.patch \ | ||
46 | file://letgcc-find-errno.patch \ | ||
47 | file://generate-sh.patch \ | ||
48 | file://native-perlinc.patch \ | ||
49 | file://perl-enable-gdbm.patch \ | ||
50 | file://cross-generate_uudmap.patch \ | ||
51 | file://fix_bad_rpath.patch \ | ||
52 | file://dynaloaderhack.patch \ | ||
53 | file://config.sh \ | ||
54 | file://config.sh-32 \ | ||
55 | file://config.sh-32-le \ | ||
56 | file://config.sh-32-be \ | ||
57 | file://config.sh-64 \ | ||
58 | file://config.sh-64-le \ | ||
59 | file://config.sh-64-be \ | ||
60 | file://make_ext.pl-fix-regenerate-makefile-failed-while-cc-.patch \ | ||
61 | file://t-run-switches.t-perl5-perl.patch \ | ||
62 | file://ext-ODBM_File-hints-linux.pl-link-libgdbm_compat.patch \ | ||
63 | file://ext-ODBM_File-t-odbm.t-fix-the-path-of-dbmt_common.p.patch \ | ||
64 | file://perl-PathTools-don-t-filter-out-blib-from-INC.patch \ | ||
65 | file://perl-errno-generation-gcc5.patch \ | ||
66 | file://perl-fix-conflict-between-skip_all-and-END.patch \ | ||
67 | file://perl-test-customized.patch \ | ||
68 | file://perl-fix-CVE-2016-6185.patch \ | ||
69 | file://perl-fix-CVE-2016-1238.patch \ | ||
70 | " | ||
71 | |||
72 | # Fix test case issues | ||
73 | SRC_URI_append_class-target = " \ | ||
74 | file://test/dist-threads-t-join.t-adjust-ps-option.patch \ | ||
75 | file://test/ext-DynaLoader-t-DynaLoader.t-fix-calling-dl_findfil.patch \ | ||
76 | " | ||
77 | |||
78 | SRC_URI[md5sum] = "59456ae4bd4b06cb6e57cb19a3b2d349" | ||
79 | SRC_URI[sha256sum] = "a9a37c0860380ecd7b23aa06d61c20fc5bc6d95198029f3684c44a9d7e2952f2" | ||
80 | |||
81 | inherit perlnative siteinfo | ||
82 | |||
83 | # Where to find the native perl | ||
84 | HOSTPERL = "${STAGING_BINDIR_NATIVE}/perl-native/perl${PV}" | ||
85 | |||
86 | # Where to find .so files - use the -native versions not those from the target build | ||
87 | export PERLHOSTLIB = "${STAGING_LIBDIR_NATIVE}/perl-native/perl/${PV}/" | ||
88 | |||
89 | # Where to find perl @INC/#include files | ||
90 | # - use the -native versions not those from the target build | ||
91 | export PERL_LIB = "${STAGING_LIBDIR_NATIVE}/perl-native/perl/${PV}/" | ||
92 | export PERL_ARCHLIB = "${STAGING_LIBDIR_NATIVE}/perl-native/perl/${PV}/" | ||
93 | |||
94 | EXTRA_OEMAKE = "-e MAKEFLAGS=" | ||
95 | |||
96 | # LDFLAGS for shared libraries | ||
97 | export LDDLFLAGS = "${LDFLAGS} -shared" | ||
98 | |||
99 | LDFLAGS_append = " -fstack-protector" | ||
100 | |||
101 | # We're almost Debian, aren't we? | ||
102 | CFLAGS += "-DDEBIAN" | ||
103 | |||
104 | do_nolargefile() { | ||
105 | sed -i -e "s,\(uselargefiles=\)'define',\1'undef',g" \ | ||
106 | -e "s,\(d_readdir64_r=\)'define',\1'undef',g" \ | ||
107 | -e "s,\(readdir64_r_proto=\)'\w+',\1'0',g" \ | ||
108 | -e "/ccflags_uselargefiles/d" \ | ||
109 | -e "s/-Duselargefiles//" \ | ||
110 | -e "s/-D_FILE_OFFSET_BITS=64//" \ | ||
111 | -e "s/-D_LARGEFILE_SOURCE//" \ | ||
112 | ${S}/Cross/config.sh-${TARGET_ARCH}-${TARGET_OS} | ||
113 | } | ||
114 | |||
115 | do_configure() { | ||
116 | # Make hostperl in build directory be the native perl | ||
117 | ln -sf ${HOSTPERL} hostperl | ||
118 | |||
119 | if [ -n "${CONFIGURESTAMPFILE}" -a -e "${CONFIGURESTAMPFILE}" ]; then | ||
120 | if [ "`cat ${CONFIGURESTAMPFILE}`" != "${BB_TASKHASH}" -a -e Makefile ]; then | ||
121 | ${MAKE} clean | ||
122 | fi | ||
123 | find ${S} -name *.so -delete | ||
124 | fi | ||
125 | if [ -n "${CONFIGURESTAMPFILE}" ]; then | ||
126 | echo ${BB_TASKHASH} > ${CONFIGURESTAMPFILE} | ||
127 | fi | ||
128 | |||
129 | # Do our work in the cross subdir | ||
130 | cd Cross | ||
131 | |||
132 | # Generate configuration | ||
133 | rm -f config.sh-${TARGET_ARCH}-${TARGET_OS} | ||
134 | for i in ${WORKDIR}/config.sh \ | ||
135 | ${WORKDIR}/config.sh-${SITEINFO_BITS} \ | ||
136 | ${WORKDIR}/config.sh-${SITEINFO_BITS}-${SITEINFO_ENDIANNESS}; do | ||
137 | cat $i >> config.sh-${TARGET_ARCH}-${TARGET_OS} | ||
138 | done | ||
139 | |||
140 | # Fixups for uclibc | ||
141 | if [ "${TARGET_OS}" = "linux-uclibc" -o "${TARGET_OS}" = "linux-uclibceabi" ]; then | ||
142 | sed -i -e "s,\(d_crypt_r=\)'define',\1'undef',g" \ | ||
143 | -e "s,\(d_futimes=\)'define',\1'undef',g" \ | ||
144 | -e "s,\(d_finitel=\)'define',\1'undef',g" \ | ||
145 | -e "s,\(crypt_r_proto=\)'\w+',\1'0',g" \ | ||
146 | -e "s,\(d_getnetbyname_r=\)'define',\1'undef',g" \ | ||
147 | -e "s,\(getnetbyname_r_proto=\)'\w+',\1'0',g" \ | ||
148 | -e "s,\(d_getnetbyaddr_r=\)'define',\1'undef',g" \ | ||
149 | -e "s,\(getnetbyaddr_r_proto=\)'\w+',\1'0',g" \ | ||
150 | -e "s,\(d_getnetent_r=\)'define',\1'undef',g" \ | ||
151 | -e "s,\(getnetent_r_proto=\)'\w+',\1'0',g" \ | ||
152 | -e "s,\(d_sockatmark=\)'define',\1'undef',g" \ | ||
153 | -e "s,\(d_sockatmarkproto=\)'\w+',\1'0',g" \ | ||
154 | -e "s,\(d_eaccess=\)'define',\1'undef',g" \ | ||
155 | -e "s,\(d_stdio_ptr_lval=\)'define',\1'undef',g" \ | ||
156 | -e "s,\(d_stdio_ptr_lval_sets_cnt=\)'define',\1'undef',g" \ | ||
157 | -e "s,\(d_stdiobase=\)'define',\1'undef',g" \ | ||
158 | -e "s,\(d_stdstdio=\)'define',\1'undef',g" \ | ||
159 | -e "s,-fstack-protector,-fno-stack-protector,g" \ | ||
160 | config.sh-${TARGET_ARCH}-${TARGET_OS} | ||
161 | fi | ||
162 | # Fixups for musl | ||
163 | if [ "${TARGET_OS}" = "linux-musl" -o "${TARGET_OS}" = "linux-musleabi" ]; then | ||
164 | sed -i -e "s,\(d_libm_lib_version=\)'define',\1'undef',g" \ | ||
165 | -e "s,\(d_stdio_ptr_lval=\)'define',\1'undef',g" \ | ||
166 | -e "s,\(d_stdio_ptr_lval_sets_cnt=\)'define',\1'undef',g" \ | ||
167 | -e "s,\(d_stdiobase=\)'define',\1'undef',g" \ | ||
168 | -e "s,\(d_stdstdio=\)'define',\1'undef',g" \ | ||
169 | -e "s,\(d_getnetbyname_r=\)'define',\1'undef',g" \ | ||
170 | -e "s,\(d_finitel=\)'define',\1'undef',g" \ | ||
171 | -e "s,\(getprotobyname_r=\)'define',\1'undef',g" \ | ||
172 | -e "s,\(getpwent_r=\)'define',\1'undef',g" \ | ||
173 | -e "s,\(getservent_r=\)'define',\1'undef',g" \ | ||
174 | -e "s,\(gethostent_r=\)'define',\1'undef',g" \ | ||
175 | -e "s,\(getnetent_r=\)'define',\1'undef',g" \ | ||
176 | -e "s,\(getnetbyaddr_r=\)'define',\1'undef',g" \ | ||
177 | -e "s,\(getprotoent_r=\)'define',\1'undef',g" \ | ||
178 | -e "s,\(getprotobynumber_r=\)'define',\1'undef',g" \ | ||
179 | -e "s,\(getgrent_r=\)'define',\1'undef',g" \ | ||
180 | -e "s,\(i_fcntl=\)'undef',\1'define',g" \ | ||
181 | -e "s,\(h_fcntl=\)'false',\1'true',g" \ | ||
182 | -e "s,-fstack-protector,-fno-stack-protector,g" \ | ||
183 | -e "s,-lnsl,,g" \ | ||
184 | config.sh-${TARGET_ARCH}-${TARGET_OS} | ||
185 | fi | ||
186 | |||
187 | ${@bb.utils.contains('DISTRO_FEATURES', 'largefile', '', 'do_nolargefile', d)} | ||
188 | |||
189 | # Update some paths in the configuration | ||
190 | sed -i -e 's,@ARCH@-thread-multi,,g' \ | ||
191 | -e 's,@ARCH@,${TARGET_ARCH}-${TARGET_OS},g' \ | ||
192 | -e 's,@STAGINGDIR@,${STAGING_DIR_HOST},g' \ | ||
193 | -e "s,@INCLUDEDIR@,${STAGING_INCDIR},g" \ | ||
194 | -e "s,@LIBDIR@,${libdir},g" \ | ||
195 | -e "s,@BASELIBDIR@,${base_libdir},g" \ | ||
196 | -e "s,@EXECPREFIX@,${exec_prefix},g" \ | ||
197 | -e 's,@USRBIN@,${bindir},g' \ | ||
198 | config.sh-${TARGET_ARCH}-${TARGET_OS} | ||
199 | |||
200 | case "${TARGET_ARCH}" in | ||
201 | x86_64 | powerpc | s390) | ||
202 | sed -i -e "s,\(need_va_copy=\)'undef',\1'define',g" \ | ||
203 | config.sh-${TARGET_ARCH}-${TARGET_OS} | ||
204 | ;; | ||
205 | arm) | ||
206 | sed -i -e "s,\(d_u32align=\)'undef',\1'define',g" \ | ||
207 | config.sh-${TARGET_ARCH}-${TARGET_OS} | ||
208 | ;; | ||
209 | esac | ||
210 | # These are strewn all over the source tree | ||
211 | for foo in `grep -I --exclude="*.patch" --exclude="*.diff" --exclude="*.pod" --exclude="README*" -m1 "/usr/include/.*\.h" ${S}/* -r -l` ${S}/utils/h2xs.PL ; do | ||
212 | echo Fixing: $foo | ||
213 | sed -e 's|\([ "^'\''I]\+\)/usr/include/|\1${STAGING_INCDIR}/|g' -i $foo | ||
214 | done | ||
215 | |||
216 | rm -f config | ||
217 | echo "ARCH = ${TARGET_ARCH}" > config | ||
218 | echo "OS = ${TARGET_OS}" >> config | ||
219 | } | ||
220 | |||
221 | do_compile() { | ||
222 | # Fix to avoid recursive substitution of path | ||
223 | sed -i -e 's|(@libpath, ".*"|(@libpath, "${STAGING_LIBDIR}"|g' cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm | ||
224 | |||
225 | cd Cross | ||
226 | oe_runmake perl LD="${CCLD}" | ||
227 | } | ||
228 | |||
229 | do_install() { | ||
230 | #export hostperl="${STAGING_BINDIR_NATIVE}/perl-native/perl${PV}" | ||
231 | oe_runmake install DESTDIR=${D} | ||
232 | # Add perl pointing at current version | ||
233 | ln -sf perl${PV} ${D}${bindir}/perl | ||
234 | |||
235 | ln -sf perl ${D}/${libdir}/perl5 | ||
236 | |||
237 | # Remove unwanted file and empty directories | ||
238 | rm -f ${D}/${libdir}/perl/${PV}/.packlist | ||
239 | rmdir ${D}/${libdir}/perl/site_perl/${PV} | ||
240 | rmdir ${D}/${libdir}/perl/site_perl | ||
241 | |||
242 | # Fix up shared library | ||
243 | mv ${D}/${libdir}/perl/${PV}/CORE/libperl.so ${D}/${libdir}/libperl.so.${PV} | ||
244 | ln -sf libperl.so.${PV} ${D}/${libdir}/libperl.so.5 | ||
245 | ln -sf ../../../libperl.so.${PV} ${D}/${libdir}/perl/${PV}/CORE/libperl.so | ||
246 | |||
247 | # target config, used by cpan.bbclass to extract version information | ||
248 | install config.sh ${D}${libdir}/perl | ||
249 | |||
250 | ln -s Config_heavy.pl ${D}${libdir}/perl/${PV}/Config_heavy-target.pl | ||
251 | } | ||
252 | |||
253 | do_install_append_class-nativesdk () { | ||
254 | create_wrapper ${D}${bindir}/perl \ | ||
255 | 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}' | ||
256 | } | ||
257 | |||
258 | PACKAGE_PREPROCESS_FUNCS += "perl_package_preprocess" | ||
259 | |||
260 | perl_package_preprocess () { | ||
261 | # Fix up installed configuration | ||
262 | sed -i -e "s,${D},,g" \ | ||
263 | -e "s,--sysroot=${STAGING_DIR_HOST},,g" \ | ||
264 | -e "s,-isystem${STAGING_INCDIR} ,,g" \ | ||
265 | -e "s,${STAGING_LIBDIR},${libdir},g" \ | ||
266 | -e "s,${STAGING_BINDIR},${bindir},g" \ | ||
267 | -e "s,${STAGING_INCDIR},${includedir},g" \ | ||
268 | -e "s,${STAGING_BINDIR_NATIVE}/perl-native/,${bindir}/,g" \ | ||
269 | -e "s,${STAGING_BINDIR_NATIVE}/,,g" \ | ||
270 | -e "s,${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX},${bindir},g" \ | ||
271 | ${PKGD}${bindir}/h2xs \ | ||
272 | ${PKGD}${bindir}/h2ph \ | ||
273 | ${PKGD}${bindir}/pod2man \ | ||
274 | ${PKGD}${bindir}/pod2text \ | ||
275 | ${PKGD}${bindir}/pod2usage \ | ||
276 | ${PKGD}${bindir}/podchecker \ | ||
277 | ${PKGD}${bindir}/podselect \ | ||
278 | ${PKGD}${libdir}/perl/${PV}/CORE/config.h \ | ||
279 | ${PKGD}${libdir}/perl/${PV}/CORE/perl.h \ | ||
280 | ${PKGD}${libdir}/perl/${PV}/CORE/pp.h \ | ||
281 | ${PKGD}${libdir}/perl/${PV}/Config.pm \ | ||
282 | ${PKGD}${libdir}/perl/${PV}/Config.pod \ | ||
283 | ${PKGD}${libdir}/perl/${PV}/Config_heavy.pl \ | ||
284 | ${PKGD}${libdir}/perl/${PV}/ExtUtils/Liblist/Kid.pm \ | ||
285 | ${PKGD}${libdir}/perl/${PV}/FileCache.pm \ | ||
286 | ${PKGD}${libdir}/perl/${PV}/pod/*.pod \ | ||
287 | ${PKGD}${libdir}/perl/config.sh | ||
288 | } | ||
289 | |||
290 | PACKAGES = "perl-dbg perl perl-misc perl-dev perl-pod perl-doc perl-lib \ | ||
291 | perl-module-cpan perl-module-cpanplus perl-module-unicore" | ||
292 | FILES_${PN} = "${bindir}/perl ${bindir}/perl${PV} \ | ||
293 | ${libdir}/perl/${PV}/Config.pm \ | ||
294 | ${libdir}/perl/${PV}/strict.pm \ | ||
295 | ${libdir}/perl/${PV}/warnings.pm \ | ||
296 | ${libdir}/perl/${PV}/warnings \ | ||
297 | ${libdir}/perl/${PV}/vars.pm \ | ||
298 | " | ||
299 | FILES_${PN}_append_class-nativesdk = " ${bindir}/perl.real" | ||
300 | RPROVIDES_${PN} += "perl-module-strict perl-module-vars perl-module-config perl-module-warnings \ | ||
301 | perl-module-warnings-register" | ||
302 | FILES_${PN}-dev = "${libdir}/perl/${PV}/CORE" | ||
303 | FILES_${PN}-lib = "${libdir}/libperl.so* \ | ||
304 | ${libdir}/perl5 \ | ||
305 | ${libdir}/perl/config.sh \ | ||
306 | ${libdir}/perl/${PV}/Config_heavy.pl \ | ||
307 | ${libdir}/perl/${PV}/Config_heavy-target.pl" | ||
308 | FILES_${PN}-pod = "${libdir}/perl/${PV}/pod \ | ||
309 | ${libdir}/perl/${PV}/*.pod \ | ||
310 | ${libdir}/perl/${PV}/*/*.pod \ | ||
311 | ${libdir}/perl/${PV}/*/*/*.pod " | ||
312 | FILES_perl-misc = "${bindir}/*" | ||
313 | FILES_${PN}-doc = "${libdir}/perl/${PV}/*/*.txt \ | ||
314 | ${libdir}/perl/${PV}/*/*/*.txt \ | ||
315 | ${libdir}/perl/${PV}/auto/XS/Typemap \ | ||
316 | ${libdir}/perl/${PV}/B/assemble \ | ||
317 | ${libdir}/perl/${PV}/B/cc_harness \ | ||
318 | ${libdir}/perl/${PV}/B/disassemble \ | ||
319 | ${libdir}/perl/${PV}/B/makeliblinks \ | ||
320 | ${libdir}/perl/${PV}/CGI/eg \ | ||
321 | ${libdir}/perl/${PV}/CPAN/PAUSE2003.pub \ | ||
322 | ${libdir}/perl/${PV}/CPAN/SIGNATURE \ | ||
323 | ${libdir}/perl/${PV}/CPANPLUS/Shell/Default/Plugins/HOWTO.pod \ | ||
324 | ${libdir}/perl/${PV}/Encode/encode.h \ | ||
325 | ${libdir}/perl/${PV}/ExtUtils/MANIFEST.SKIP \ | ||
326 | ${libdir}/perl/${PV}/ExtUtils/NOTES \ | ||
327 | ${libdir}/perl/${PV}/ExtUtils/PATCHING \ | ||
328 | ${libdir}/perl/${PV}/ExtUtils/typemap \ | ||
329 | ${libdir}/perl/${PV}/ExtUtils/xsubpp \ | ||
330 | ${libdir}/perl/${PV}/ExtUtils/Changes_EU-Install \ | ||
331 | ${libdir}/perl/${PV}/Net/*.eg \ | ||
332 | ${libdir}/perl/${PV}/unicore/mktables \ | ||
333 | ${libdir}/perl/${PV}/unicore/mktables.lst \ | ||
334 | ${libdir}/perl/${PV}/unicore/version " | ||
335 | |||
336 | FILES_perl-module-cpan += "${libdir}/perl/${PV}/CPAN \ | ||
337 | ${libdir}/perl/${PV}/CPAN.pm" | ||
338 | FILES_perl-module-cpanplus += "${libdir}/perl/${PV}/CPANPLUS \ | ||
339 | ${libdir}/perl/${PV}/CPANPLUS.pm" | ||
340 | FILES_perl-module-unicore += "${libdir}/perl/${PV}/unicore" | ||
341 | |||
342 | # Create a perl-modules package recommending all the other perl | ||
343 | # packages (actually the non modules packages and not created too) | ||
344 | ALLOW_EMPTY_perl-modules = "1" | ||
345 | PACKAGES_append = " perl-modules " | ||
346 | |||
347 | PACKAGESPLITFUNCS_prepend = "split_perl_packages " | ||
348 | |||
349 | python split_perl_packages () { | ||
350 | libdir = d.expand('${libdir}/perl/${PV}') | ||
351 | do_split_packages(d, libdir, 'auto/([^.]*)/[^/]*\.(so|ld|ix|al)', 'perl-module-%s', 'perl module %s', recursive=True, match_path=True, prepend=False) | ||
352 | do_split_packages(d, libdir, 'Module/([^\/]*)\.pm', 'perl-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False) | ||
353 | do_split_packages(d, libdir, 'Module/([^\/]*)/.*', 'perl-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False) | ||
354 | 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) | ||
355 | |||
356 | # perl-modules should recommend every perl module, and only the | ||
357 | # modules. Don't attempt to use the result of do_split_packages() as some | ||
358 | # modules are manually split (eg. perl-module-unicore). | ||
359 | packages = filter(lambda p: 'perl-module-' in p, d.getVar('PACKAGES', True).split()) | ||
360 | d.setVar(d.expand("RRECOMMENDS_${PN}-modules"), ' '.join(packages)) | ||
361 | } | ||
362 | |||
363 | PACKAGES_DYNAMIC += "^perl-module-.*" | ||
364 | PACKAGES_DYNAMIC_class-nativesdk += "^nativesdk-perl-module-.*" | ||
365 | |||
366 | RPROVIDES_perl-lib = "perl-lib" | ||
367 | |||
368 | require perl-rdepends_${PV}.inc | ||
369 | require perl-ptest.inc | ||
370 | |||
371 | SSTATE_SCAN_FILES += "*.pm *.pod *.h *.pl *.sh" | ||
372 | |||
373 | BBCLASSEXTEND = "nativesdk" | ||