29 Commits

Author SHA1 Message Date
Ross Burton
995de756e3 perl: fix CVE-2013-1667
From http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-1667:

"The rehash mechanism in Perl 5.8.2 through 5.16.x allows context-dependent
attackers to cause a denial of service (memory consumption and crash) via a
crafted hash key."

Patch taken from upstream git.

(From OE-Core rev: ccc272a3f7bf240733dc3af1d8d7b870c55e1f5b)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-29 18:00:00 +01:00
Ross Burton
23f3663842 perl: fix CVE-2012-6329
From http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-6329:
"The _compile function in Maketext.pm in the Locale::Maketext implementation in
Perl before 5.17.7 does not properly handle backslashes and fully qualified
method names during compilation of bracket notation, which allows
context-dependent attackers to execute arbitrary commands via crafted input to
an application."

Patches taken from upstream git.

(From OE-Core rev: b585a50b7bd735c3092af9477af263c13c853d32)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-29 18:00:00 +01:00
Hongxu Jia
a3dfd0dc1b perl_5.14.2.bb:fix toolchain relocation issues
1, Use create_wrapper to create perl wrapper in the SDK.
2, Add perl.real to perl-nativesdk package.

Cherry-pick commit 820a64bfb7

[YOCTO #3984]

(From OE-Core rev: 6571278b896474c58bf5552d0e46237f2cf5096c)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:52 +01:00
Hongxu Jia
608207e868 perl_5.14.2.bb:fix errors if configure is reattempted
If configure of perl is reattempted it currently fails as it tries to edit
files outside ${S}. Chaging from ${WORKDIR} to ${S} avoids this issue
and allows rebuilds to work.

Cherry-pick commit f2f0a1aa48

(From OE-Core rev: 4cb190a7527300bcaed34bb6f65329c5d6425966)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:52 +01:00
Hongxu Jia
04b34a50eb perl_5.14.2.bb:fix autoreconf run failed on gmae-toolchain
File warnings/register.pm has been moved to package perl, update
RPROVIDES_perl to provides perl-module-warnings-register for backward
compatibility.

Update populate_package script for:
1 Way to deal directory 'Module/' is not right, it creates packages
whose names end with '-pm'. Update to drop these packages.
2 Deal directory 'auto/' to put same name module file(.pm) and library
file(.so) into one package. That because .pm file requires the same
name .so file at runtime.

Cherry-pick commit dd65b82d24

[Yocto #3338]

(From OE-Core rev: ecffb5bc90d71d903ca2701383b4229e389a812b)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:51 +01:00
Hongxu Jia
286c2dfc55 perl_5.14.2.bb:Fix support strict/vars/config/warnings modules
With the move of the strict/vars/config/warnings modules to the main perl
recipe, we need to RPROVIDE those modules to ensure that package dependencies
on those modules continue to work correctly.

Cherry-pick commit 072a6d352f

(From OE-Core rev: 45d4f46801fed8fe746a7e76c4732754950dd28d)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:51 +01:00
Hongxu Jia
e73a12790e perl_5.14.2.bb: use PACKAGES_DYNAMIC as regexp
bitbake uses PACKAGES_DYNAMIC as regexp
1, use `^' to make matching faster (and it will be more clear
that we're expecting regexp not glob)

2, use `*' to made all those last '-' optional, use .* (or nothing)

3, use `+=' instead of `=' to to keep ${PN}-locale from
bitbake.conf:PACKAGES_DYNAMIC = "^${PN}-locale-.*"

Cherry-pick commit 33b31640bf
Cherry-pick commit fadb407901

(From OE-Core rev: a9b639c061faa9a9a4840218c8c44a71b246373e)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:51 +01:00
Hongxu Jia
a477bc9088 perl_5.14.2.bb: fix dependecies
This patch fixes 2 problems.

The first one is that when run "perl -V" on target, it fails with lack
of some .pm files. So add these perl module files to package perl itself
to fix this failure.

The second problem is that package nativesdk-perl-modules doesn't depends
on the single perl modules.

In the .bb file, dependencies of perl-modules are set by:
RRECOMMENDS_perl-modules = "${@d.getVar('PACKAGES', True)...}"
The PACKAGES would be reset by do_split_packages since:

PACKAGES_DYNAMIC = "perl-module-*"
PACKAGES_DYNAMIC_virtclass-nativesdk = "nativesdk-perl-module-*"

Then:
1) The target perl-modules RRECOMMENDS on perl-module-*, this is what
   we expect.
2) But the nativesdk-perl-modules doesn't RRECOMMENDS on
   nativesdk-perl-module-*, this is not what we expect.
The value of PACKAGES after do_split_packages has been set correctly (it
contains the nativesdk-perl-module-* packages)

But the:RRECOMMENDS_perl-modules = "${@d.getVar('PACKAGES', True)...}"
doesn't work correctly for nativesdk, the
d.getVar('RRECOMMENDS_perl-modules', True)
doesn't get the new value of the PACKAGES, it gets the value of PACKAGES
before the do_split_packages.

Cherry-pick commit 51cbb5ae76

(From OE-Core rev: 4c2e03d9c078c72eb82cf9b9604cb7256387ccbe)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:51 +01:00
Kang Kai
a54d4ae89e perl: fix security issue
Add perl-fix-CVE-2012-5195.patch to fix perl memory exhaustion
denial-of-service attack issue.

And patch is from perl 5.14.3 branch:
http://perl5.git.perl.org/perl.git/commit/b675304e3fdbcce3ef853b06b6ebe870d99faa7e

[Yocto 3701]

(From OE-Core rev: b4799833d26eacf60a7590bc5770b3715389fe66)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-01 15:38:48 +00:00
Tom Zanussi
784f93baf3 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

Fixes [YOCTO #3099].

(From OE-Core rev: cbcfdeb1d55e2e76f199750bda401bad126ae234)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:13 +01:00
Richard Purdie
3d3893d261 perl: Fix substitution madness
We're going around in circles trying to fix the sed expressions and making one case
work and others not work. This patch fixes the base configuration file so we have
non-overlapping substitutions. I've tried to significantly clean up various problems
that were occurring once and for all.

This will hopefully resolve all the issues people have been seeing with incorrect perl
paths.

(From OE-Core rev: 31ff70794ecc431431476f81c8934fff25383613)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 15:19:42 +01:00
Christian Glindkamp
876ec81c03 perl: Fix nativesdk install path
Commit 38234f2e276356b1d77a87ceabc486107e336d19 tried to fix the sed
expressions by anchoring the left side of the search regexp to prevent
$prefix$prefix type expression in the perl config. For nativesdk this is
not enough. Adding anchors on both side fixes this.

(From OE-Core rev: bf84ec0fb9a4d01ea75447c2efe8e534ce975b53)

Signed-off-by: Christian Glindkamp <christian.glindkamp@taskit.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-27 16:21:52 +01:00
Richard Purdie
c3bf244418 perl: Fix various nativesdk build issues
The config.sh lists -fstack-protector but this isn't in LDFLAGS. This
can result in perl compilation failures due to the mismatch. Adding the
flag to LDFLAGS solves makes all the flags consistent and avoids build
failures from missing symbols.

It was also found that the path substitutions made by the sed statement
can conflict with each other and you can end up with $prefix$prefix type
expressions in config.sh-X which can break the build in unusual ways.
This patch anchors the expressions to ensure only true matches are
replaced.

(From OE-Core rev: 38234f2e276356b1d77a87ceabc486107e336d19)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-02 05:52:06 -07:00
Richard Purdie
ad23395cd1 nativesdk: Switch to using nativesdk as a prefix, not a suffix
As discussed on the mailing lists, using a suffix to package names is
hard and has lead to many recipes having to do PKGSUFFIX games. Its
looking extremely hard to scale nativesdk much further without hacking
many recipes.

By comparison, using a prefix like multilib does works much better and
doesn't involve "hacking" as many recipes. This change converts nativesdk
to use a prefix using the existing multilib infrastructure.

(From OE-Core rev: 81813c0e322dc04ce4b069117188d8a54dfddb8c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-02 05:52:06 -07:00
Richard Purdie
bfd279de32 Convert tab indentation in python functions into four-space
(From OE-Core rev: 604d46c686d06d62d5a07b9c7f4fa170f99307d8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-19 10:24:50 +01:00
Tom Zanussi
2cae5a9fd0 perl: add @STAGINGDIR@ for config.sh substitions
For some config.sh substitions, we'd like to be able to use
STAGING_DIR_HOST; add @STAGINGDIR@ to allow for that.

(From OE-Core rev: cc594be0877b2a6616453c402db0a58ef265bc8d)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-04 17:40:36 +01:00
Tom Zanussi
7ebe4ca0cf perl: keep original libperl location
Things like ExtTools expect to find libperl at the original
(${libdir}/perl/${PV}/CORE/libperl.so) location, so keep it there but
symlink to it for the original (?) reason.

(From OE-Core rev: deb5d5ededfc404f4c54b18f3dcf8192e1c835e0)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-04 17:40:36 +01:00
Jason Wessel
e0a7054706 perl: Allow perl to cross build and native build in a directory named "t"
If any directory in leading up to your tmp directory has the name "t"
perl will fail to build with a very cryptic error shown below:

pod/buildtoc: no pods at pod/buildtoc line 305.
make[1]: *** [pod/perltoc.pod] Error 255

This is a result of the perl file checking making an assumption
that it is only looking at files and directories with in the perl
source directory.  This assumption fails with the way bitbake
sets up perl to properly cross compile.

(From OE-Core rev: f8a054aca9962ebfd4c74fc1d34cd684de6b3568)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-18 17:33:04 +01:00
Venkata ramana gollamudi
8cc3b24242 perl: fix re-execution of compile task
After building perl package, re-execution of compile task recursively
 substitutes the path, making it an invalid path.

Fixed to prevent recursive substitution.

Similar case as [Yocto #2194]

(From OE-Core rev: 16542d982d86d42d3189d47a8180f0f71646a9ca)

Signed-off-by: Venkata Ramana Gollamudi <ramana.gollamudi@huawei.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-17 12:26:12 +01:00
Paul Eggleton
b99e2f2f33 perl: fix re-execution of patch/configure
The perl recipe's do_configure() does some manual sed replacements over
the entire WORKDIR. Fix the following issues with this:

* Skip patches, which fixes re-execution of do_patch after do_configure
  has run once
* Ensure that the replacement operation does nothing if do_configure is
  re-executed
* Avoid unnecessarily modifying /usr/include paths within documentation
  that will end up being packaged
* Fix a quoting issue in the expression used in the grep command that
  ended up causing files that did not contain .*\.h after /usr/include
  to be matched and modified.

The files modified during do_configure have been compared before and
after this patch to ensure there are no unexpected changes. Some
/usr/include paths that are not within documentation are no longer
being substituted however these are all within comments or scripts for
other Unix operating systems that are not applicable.

[YOCTO #2194]

(From OE-Core rev: 19255032e7744fce5cbe466e4869ded378d3b4f5)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-16 22:30:03 +01:00
Andrei Gherzan
60cf19a36d PR bump packages with gdbm in DEPENDS
This is done because of this change in gdbm:
"gdbm: Package compat libs in gdbm-compat"

(From OE-Core rev: b91d8a07f736b7698650d25609245c89e0ed73d5)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-13 16:04:10 +01:00
Richard Purdie
4ba6ff6df2 perl: Clarify LICENSE with versions. Yes, its really GPLv1
(From OE-Core rev: 1ae8a1b044ea7fc421cf64b5921f6c8dc25b99cf)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:05 +00:00
Richard Purdie
b1aeaa8b0d meta: Replace bb.data.expand(xxx, d) -> d.expand(xxx)
sed \
 -e 's:bb.data.\(expand([^,()]*\), *\([^) ]*\) *):\2.\1):g' \
 -i `grep -ril bb.data.expand *`

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-05 10:23:53 -08:00
Richard Purdie
06f2f8ce0a meta: Convert getVar/getVarFlag(xxx, 1) -> (xxx, True)
Using "1" with getVar is bad coding style and "True" is preferred.
This patch is a sed over the meta directory of the form:

sed \
 -e 's:\(\.getVar([^,()]*, \)1 *):\1True):g' \
 -e 's:\(\.getVarFlag([^,()]*, [^,()]*, \)1 *):\1True):g' \
 -i `grep -ril getVar *`

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-05 10:22:56 -08:00
Saul Wold
51ab1879a7 perl: remove empty directories to clean QA Warnings
WARNING: For recipe perl, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/lib/perl/site_perl
WARNING:   /usr/lib/perl/site_perl/5.14.2
(From OE-Core rev: 2bda13df6feee87ea6fcecdce96fb5234cfa5674)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:40 +00:00
Saul Wold
984eb9e5a7 perl: add .pl, pm, pod, sh files to SSTATE_SCANE_FILES
This fixes problems where hardcoded paths in the file were incorrect
during sstate reusage of the task output.

(From OE-Core rev: 1e4466fc1ce32e5903ce0ed3f0ac80e3e93e1e24)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-15 14:36:25 +00:00
Koen Kooi
38be5d36d3 perl: bump PR for gdbm SOVERSION change
(From OE-Core rev: 5ba2df7ceac938e0b36256acdd8c2ec1e754f8b1)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 22:02:30 +00:00
Richard Purdie
c8dee9b92d Convert to use direct access to the data store (instead of bb.data.*Var*())
This is the result of running the following over the metadata:

sed \
-e 's:bb.data.\(setVar([^,()]*,[^,()]*\), *\([^ )]*\) *):\2.\1):g' \
-e 's:bb.data.\(setVarFlag([^,()]*,[^,()]*,[^,()]*\), *\([^) ]*\) *):\2.\1):g' \
-e 's:bb.data.\(getVar([^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \
-e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \
-e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^() ]*\) *):\2.\1):g' \
-e 's:bb.data.\(getVar([^,()]*\), *\([^) ]*\) *):\2.\1):g' \
-i `grep -ril bb.data *`

(From OE-Core rev: b22831fd63164c4db9c0b72934d7d734a6585251)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:51:19 +00:00
Nitin A Kamble
5f8f114e4c perl: upgrade from 5.12.3 to 5.14.2
parallel build fix patches are not needed as they are upstream now.
Got a new set of debian patch set for 5.14.2

perl-rpdepends: fix the autogenerated rdepends mistakes
   take out some mdoules which are not going to be built.

[Saul Wold: Remove debug]
(From OE-Core rev: 8dc5f118832a4aca906239ffed82f72497c37f8e)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-24 17:27:14 +01:00