Compare commits

...

74 Commits

Author SHA1 Message Date
Scott Rifenbark
e52a74755b documentation: Updated release date to May in the manual rev. tables.
(From yocto-docs rev: 66d2c65daf3a30e244253213e49eeb9092a9b709)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-22 17:23:44 +01:00
Scott Rifenbark
b7301a8091 documentation: Updated Manual Revision History tables for 1.3.2
Added the entry for the 1.3.2 release.  I put in June of
2013 for the date.  This is a guess.

(From yocto-docs rev: e1349b1244c8fa7704bb015a804851fe28d9a86d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-22 17:23:44 +01:00
Scott Rifenbark
7dcaeea2f3 documentation/poky.ent: Updated for 1.3.2 release
I updated the following variables to generate the YP 1.3.2
Release documentation:

 DISTRO "1.3.2"
 YOCTO_DOC_VERSION "1.3.2"
 POKYVERSION "8.0.2"

(From yocto-docs rev: c8b7304a25c35d0337245b577b70fe2b6dd3f939)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-22 17:23:44 +01:00
Ross Burton
8450317a6c Revert "initramfs-live-install*: fix the "install" boot option"
This patch causes install to fail because /etc/mtab doesn't exist, so revert it
for now until the root problem is fixed.

[ YOCTO #4501 ]

This reverts commit 2f5d41f94c53aaf606de66891c37de0dbd86f54b.

(From OE-Core rev: 20ded0315924a083e07900a8a3308bd351b15a8b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-16 20:15:58 +03:00
Elizabeth Flanagan
00ab7c884b poky.conf: fixing sanity tested distro
Didn't flip 8.0.2 to 1.3.2. This fixes that

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
2013-05-09 12:55:54 -07:00
Elizabeth Flanagan
ad7df4a004 Flipping poky.conf vars for 1.3.2
Need to flip variables for the 1.3.2 build. (DISTRO and friends)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
2013-05-09 12:52:32 -07:00
Ross Burton
84c5c634a6 powertop: inherit gettext
powertop uses gettext during config time and at build time to generate the
messages, so really should inherit gettext.

[YOCTO #4470]

(From OE-Core rev: 5eedfe3fd8cf1f2be451a6c182fd6804ee8bd73b)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-09 17:58:11 +01:00
Trevor Woerner
d6cc4edb53 qemu-native: fix DSO linking
I noticed this issue trying to build using the Danny branch on what is
currently the most recent openSuSE (12.3). It appears to be similar to the
fedora DSO linking issue:
https://fedoraproject.org/wiki/UnderstandingDSOLinkChange.

Upstream-status: Inappropriate [OE Specific]
(From OE-Core rev: c0ed6d8017eb83321dfb6e5c769cce2c9f81ca0c)

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-08 15:08:12 +01:00
Ross Burton
094c523ded qemux86: disable paravirt guest in linux 3.4, causes test failures
The shutdown sanity test that we previously saw on qemux86-64 in 2.6.37 have
started to re-appear reproducably on qemux86 in 3.4 in the Danny series.  Until
this can be root-caused and fixed in the kernel, disable paravirtualisation
across all kernels and all qemu machines.

[ YOCTO #4196 ]

(From OE-Core rev: 6091d041e94397a4dda6827868ba48d2e3250d26)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Conflicts:
	meta/recipes-kernel/linux/linux-yocto_3.4.bb
2013-05-08 12:03:17 +01:00
Richard Purdie
dd3b62d646 sanity.bbclass: Ensure tmpdir exists when running the check
This avoids tracebacks from bitbake if the directory doesn't already
exist.

[YOCTO #3640]

(From OE-Core rev: 2d0f0d39dacc57c2c6eefade0b06aed4dc9814d5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-08 12:03:16 +01:00
Saul Wold
881f4b9bdd udev-extraconf: Add -o silent to auto mount for mount.util-linux
This will silence some of the noisy output from mount.util-linux and the kernel
when trying to automount filesystems or devices. Busybox does not accept the silent
option, it uses a loud option instead.

[YOCTO #3935]

(From OE-Core rev: 796e1390487d602c55467d7654f52e43a4617548)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-08 12:03:16 +01:00
Jason Wessel
e26f12af02 ncurses.inc: Fix display corruption and add fallback for sstate compiled paths
CQID: WIND00402979

Display corruption was occurring on 64 bit hosts using menuconfig for
the kernel and busybox with the ncurses-native or ncurses-nativesdk
because the configure arguments were not sufficient vs the expected
use from the upstream source.

Also changed in this commit is to provide a fallback to the hard
compiled paths for the terminfo and termcap.  Eventually this needs to
be fixed another way if we want a truly portable SDK because any SDK
that is relocated or native binaries pulled out of the sstate can end
up referencing terminfo files that no longer are in the same location.
Because the host system has terminfo files that ncurses will happily
use we might as well have a fall back to buy some time for a better
fix, vs having thing just not work occasionally when using sstate.

(From OE-Core rev: feafff8c529b659ba2b70d32e9f99cd95edde113)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-08 12:03:16 +01:00
Paul Eggleton
ae8e10beb5 lib/oe/classextend.py: avoid extending any kernel package
For multilib and other uses of classextend, we don't want any
dependencies on kernel packages to be extended since there should only
be one kernel variant.

Fixes [YOCTO #2918] (where kernel-dev was being extended.)

(From OE-Core rev: 26dc1d726387c76adbfb9df19c18daee10ab636c)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-08 12:03:16 +01:00
Constantin Musca
8927dba785 classextend.py: use explode_dep_versions2 in order to preserve versions too
(From OE-Core rev: 8f8c5da07b3431e5a0838034084ce2f8e09762e3)

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-08 12:03:16 +01:00
Bruce Ashfield
18285be0df multilib: skip packages that provide virtual/kernel
Rather than keying on recipes that inherit kernel.bbclass, we should
be checking for providers of virtual/kernel when skipping kernel
recipes in multlib builds.

Not all providers of virtual/kernel inherit kernel.bbclass (notably
linux-dummy), so checking on the provider is a more complete check.

We need to be sure to check for inheritance of module-base as well, this
allows for packages that provides modules to avoid the multilib renaming.

(From OE-Core rev: 036bf4dd800147f18b9b1451061e7e7a794300a7)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-08 12:03:16 +01:00
Richard Purdie
6798c0ef23 lib/oe/classextend: Ensure we don't extend expressions more than once
We could end up with MLPREFIX being prepended to variables like
PACKAGE_DYNAMIC. This patch avoids the problem and unbreaks builds.

[YOCTO #3389]

(From OE-Core rev: 18b401f4f8e931dca08a2e9be34e94c49b5215b9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-08 12:03:16 +01:00
Richard Purdie
5e0124f00d bitbake: prserv/cooker: Handle PRService errors cleanly
Current if the PR Service fails to start, bitbake carries on regardless or
hangs with no error message. This adds an exception and then handles it correctly
so the UIs correctly handle the error and exit cleanly.

[YOCTO #4010]

(Bitbake rev: 9c52c73fd2498e65be5f0da24dc2ae3803eb42eb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-07 16:14:33 +01:00
Richard Purdie
2806646a26 multilib/clsextend: Improve handling of regexps in PACKAGES_DYNAMIC
Now that PACKAGES_DYNAMIC is more standardised, starting with ^ anchors,
the variable manipulations performed by clsextend for multilib don't work.

This patch at least improves it to hack around the problem and enable
mulitlib builds to work again. If this code doesn't do the right thing, the
recipe is free to override the variable with the correct multilib case.

(From OE-Core rev: d4f366c00335d28b90e1b071631aa90ce9d38321)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-29 18:00:00 +01:00
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
Ross Burton
2cc162ac12 openssh: fix CVE-2010-5107
From http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5107:
"The default configuration of OpenSSH through 6.1 enforces a fixed time limit
between establishing a TCP connection and completing a login, which makes it
easier for remote attackers to cause a denial of service (connection-slot
exhaustion) by periodically making many new TCP connections."

Integrate patches from upstream to enable "random early drop" by default./

(From OE-Core rev: 1d4f2d5ef65135e61d78ac0db90afe7f5d166d05)

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
4a9b9004bc gnupg: integrate fix for CVE-2012-6085
From http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-6085:
"The read_block function in g10/import.c in GnuPG 1.4.x before 1.4.13 and 2.0.x
through 2.0.19, when importing a key, allows remote attackers to corrupt the
public keyring database or cause a denial of service (application crash) via a
crafted length field of an OpenPGP packet."

Patch taken from upstream git, which is identical in both branches.

(From OE-Core rev: 44ed6605c1978325782d229d0c01329465c4c5c7)

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
Richard Purdie
a69769e3b3 qemuimagetest/scenario: Move dmesg to end of test run
The dmesg test detects segfaults. This is useful information to have and if one
occurs in one of the earlier tests, this can aid debugging. Move the dmesg test to
the end of the list of tests so we gain the extra debug info in those cases.

(From OE-Core rev: 9ab2fc380fe8b6e48c6501a4630cc3c583ed2da5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:54 +01:00
Richard Purdie
7f468c2247 qemuimage-tests/sanity/boot: Increase timeout
As we've increased the parallelisation on the build servers, we've started to see
core-image-minimal sanity test boot failures where the network never comes up. We
don't see those failures for core-image-sato, its always minimal.

Looking at the results, it can take ~100 seconds for the network to come up,
even on the sato images if the machine has a high load. The timeout for the boot
test is only 120 seconds compared to 400 on every other test.

This change makes the timeout equal for all the tests at 400 seconds in the hope
that the load on the autobuilder is causing the sanity tests to run slowly and
hence triggering the false negatives.

(From OE-Core rev: f03a0eb83be9acb1b418ff4632611a32bd69bf6c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:54 +01:00
Ross Burton
f8b915128b sanity/connman: when connman test fails, dump syslog
(From OE-Core rev: 1b702e0c546beaf3b0ffef0c8e57ea254aef4996)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:54 +01:00
Ross Burton
84b91b829d qemuimage-testlib: add function to fetch the remote syslog
Add a new function to scp from the target, and another to fetch
/var/log/messages and dump it to the console.

(From OE-Core rev: 392e93f1701a801afe90a1c550813c8ace4950c9)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:54 +01:00
Ross Burton
1d58c4b99e qemuimage-testlib: silence some key warnings
Set StrictHostKeyChecking to no to silence the fingerprint warnings, and instead
of creating a temporary file for the known hosts and then deleting it just use
/dev/null.

(From OE-Core rev: b4fe96393912377cd003af8c72557df3448cde86)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:54 +01:00
Ross Burton
2a320d9b74 connman_test.sh: show all processes when dumping ps
We know the grep failed because the error case is being executed, so don't do
the grep again when attempting to help diagnose the problem, as seeing the full
process list might be useful.

(From OE-Core rev: cfdea2a233f3087f51f059c3610a441fbf48e4b0)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:54 +01:00
Richard Purdie
bd8e22ad58 qemuimage-testlib-pythonhelper: Fix process mixups
runqemu-internal runs "ldd qemu-system xxx" and the detection code was returning this
as the PID of qemu. This patch improves the detection code to avoid this problem,
fixing certain race type failures on the autobuilder.

(From OE-Core rev: 0c97fedc42fd9b53dc1dd40fe01f4ac142201269)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:53 +01:00
Richard Purdie
a5cf163969 scripts/qemuimage-testlib: Dump extra info if the network doesn't come up
(From OE-Core rev: ca638c858c74313146d1902a4981df3e9fad58ff)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:53 +01:00
Richard Purdie
57ad24d062 qemuimage-testlib: Fix quoting issue
(From OE-Core rev: f8628a0649a56c5caae45d1320cf970eb83bcc1c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:53 +01:00
Richard Purdie
73a7838a52 qemuimage-testlib: Use ww option to ps to ensure command output isn't truncated
(From OE-Core rev: c7a6d7fa5032a16a9e1f8fa5a563802f9d9fe607)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:53 +01:00
Richard Purdie
5d2b15f068 qemuimage-testlib: Increase qemu startup timeouts
We are seeing timeouts on the autobuilder where qemu does start but the script
doesn't appear to be able to detect it in time. This patch increases the
timeouts since there seems little harm in doing so.

(From OE-Core rev: 33a5980ac381409413712b9910ee9638b7958189)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:53 +01:00
Nitin A Kamble
45e460d084 initramfs-live-install*: fix the "install" boot option
The install boot option was giving the following error when one tried to
install the live image on a  permanent storage of a BSP.

cat: write error Invalid argument
Installation image failed
sh: can't access tty: job control turned off

Further digging into the issue, found out that the install script was trying
to do this:
 cat /proc/mounts > /etc/mtab

And in the base-files recipe the /etc/mtab is made soft link to /proc/mounts.
So the cat command was failing to write on /etc/mtab. As the contents of
the /proc/mounts is already reflected in the /etc/mtab file due to the
symlink-ing, there is no need for this step to recreate /etc/mtab in the
install script. So just removing this unnecessary step, which solves the
install issue of the live images.

Fixes this bug:
[YOCTO #4229]

(From OE-Core rev: 2f5d41f94c53aaf606de66891c37de0dbd86f54b)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:53 +01:00
Alexandru DAMIAN
3a32c753e7 libproxy: add dependency on glib-2.0
libproxy uses glib-2.0, but the depends is missing

Fixes intermittent build errors.

(From OE-Core rev: df39cc2820aeaa8d5187a65945f7739bc6fa53cb)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:53 +01:00
Alexandru DAMIAN
a94ebca409 bluez4: add readline dependency
bluez4 uses readline to be build, but the dependency is not listed
This is listed in the configuration log.
So we add it.

(From OE-Core rev: a3e8c54eb58f3f10427e66c54434c7d623572278)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:53 +01:00
Chase Maupin
fc32cb756e linux-dtb: fix whitespace in bash functions
* Fix the whitespace in the base functions to use TAB instead
  of spaces.  This is to address feedback from:
        Darren Hart <dvhart@linux.intel.com>

(From OE-Core rev: fa0831bb57ed3af55c3547be14131989c4330f7d)

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:53 +01:00
Chase Maupin
6e95fe1683 linux-dtb: Add simple DTB symlinks for devicetree
* This is similar to the symlinks provided for the kernel image
  in the /boot directory of a file system.  The goal is to have
  simply named symlinks in /boot that mirror the device tree
  name in the kernel sources.  This is so that programs like
  U-Boot can easily find the default device tree binary in the
  /boot directory and use that when booting the kernel.
* Use update-alternatives to handle proper creation and removal
  of the symlinks.

(From OE-Core rev: f972ec9522ade7dc35c535a65b04c9f31663f9aa)

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:53 +01:00
Chase Maupin
6b8dace6fa kernel bbclass: return to original directory in do_deploy
* During the base kernel_do_deploy function the directory is
  changed to DEPLOYDIR in order to do some cleanup and symlinking.
  However, the directory is not changed back to the original
  starting directory ${S} at the end.  For append functions this
  means that the starting directory is not ${S} as expected but
  instead ${DEPLOYDIR}.

  For functions like the do_deploy_append in
  recipes-kernel/linux/linux-dtb.inc there is an assumption that
  you are still in the source directory and not the DEPLOYDIR.
  Without this change the .dtb files are not copied because the
  check for the existence of ${DTS_FILE} which is a relative
  path from the ${S} directory fails.  This means that the .dtb
  files are not copied into the deploy directory and subsequently
  the deploy/images directory.

  In the log.do_deploy file you will see lines like:

    Warning: arch/arm/boot/dts/xxxxx.dts is not available!

(From OE-Core rev: cfac9cc41c98eb1858bd3b0dee3dcc672d53f78b)

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:52 +01:00
Jason Wessel
9267d8d352 relocate_sdk.py: allow relocate_sdk.py to work with python 2.4.x
Avoid the chicken / egg problem of an SDK that provides a working
python but requires that version of python to extract itself.  The
RHEL 5.x systems and some other enterprise Linux systems ship with
python 2.4.x as the default python.  We need to at least be able to
extract work executables even if we never use the the host provided
python again.

(From OE-Core rev: 9a5ed565758a6fcc94bc85ce6205375d2fd282ea)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:52 +01:00
Jason Wessel
1c7472dbeb relocate_sdk.py: Fix corruption of sdk binaries
There are two cases of corruption that the relocate_sdk.py was not correctly
dealing with.

1) SDK Extras should be left alone
   Extra external binaries included in an SDK that were linked against the
   host's version of /usr/lib/ld-so.so should not get a relocation applied.
   In the case that was discovered these were LSB compliant binaries that
   already worked on many hosts.

2) If the interp section is too small generate an error
   In the case of the qemu user code, it was using its own .ld file
   to link the executables which overrides the default in the nativesdk
   binutils.  This generated host executables which had a interp section
   that was too small to relocate.

   Now the relocate_sdk.py will print an error and continue on such that
   the error can be fixed by a developer without having to do the
   difficult task of debugging why it is crashing or not loading correctly.

(From OE-Core rev: 4142f6f9392fdd919488151170fb088d4113e0f2)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:52 +01:00
Hongxu Jia
a5bdceea55 populate_sdk_base.bbclass:fix toolchain relocation issues
When run "autoreconf" in toolchain, there is an error if the host's perl's
version is not the same as the one in the SDK, the error says that the
executable perl mismatches the perl lib's version.

This is because most of the autotools' scripts use the "#!/usr/bin/perl -w"
which is host perl, but the gnu-configize uses "#! /usr/bin/env perl" which
invokes the perl wrapper in the SDK, and the wrapper will set the PERL5LIB to
the SDK which causes the mismatch. We can make all the perl scripts to use the
host perl or the SDK perl to fix this problem.

Cherry-pick commit aeb53bd789

[YOCTO #3984]

(From OE-Core rev: 9c10356bde6d303d84daadb8c1170e08e774f5af)

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
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
192d249b31 populate_sdk_base: tarball installer: SDK overwrite warning
This patch contains two fixes:
* if the user wants to install the SDK in a directory that already
  contains a SDK for the same architecture, a warning will be shown;
* when the symbolic links are relocated use -n option. Otherwise,
  symbolic links to existing directories will be created in the
  directory itself;

Cherry-pick commit b751ec137d

[YOCTO #3401]

(From OE-Core rev: c3b00f18f24c5ff48981ea3645a58cf48eaa94aa)

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
c84d6fb67d nativesdk-ncurses 5.9: fix files were installed but not shipped
There is an warning:

$ bitbake nativesdk-ncurses

WARNING: QA Issue: nativesdk-ncurses: Files/directories were installed
but not shipped
  /opt/poky/1.3+snapshot/sysroots/i686-pokysdk-linux/usr/bin/clear.ncurses
  /opt/poky/1.3+snapshot/sysroots/i686-pokysdk-linux/usr/bin/reset.ncurses

NOTE: Tasks Summary: Attempted 533 tasks of which 521 didn't need to be
rerun and all succeeded.

And there is no clear or reset tool in the SDK.

This is caused by:
ALTERNATIVE_ncurses-tools = "clear reset"

It creates clear.ncurses and reset.ncurses which are used for avoiding
the conflicts with the target busybox, but SDK doesn't need them since
there is no nativesdk-busybox (then no conflicts), so:

ALTERNATIVE_ncurses-tools_class-target = "clear reset"

will fix the problem.

Cherry-pick commit dfc39d7bd5

[YOCTO #3325]

(From OE-Core rev: 595ce662fc4f705393205f8b17adfceb2d2df187)

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
b9be8d85fa automake_1.12.3.bb: update dependencies
Remove the RDEPENDS for nativesdk because the nativesdk-automake also
needs perl modules.

Add dependencies perl-module-thread-queue and perl-module-threads.

Remove redundant dependencies that they are already required by autoconf
and autoconf is required by automake.

In this removed list, "-->" present "required by":

perl-module-cwd --> perl-module-file-path --> autoconf
perl-module-dynaloader --> perl-module-xsloader --> perl-module-fcntl
--> perl-module-file-stat --> autoconf

perl-module-exporter-heavy --> perl-module-exporter --> autoconf
perl-module-constant --> autoconf
perl-module-errno --> autoconf
perl-module-file-basename --> autoconf
perl-module-file-compare --> autoconf
perl-module-file-copy --> autoconf
perl-module-file-glob --> autoconf
perl-module-file-spec-unix --> perl-module-file-spec
--> perl-module-io-file --> autoconf

perl-module-file-stat --> autoconf
perl-module-getopt-long --> autoconf
perl-module-io --> perl-module-IO-handle --> perl-module-IO-seekable
--> perl-module-io-file --> autoconf

perl-module-io-file --> autoconf
perl-module-posix --> autoconf
Bump up PR.

Cherry-pick commit d93898b2c5

(From OE-Core rev: 76f51c96ddddaa15bf40e6c415579db946bf0d7e)

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
5b2ff14255 generate-sh.patch:fix autoreconf run failed on gmae-toolchain
The perl shared libraries did not have RPATHs set and that made
autoreconf fail when using the SDK. The LDDLFLAGS environment variable
was already exported in the recipe but was not used when generating the
config.sh.

Cherry-pick commit df1a1dcb6d

[YOCTO #3338]

(From OE-Core rev: ff83f3685ce79712733822cf298d20538757b54d)

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
Hongxu Jia
5bd34b9661 perl-rdepends_5.14.2.inc:be more strict in multiline comment
* fails to parse when http://patchwork.openembedded.org/patch/40997/ is used
Parsing recipes...ERROR: There is a confusing multiline, partially commented
expression on line 10 of file
/OE/shr-core/openembedded-core/meta/recipes-devtools/perl/perl-rdepends_5.14.2.inc
(| sed "s/\/.*\.pm: */ += /g;s/[\"\']//g;s/;.*/\"/g;s/+=.*\(require\|use\)\>
 */+=
 \"perl-module-/g;s/CPANPLUS::.*/cpanplus/g;s/CPAN::.*/cpan/g;s/::/-/g;s/
 [^+\"].*//g;s/_/-/g;s/\.pl\"$/\"/;s/\"\?\$/\"/;s/(//;" | tr [:upper:] [:lower:]
\).
Please clarify whether this is all a comment or should be parsed.
ERROR: Unable to parse
/OE/shr-core/openembedded-core/meta/recipes-devtools/perl/perl_5.14.2.bb: Exited
with "1"
ERROR: Command execution failed: Exited with 1

Cherry-pick commit 54b8096f91

(From OE-Core rev: b82d85633fd8a364eb6b3193ef1f8d5744572202)

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
ae29cdd5d5 perl-rdepends_5.14.2.inc:update dependency creating script
Base on dependency create script provided by Saul, I update it with:
1 remove document strings in perl module files that may import fake
dependencies.

2 not all the 'use' or 'require' clauses start at the begin of line, and
some of them don't end with ';', such as:

use vars qw(
             $AUTOLOAD
		     ...
3 filter some strings that they are not real dependencies: some of them
are wrong result of script, some are conditional use/require, and some
are cpan extra modules that we don't need.

Cherry-pick commit 4601eb90f5

(From OE-Core rev: 26a6ab8ffd0d8ecbe9fc72e517407b797f5a63e9)

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
6884964579 perl-rdepends_5.14.2.inc:fix perl File::Glob module is broken
Update dependencies for perl modules again. When only install
perl-module-file-glob, run perl script with "require File::Glob;" will
fail. Update dependencies to fix that.

Cherry-pick commit c65e88b3f2

[Yocto 3069]

(From OE-Core rev: 3b80ac16772971418c88d90407ea45540f79c32c)

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
7226305c0d perl-rdepends_5.14.2.inc: update dependencies among modules
Run autoreconf fails because it uses several perl modules and they
requires other perl modules. So update these dependencies for:
perl-module-exporter
perl-module-file-glob
perl-module-file-path
perl-module-file-spec
perl-module-file-stat
perl-module-io-file
perl-module-io-handle
perl-module-io-seekable
perl-module-posix
And RDEPENDS rules in file perl-rdepends_5.14.2.inc don't work for
nativesdk perl module packages. Replace all "perl" with "${PN}" in the
file to fix that.

In nativesdk.bbclass it calls
oe.classextend.NativesdkClassExtender().map_packagevars() to map package
vars include var RDEPENDS. In map_packagevars():
	for pkg in (self.d.getVar("PACKAGES", True).split() + [""]):

the value of var "PACKAGES" may not be calculated correctly, so for
all the nativesdk packages created by
	  PACKAGES_DYNAMIC_virtclass-nativesdk += "^nativesdk-perl-module-.*"
dependencies are wrong.

Cherry-pick commit f816625bf2

(From OE-Core rev: c1f5e07406df7ef1c7e960cf9ba9eb38f460f235)

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
8120f2c7f8 autoconf:fix autoreconf run failed on x86-64 gmae-toolchain
Update autoconf runtime dependencies on perl and perl modules. And
remove RDEPENDS for nativesdk because the nativesdk-autoconf has same
dependencies with autoconf.

Then fixes autoreconf runs failed both on target and toolchain.

Bump up PR.

Cherry-pick commit 3533e801ee

[Yocto 3100]

(From OE-Core rev: 1f98d3ea9f89347ed841faec65893170c72bb18e)

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
18fe42cef9 toolchain-scripts.bbclass:add PYTHONHOME variable to environment-setup
When relocating the SDK, applications using python will search for
python modules in the default location and will fail to start.
The below errors are thrown by gdb, for example:

Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
ImportError: No module named site

In order to overcome this, add the PYTHONHOME variable to the
environment-setup script for both standalone toolchain and
adt-installer. No need to do that for meta-ide-support environment
script since this toolchain does not get relocated.

Cherry-pick commit db0a02492c

[YOCTO #3839]

(From OE-Core rev: 15454b99e3cbeaf2e411f1e374b512a19a72995a)

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
Lukas Bulwahn
88de87eb4e distutils: Replacing path to native python by path to python in the image to support python packages with console-script setup
When using distutils for a python package based on a python-setuptools
installation script that sets up a console script, the header
of the console script created by setuptools points to the
python-native path.

The console scripts are commonly executed in the image, but not
in the sysroot environment. Therefore, the header of the
console scripts should point to the python interpreter in the
image.

Setuptools does not allow to set the path of the python
interpreter via some command-line argument.
Hence after the installation script ran, the distutils
class replaces the path in the console script files created by
the installation.

(From OE-Core rev: 55c6f1318fe62f7cec37776853cf8bef82a55f89)

Signed-off-by: Lukas Bulwahn <Lukas.Bulwahn@oss.bmw-carit.de>

sgw - added \ to protect the space.

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:50 +01:00
Saul Wold
651658eac7 util-linux: Update License Information (remove GPLv3 Licnese)
The upstream authors have updated the licenses of a couple subcomponents,
these were GPLv3, but updated to be either GPLv2 or LGPLv2.1 accordingly.
These changes make the util-linux package become completely non-GPLv3.

Cleaned up some white space issue also

[YOCTO #4014]

(From OE-Core rev: 70b758344a0d83fb3eb82ecaffe5f05c7a0579e8)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:50 +01:00
Jackie Huang
b312cc327f populate_sdk_base.bbclass: add execution permission for self-extracting archive
[ CQID: WIND00392947 ]

It is not good user experience that the self-extracting archive (.sh file)
has no execution permission by default.

(From OE-Core rev: aede5db60c1e3111f34bda8ea4bb7e890ca77efc)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:50 +01:00
Laurentiu Palcu
28633260b9 adt-installer: remove patches and .pc directories from the shipped tarball
The patches and .pc directories should not be shipped since the patches
were already applied. So, remove these 2 directories.

[YOCTO #3983]

(From OE-Core rev: 4026ea5f98ee34fff4f541d83aa85f929df37b3b)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:50 +01:00
Darren Hart
9cc4d62c0e qemux86-64: Disable paravirt guest, causes test failure on older kernels
The 2.6.37 kernel on the AB occasionally fails dmesg and shutdown
tests with general protection faults.

(From OE-Core rev: 6bac3375f14e326a06537d329afad72325fb6a4f)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:50 +01:00
Constantin Musca
66cbc1e7bb console-tools: fix linking when using the multilib compiler
fix-libconsole-link.patch: add patch for fixing libconsole
linking problems when using multilib gcc

(From OE-Core rev: 4ca5f66e67da84c792515ab063738cb975cdd97d)

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:50 +01:00
Richard Purdie
632561df6a console-tools: Fix build issues with make 3.82
The intl directory is part of older gettext and has macros which no
longer get expanded with recent gettext versions. This simply removes
the intl directory from the equation since we'd never need it.

(From OE-Core rev: 0f614f4c42fdf12124ac2e01334414f9219686c0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:50 +01:00
Richard Purdie
9ab6962972 console-tools: Clean up recipe
This cleans up various bits of nastiness in this recipe:
  * Drop unneeded m4 macros
  * Update to a recent version of gettext (needs addition of Makevars file)
  * Drop split do_compile and SUBDIRS hacks, just patch out the docs
  * Remove some of the configure.in hacks since they seem unneeded now
    and break gettext (the AC_OUTPUT change).
  * Wipe out acinclude.m4 since it has corrisive contents

(From OE-Core rev: 8302b403336f06075fc56bf9a1536a6274016378)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:48 +01:00
Richard Purdie
db75025214 libtool: Ensure the paths to sed are not hardcoded
If you:

bitbake sed-native
bitbake libtool-cross

then libtool-cross has SED="/path/to/sysroot/sed" which is incorrect. If that
is reused from sstate or sed-native is cleaned, the build will fail.

This patch simply sets sed to be "sed" since we're not on systems where
the sed from PATH is broken.

(From OE-Core rev: 65accc9a8526ed659b0a6a75fa9986fd7e6819b2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:48 +01:00
Jason Wessel
ab2347d37d ncurses.inc: Fix display corruption and add fallback for sstate compiled paths
CQID: WIND00402979

Display corruption was occurring on 64 bit hosts using menuconfig for
the kernel and busybox with the ncurses-native or ncurses-nativesdk
because the configure arguments were not sufficient vs the expected
use from the upstream source.

Also changed in this commit is to provide a fallback to the hard
compiled paths for the terminfo and termcap.  Eventually this needs to
be fixed another way if we want a truly portable SDK because any SDK
that is relocated or native binaries pulled out of the sstate can end
up referencing terminfo files that no longer are in the same location.
Because the host system has terminfo files that ncurses will happily
use we might as well have a fall back to buy some time for a better
fix, vs having thing just not work occasionally when using sstate.

(From OE-Core rev: 15d7cfe9e4186e97690704382817a00fe7c53094)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:48 +01:00
Tom Zanussi
c0468d398c perf: add bash dependency
There are a number of scripts in the perf installation that use bash,
so we need to add a run-time dependency on bash for them. If not, we
can generate build errors like "no package provides /bin/bash".

Fixes [YOCTO #3951].

(From OE-Core rev: 550e743309b424e7f494323f4abd881260720618)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:48 +01:00
Tom Zanussi
fe66c080cf systemtap: add python and bash dependencies
There are a number of scripts in the systemtap installation that use
python and bash, so we need to add run-time dependencies for them.  If
not, we can generate build errors like "no package provides
/usr/bin/python".

Fixes [YOCTO #3951].

(From OE-Core rev: c16882f69aa7ec2e74ba411925a184e5a6105b1d)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:48 +01:00
Saul Wold
7223b3a80e remake: do not create po files
The 'make update' was using wget to get the gmo and other gnu files from
upstream, since need to work cleanly in a non-networked or proxy environment
this does not so well.  Remove the list of languages from the LINGUAS file.

[YOCTO #3745]

(From OE-Core rev: 93688b659bdf8067be2469ae91af10d68f5703eb)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:48 +01:00
Laurentiu Palcu
463ae24abf rootfs_ipk.bbclass: add missing --force_postinstall option
The force_postinstall option was missing and some packages were
configured on target rather than on host at rootfs time.

(From OE-Core rev: dfadfaa0b38678029ffebe14f15e2dbc148cb1fb)

(From OE-Core rev: f29c49c3bcc212b11cecf7c9df4702b77b095f3b)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-23 13:00:47 +01:00
Richard Purdie
e2ef3200e6 bitbake: codeparser: Track bb.utils.contains usage
The bb.utils.contains function usage is getting increasingly used in the metadata
but isn't handled automatically by the python dependency tracking code. This patch
changes that and also adds the "OE" names for the functions.

Whilst there are reasons this is a bad idea, its likely outweighed by the
shear number of these references and the current holes in dependency information
which we're now relying heavily upon.

(Bitbake rev: 56eac6ed2c14158e4f854f304fc875cee867f1b6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-12 17:50:15 +01:00
Richard Purdie
c584d93537 bitbake: codeparser: Track appendVar and prependVar calls as we do for getVar
We need to track appendVar and prependVar calls just as we do for getVar in order
to ensure we're not missing variable dependencies.

(Bitbake rev: 6568534f355fa8b298dac93bfe9e956c3036ee8c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-12 17:50:15 +01:00
80 changed files with 3473 additions and 956 deletions

View File

@@ -35,7 +35,7 @@ def check_indent(codestr):
class CodeParserCache(MultiProcessCache):
cache_file_name = "bb_codeparser.dat"
CACHE_VERSION = 2
CACHE_VERSION = 3
def __init__(self):
MultiProcessCache.__init__(self)
@@ -100,7 +100,8 @@ class BufferedLogger(Logger):
self.buffer = []
class PythonParser():
getvars = ("d.getVar", "bb.data.getVar", "data.getVar")
getvars = ("d.getVar", "bb.data.getVar", "data.getVar", "d.appendVar", "d.prependVar")
containsfuncs = ("bb.utils.contains", "base_contains", "oe.utils.contains")
execfuncs = ("bb.build.exec_func", "bb.build.exec_task")
def warn(self, func, arg):
@@ -119,7 +120,7 @@ class PythonParser():
def visit_Call(self, node):
name = self.called_node_name(node.func)
if name in self.getvars:
if name in self.getvars or name in self.containsfuncs:
if isinstance(node.args[0], ast.Str):
self.var_references.add(node.args[0].s)
else:

View File

@@ -1353,7 +1353,10 @@ class BBCooker:
# Empty the environment. The environment will be populated as
# necessary from the data store.
#bb.utils.empty_environment()
prserv.serv.auto_start(self.configuration.data)
try:
prserv.serv.auto_start(self.configuration.data)
except prserv.serv.PRServiceConfigError:
bb.event.fire(CookerExit(), self.configuration.event_data)
return
def post_serve(self):

View File

@@ -266,17 +266,20 @@ def is_local_special(host, port):
else:
return False
class PRServiceConfigError(Exception):
pass
def auto_start(d):
global singleton
if (not d.getVar('PRSERV_HOST', True)) or (not d.getVar('PRSERV_PORT', True)):
return True
return
if is_local_special(d.getVar('PRSERV_HOST', True), int(d.getVar('PRSERV_PORT', True))) and not singleton:
import bb.utils
cachedir = (d.getVar("PERSISTENT_DIR", True) or d.getVar("CACHE", True))
if not cachedir:
logger.critical("Please set the 'PERSISTENT_DIR' or 'CACHE' variable")
sys.exit(1)
raise PRServiceConfigError
bb.utils.mkdirhier(cachedir)
dbfile = os.path.join(cachedir, "prserv.sqlite3")
logfile = os.path.join(cachedir, "prserv.log")
@@ -292,7 +295,7 @@ def auto_start(d):
return PRServerConnection(host,port).ping()
except Exception:
logger.critical("PRservice %s:%d not available" % (host, port))
return False
raise PRServiceConfigError
def auto_shutdown(d=None):
global singleton

View File

@@ -59,6 +59,11 @@
<date>April 2013</date>
<revremark>Released with the Yocto Project 1.3.1 Release.</revremark>
</revision>
<revision>
<revnumber>1.3.2</revnumber>
<date>May 2013</date>
<revremark>Released with the Yocto Project 1.3.2 Release.</revremark>
</revision>
</revhistory>
<copyright>

View File

@@ -71,6 +71,11 @@
<date>April 2013</date>
<revremark>Released with the Yocto Project 1.3.1 Release.</revremark>
</revision>
<revision>
<revnumber>1.3.2</revnumber>
<date>May 2013</date>
<revremark>Released with the Yocto Project 1.3.2 Release.</revremark>
</revision>
</revhistory>
<copyright>

View File

@@ -49,6 +49,11 @@
<date>April 2013</date>
<revremark>Released with the Yocto Project 1.3.1 Release.</revremark>
</revision>
<revision>
<revnumber>1.3.2</revnumber>
<date>May 2013</date>
<revremark>Released with the Yocto Project 1.3.2 Release.</revremark>
</revision>
</revhistory>
<copyright>

View File

@@ -64,6 +64,11 @@
<date>April 2013</date>
<revremark>Released with the Yocto Project 1.3.1 Release.</revremark>
</revision>
<revision>
<revnumber>1.3.2</revnumber>
<date>May 2013</date>
<revremark>Released with the Yocto Project 1.3.2 Release.</revremark>
</revision>
</revhistory>
<copyright>

View File

@@ -65,6 +65,11 @@
<date>April 2013</date>
<revremark>Released with the Yocto Project 1.3.1 Release.</revremark>
</revision>
<revision>
<revnumber>1.3.2</revnumber>
<date>May 2013</date>
<revremark>Released with the Yocto Project 1.3.2 Release.</revremark>
</revision>
</revhistory>
<copyright>

View File

@@ -1,7 +1,7 @@
<!ENTITY DISTRO "1.3.1">
<!ENTITY DISTRO "1.3.2">
<!ENTITY DISTRO_NAME "danny">
<!ENTITY YOCTO_DOC_VERSION "1.3.1">
<!ENTITY POKYVERSION "8.0.1">
<!ENTITY YOCTO_DOC_VERSION "1.3.2">
<!ENTITY POKYVERSION "8.0.2">
<!ENTITY YOCTO_POKY "poky-&DISTRO_NAME;-&POKYVERSION;">
<!ENTITY COPYRIGHT_YEAR "2010-2013">
<!ENTITY YOCTO_DL_URL "http://downloads.yoctoproject.org">

View File

@@ -1,6 +1,6 @@
DISTRO = "poky"
DISTRO_NAME = "Poky 8.0.1 (Yocto Project 1.3.1 Reference Distro)"
DISTRO_VERSION = "1.3.1"
DISTRO_NAME = "Poky 8.0.2 (Yocto Project 1.3.2 Reference Distro)"
DISTRO_VERSION = "1.3.2"
SDK_VENDOR = "-pokysdk"
SDK_VERSION := "${DISTRO_VERSION}"
@@ -74,6 +74,7 @@ SANITY_TESTED_DISTROS ?= " \
Poky 7.0 (Yocto Project 1.2 Reference Distro) 1.2 \n \
Poky 8.0 (Yocto Project 1.3 Reference Distro) 1.3 \n \
Poky 8.0.1 (Yocto Project 1.3.1 Reference Distro) 1.3.1 \n \
Poky 8.0.2 (Yocto Project 1.3.1 Reference Distro) 1.3.2 \n \
Ubuntu 10.04.4 LTS \n \
Ubuntu 11.10 \n \
Ubuntu 12.04 LTS \n \

View File

@@ -47,12 +47,14 @@ distutils_do_install() {
if test -e ${D}${bindir} ; then
for i in ${D}${bindir}/* ; do \
sed -i -e s:${STAGING_BINDIR_NATIVE}/python-native/python:${bindir}/env\ python:g $i
sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g $i
done
fi
if test -e ${D}${sbindir}; then
for i in ${D}${sbindir}/* ; do \
sed -i -e s:${STAGING_BINDIR_NATIVE}/python-native/python:${bindir}/env\ python:g $i
sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g $i
done
fi

View File

@@ -529,6 +529,7 @@ kernel_do_deploy() {
ln -sf ${KERNEL_IMAGE_BASE_NAME}.bin ${KERNEL_IMAGETYPE}
cp ${COREBASE}/meta/files/deploydir_readme.txt ${DEPLOYDIR}/README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt
cd -
}
do_deploy[dirs] = "${DEPLOYDIR} ${B}"

View File

@@ -10,7 +10,9 @@ python multilib_virtclass_handler () {
e.data.setVar('STAGING_KERNEL_DIR', e.data.getVar('STAGING_KERNEL_DIR', True))
# There should only be one kernel in multilib configs
if bb.data.inherits_class('kernel', e.data) or bb.data.inherits_class('module-base', e.data):
# We also skip multilib setup for module packages.
provides = (e.data.getVar("PROVIDES", True) or "").split()
if "virtual/kernel" in provides or bb.data.inherits_class('module-base', e.data):
raise bb.parse.SkipPackage("We shouldn't have multilib variants for the kernel")
if bb.data.inherits_class('image', e.data):
@@ -75,7 +77,7 @@ python __anonymous () {
clsextend.map_depends_variable("DEPENDS")
clsextend.map_packagevars()
clsextend.map_variable("PROVIDES")
clsextend.map_variable("PACKAGES_DYNAMIC")
clsextend.map_regexp_variable("PACKAGES_DYNAMIC")
clsextend.map_variable("PACKAGE_INSTALL")
clsextend.map_variable("INITSCRIPT_PACKAGES")
}

View File

@@ -132,11 +132,20 @@ else
target_sdk_dir=$(readlink -m $target_sdk_dir)
fi
printf "You are about to install the SDK to \"$target_sdk_dir\". Proceed[Y/n]?"
if [ -e "$target_sdk_dir/environment-setup-${REAL_MULTIMACH_TARGET_SYS}" ]; then
echo "The directory \"$target_sdk_dir\" already contains a SDK for this architecture."
printf "If you continue, existing files will be overwritten! Proceed[y/N]?"
default_answer="n"
else
printf "You are about to install the SDK to \"$target_sdk_dir\". Proceed[Y/n]?"
default_answer="y"
fi
read answer
if [ "$answer" = "" ]; then
answer="y"
answer="$default_answer"
fi
if [ "$answer" != "Y" -a "$answer" != "y" ]; then
@@ -174,9 +183,16 @@ fi
# replace ${SDKPATH} with the new prefix in all text files: configs/scripts/etc
find $native_sysroot -type f -exec file '{}' \;|grep ":.*ASCII.*text"|cut -d':' -f1|xargs sed -i -e "s:$DEFAULT_INSTALL_DIR:$target_sdk_dir:g"
# find out all perl scripts in $native_sysroot and modify them replacing the
# host perl with SDK perl.
for perl_script in $(grep "^#!.*perl" -rls $native_sysroot); do
sed -i -e "s:^#! */usr/bin/perl.*:#! /usr/bin/env perl:g" -e \
"s: /usr/bin/perl: /usr/bin/env perl:g" $perl_script
done
# change all symlinks pointing to ${SDKPATH}
for l in $(find $native_sysroot -type l); do
ln -sf $(readlink $l|sed -e "s:$DEFAULT_INSTALL_DIR:$target_sdk_dir:") $l
ln -sfn $(readlink $l|sed -e "s:$DEFAULT_INSTALL_DIR:$target_sdk_dir:") $l
done
echo done
@@ -191,6 +207,9 @@ exit 0
MARKER:
EOF
# add execution permission
chmod +x ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.sh
# append the SDK tarball
cat ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.tar.bz2 >> ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.sh

View File

@@ -14,9 +14,9 @@ do_rootfs[recrdeptask] += "do_package_write_ipk"
do_rootfs[lockfiles] += "${WORKDIR}/ipk.lock"
IPKG_ARGS = "-f ${IPKGCONF_TARGET} -o ${IMAGE_ROOTFS} --force-overwrite --prefer-arch-to-version"
IPKG_ARGS = "-f ${IPKGCONF_TARGET} -o ${IMAGE_ROOTFS} --force-overwrite --force_postinstall --prefer-arch-to-version"
# The _POST version also works when constructing the matching SDK
IPKG_ARGS_POST = "-f ${IPKGCONF_TARGET} -o $INSTALL_ROOTFS_IPK --force-overwrite --prefer-arch-to-version"
IPKG_ARGS_POST = "-f ${IPKGCONF_TARGET} -o $INSTALL_ROOTFS_IPK --force-overwrite --force_postinstall --prefer-arch-to-version"
OPKG_PREPROCESS_COMMANDS = "package_update_index_ipk; package_generate_ipkg_conf"

View File

@@ -566,6 +566,7 @@ def check_sanity(sanity_data):
if (saved_tmpdir != tmpdir):
messages = messages + "Error, TMPDIR has changed location. You need to either move it back to %s or rebuild\n" % saved_tmpdir
else:
bb.utils.mkdirhier(tmpdir)
f = file(checkfile, "w")
f.write(tmpdir)
f.close()

View File

@@ -45,6 +45,7 @@ toolchain_create_sdk_env_script () {
echo 'export OECORE_ACLOCAL_OPTS="-I ${SDKPATHNATIVE}/usr/share/aclocal"' >> $script
echo 'export OECORE_DISTRO_VERSION="${DISTRO_VERSION}"' >> $script
echo 'export OECORE_SDK_VERSION="${SDK_VERSION}"' >> $script
echo 'export PYTHONHOME=${SDKPATHNATIVE}${prefix_nativesdk}' >> $script
}
# This function creates an environment-setup-script in the TMPDIR which enables
@@ -132,6 +133,7 @@ toolchain_create_sdk_env_script_for_installer () {
echo 'export OECORE_ACLOCAL_OPTS="-I ${SDKPATHNATIVE}/usr/share/aclocal"' >> $script
echo 'export OECORE_DISTRO_VERSION="${DISTRO_VERSION}"' >> $script
echo 'export OECORE_SDK_VERSION="${SDK_VERSION}"' >> $script
echo 'export PYTHONHOME=${SDKPATHNATIVE}${prefix_nativesdk}' >> $script
}
#we get the cached site config in the runtime

View File

@@ -5,7 +5,7 @@ class ClassExtender(object):
self.pkgs_mapping = []
def extend_name(self, name):
if name.startswith("kernel-module"):
if name.startswith("kernel-") or name == "virtual/kernel":
return name
if name.startswith("rtld"):
return name
@@ -33,6 +33,24 @@ class ClassExtender(object):
self.d.setVar(varname, newdata)
return newdata
def map_regexp_variable(self, varname, setvar = True):
var = self.d.getVar(varname, True)
if not var:
return ""
var = var.split()
newvar = []
for v in var:
if v.startswith("^" + self.extname):
newvar.append(v)
elif v.startswith("^"):
newvar.append("^" + self.extname + "-" + v[1:])
else:
newvar.append(self.extend_name(v))
newdata = " ".join(newvar)
if setvar:
self.d.setVar(varname, newdata)
return newdata
def map_depends(self, dep):
if dep.endswith(("-native", "-native-runtime")):
return dep
@@ -45,11 +63,12 @@ class ClassExtender(object):
deps = self.d.getVar(varname, True)
if not deps:
return
deps = bb.utils.explode_deps(deps)
newdeps = []
deps = bb.utils.explode_dep_versions2(deps)
newdeps = {}
for dep in deps:
newdeps.append(self.map_depends(dep))
self.d.setVar(varname, " ".join(newdeps))
newdeps[self.map_depends(dep)] = deps[dep]
self.d.setVar(varname, bb.utils.join_deps(newdeps, False))
def map_packagevars(self):
for pkg in (self.d.getVar("PACKAGES", True).split() + [""]):

View File

@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
file://COPYING.LIB;md5=fb504b67c50331fc78734fed90fb0e09 \
file://src/main.c;beginline=1;endline=24;md5=9bc54b93cd7e17bf03f52513f39f926e \
file://sbc/sbc.c;beginline=1;endline=25;md5=1a40781ed30d50d8639323a184aeb191"
DEPENDS = "udev libusb dbus-glib glib-2.0 libcheck"
DEPENDS = "udev libusb dbus-glib glib-2.0 libcheck readline"
RDEPENDS_${PN}-dev = "bluez-hcidump"
PACKAGECONFIG ??= "\

View File

@@ -0,0 +1,50 @@
Fix CVE-2010-5107 by backporting the relevant changes from upstream CVS.
http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/servconf.c?r1=1.234#rev1.234
http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/sshd_config.5?r1=1.156#rev1.156
http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/sshd_config?r1=1.89#rev1.89
Upstream-Status: Backport
Signed-off-by: Ross Burton <ross.burton@intel.com>
--- a/src/usr.bin/ssh/sshd_config 2012/10/30 22:29:55 1.88
+++ b/src/usr.bin/ssh/sshd_config 2013/02/06 00:20:42 1.89
@@ -96,7 +96,7 @@ UsePrivilegeSeparation sandbox # Default for new inst
#ClientAliveCountMax 3
#UseDNS yes
#PidFile /var/run/sshd.pid
-#MaxStartups 10
+#MaxStartups 10:30:100
#PermitTunnel no
#ChrootDirectory none
#VersionAddendum none
--- a/src/usr.bin/ssh/sshd_config.5 2013/01/18 08:00:49 1.155
+++ b/src/usr.bin/ssh/sshd_config.5 2013/02/06 00:20:42 1.156
@@ -821,7 +821,7 @@ SSH daemon.
Additional connections will be dropped until authentication succeeds or the
.Cm LoginGraceTime
expires for a connection.
-The default is 10.
+The default is 10:30:100.
.Pp
Alternatively, random early drop can be enabled by specifying
the three colon separated values
--- a/src/usr.bin/ssh/servconf.c 2012/12/02 20:46:11 1.233
+++ b/src/usr.bin/ssh/servconf.c 2013/02/06 00:20:42 1.234
@@ -242,11 +242,11 @@ fill_default_server_options(ServerOptions *options)
if (options->gateway_ports == -1)
options->gateway_ports = 0;
if (options->max_startups == -1)
- options->max_startups = 10;
+ options->max_startups = 100;
if (options->max_startups_rate == -1)
- options->max_startups_rate = 100; /* 100% */
+ options->max_startups_rate = 30; /* 30% */
if (options->max_startups_begin == -1)
- options->max_startups_begin = options->max_startups;
+ options->max_startups_begin = 10;
if (options->max_authtries == -1)
options->max_authtries = DEFAULT_AUTH_FAIL_MAX;
if (options->max_sessions == -1)

View File

@@ -23,7 +23,8 @@ SRC_URI = "ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar.
file://sshd_config \
file://ssh_config \
file://init \
${@base_contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)}"
${@base_contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
file://cve-2010-5107.patch;pnum=4"
PAM_SRC_URI = "file://sshd"
SRC_URI[md5sum] = "3c9347aa67862881c5da3f3b1c08da7b"

View File

@@ -0,0 +1,41 @@
# Makefile variables for PO directory in any package using GNU gettext.
# Usually the message domain is the same as the package name.
DOMAIN = $(PACKAGE)
# These two variables depend on the location of this directory.
subdir = po
top_builddir = ..
# These options get passed to xgettext.
XGETTEXT_OPTIONS = --keyword=_ --keyword=N_
# This is the copyright holder that gets inserted into the header of the
# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
# package. (Note that the msgstr strings, extracted from the package's
# sources, belong to the copyright holder of the package.) Translators are
# expected to transfer the copyright for their translations to this person
# or entity, or to disclaim their copyright. The empty string stands for
# the public domain; in this case the translators are expected to disclaim
# their copyright.
COPYRIGHT_HOLDER = Free Software Foundation, Inc.
# This is the email address or URL to which the translators shall report
# bugs in the untranslated strings:
# - Strings which are not entire sentences, see the maintainer guidelines
# in the GNU gettext documentation, section 'Preparing Strings'.
# - Strings which use unclear terms or require additional context to be
# understood.
# - Strings which make invalid assumptions about notation of date, time or
# money.
# - Pluralisation problems.
# - Incorrect English spelling.
# - Incorrect formatting.
# It can be your email address, or a mailing list address where translators
# can write to without being subscribed, or the URL of a web page through
# which the translators can contact you.
MSGID_BUGS_ADDRESS =
# This is the list of locale categories, beyond LC_MESSAGES, for which the
# message catalogs shall be used. It is usually empty.
EXTRA_LOCALE_CATEGORIES =

View File

@@ -1,17 +0,0 @@
#serial AM1
dnl From Bruno Haible.
AC_DEFUN([AM_LANGINFO_CODESET],
[
AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
[AC_TRY_LINK([#include <langinfo.h>],
[char* cs = nl_langinfo(CODESET);],
am_cv_langinfo_codeset=yes,
am_cv_langinfo_codeset=no)
])
if test $am_cv_langinfo_codeset = yes; then
AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
[Define if you have <langinfo.h> and nl_langinfo(CODESET).])
fi
])

View File

@@ -1,370 +0,0 @@
# Macro to add for using GNU gettext.
# Ulrich Drepper <drepper@cygnus.com>, 1995.
#
# This file can be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU General Public
# License or the GNU Library General Public License but which still want
# to provide support for the GNU gettext functionality.
# Please note that the actual code of the GNU gettext library is covered
# by the GNU Library General Public License, and the rest of the GNU
# gettext package package is covered by the GNU General Public License.
# They are *not* in the public domain.
# serial 10
dnl Usage: AM_WITH_NLS([TOOLSYMBOL], [NEEDSYMBOL], [LIBDIR]).
dnl If TOOLSYMBOL is specified and is 'use-libtool', then a libtool library
dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static,
dnl depending on --{enable,disable}-{shared,static} and on the presence of
dnl AM-DISABLE-SHARED). Otherwise, a static library
dnl $(top_builddir)/intl/libintl.a will be created.
dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
dnl implementations (in libc or libintl) without the ngettext() function
dnl will be ignored.
dnl LIBDIR is used to find the intl libraries. If empty,
dnl the value `$(top_builddir)/intl/' is used.
dnl
dnl The result of the configuration is one of three cases:
dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
dnl and used.
dnl Catalog format: GNU --> install in $(datadir)
dnl Catalog extension: .mo after installation, .gmo in source tree
dnl 2) GNU gettext has been found in the system's C library.
dnl Catalog format: GNU --> install in $(datadir)
dnl Catalog extension: .mo after installation, .gmo in source tree
dnl 3) No internationalization, always use English msgid.
dnl Catalog format: none
dnl Catalog extension: none
dnl The use of .gmo is historical (it was needed to avoid overwriting the
dnl GNU format catalogs when building on a platform with an X/Open gettext),
dnl but we keep it in order not to force irrelevant filename changes on the
dnl maintainers.
dnl
AC_DEFUN([AM_WITH_NLS],
[AC_MSG_CHECKING([whether NLS is requested])
dnl Default is enabled NLS
AC_ARG_ENABLE(nls,
[ --disable-nls do not use Native Language Support],
USE_NLS=$enableval, USE_NLS=yes)
AC_MSG_RESULT($USE_NLS)
AC_SUBST(USE_NLS)
BUILD_INCLUDED_LIBINTL=no
USE_INCLUDED_LIBINTL=no
INTLLIBS=
dnl If we use NLS figure out what method
if test "$USE_NLS" = "yes"; then
AC_DEFINE(ENABLE_NLS, 1,
[Define to 1 if translation of program messages to the user's native language
is requested.])
AC_MSG_CHECKING([whether included gettext is requested])
AC_ARG_WITH(included-gettext,
[ --with-included-gettext use the GNU gettext library included here],
nls_cv_force_use_gnu_gettext=$withval,
nls_cv_force_use_gnu_gettext=no)
AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
dnl User does not insist on using GNU NLS library. Figure out what
dnl to use. If GNU gettext is available we use this. Else we have
dnl to fall back to GNU NLS library.
CATOBJEXT=NONE
dnl Add a version number to the cache macros.
define(gt_cv_func_gnugettext_libc, [gt_cv_func_gnugettext]ifelse([$2], need-ngettext, 2, 1)[_libc])
define(gt_cv_func_gnugettext_libintl, [gt_cv_func_gnugettext]ifelse([$2], need-ngettext, 2, 1)[_libintl])
AC_CHECK_HEADER(libintl.h,
[AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
[AC_TRY_LINK([#include <libintl.h>
extern int _nl_msg_cat_cntr;],
[bindtextdomain ("", "");
return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr],
gt_cv_func_gnugettext_libc=yes,
gt_cv_func_gnugettext_libc=no)])
if test "$gt_cv_func_gnugettext_libc" != "yes"; then
AC_CACHE_CHECK([for GNU gettext in libintl],
gt_cv_func_gnugettext_libintl,
[gt_save_LIBS="$LIBS"
LIBS="$LIBS -lintl $LIBICONV"
AC_TRY_LINK([#include <libintl.h>
extern int _nl_msg_cat_cntr;],
[bindtextdomain ("", "");
return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr],
gt_cv_func_gnugettext_libintl=yes,
gt_cv_func_gnugettext_libintl=no)
LIBS="$gt_save_LIBS"])
fi
dnl If an already present or preinstalled GNU gettext() is found,
dnl use it. But if this macro is used in GNU gettext, and GNU
dnl gettext is already preinstalled in libintl, we update this
dnl libintl. (Cf. the install rule in intl/Makefile.in.)
if test "$gt_cv_func_gnugettext_libc" = "yes" \
|| { test "$gt_cv_func_gnugettext_libintl" = "yes" \
&& test "$PACKAGE" != gettext; }; then
AC_DEFINE(HAVE_GETTEXT, 1,
[Define if the GNU gettext() function is already present or preinstalled.])
if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
dnl If iconv() is in a separate libiconv library, then anyone
dnl linking with libintl{.a,.so} also needs to link with
dnl libiconv.
INTLLIBS="-lintl $LIBICONV"
fi
gt_save_LIBS="$LIBS"
LIBS="$LIBS $INTLLIBS"
AC_CHECK_FUNCS(dcgettext)
LIBS="$gt_save_LIBS"
dnl Search for GNU msgfmt in the PATH.
AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
[$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :)
AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
dnl Search for GNU xgettext in the PATH.
AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
[$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :)
CATOBJEXT=.gmo
fi
])
if test "$CATOBJEXT" = "NONE"; then
dnl GNU gettext is not found in the C library.
dnl Fall back on GNU gettext library.
nls_cv_use_gnu_gettext=yes
fi
fi
if test "$nls_cv_use_gnu_gettext" = "yes"; then
dnl Mark actions used to generate GNU NLS library.
INTLOBJS="\$(GETTOBJS)"
AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
[$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :)
AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
[$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :)
AC_SUBST(MSGFMT)
BUILD_INCLUDED_LIBINTL=yes
USE_INCLUDED_LIBINTL=yes
CATOBJEXT=.gmo
INTLLIBS="ifelse([$3],[],\$(top_builddir)/intl,[$3])/libintl.ifelse([$1], use-libtool, [l], [])a $LIBICONV"
LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
fi
dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
dnl Test whether we really found GNU msgfmt.
if test "$GMSGFMT" != ":"; then
dnl If it is no GNU msgfmt we define it as : so that the
dnl Makefiles still can work.
if $GMSGFMT --statistics /dev/null >/dev/null 2>&1; then
: ;
else
AC_MSG_RESULT(
[found msgfmt program is not GNU msgfmt; ignore it])
GMSGFMT=":"
fi
fi
dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
dnl Test whether we really found GNU xgettext.
if test "$XGETTEXT" != ":"; then
dnl If it is no GNU xgettext we define it as : so that the
dnl Makefiles still can work.
if $XGETTEXT --omit-header /dev/null >/dev/null 2>&1; then
: ;
else
AC_MSG_RESULT(
[found xgettext program is not GNU xgettext; ignore it])
XGETTEXT=":"
fi
fi
dnl We need to process the po/ directory.
POSUB=po
fi
AC_OUTPUT_COMMANDS(
[for ac_file in $CONFIG_FILES; do
# Support "outfile[:infile[:infile...]]"
case "$ac_file" in
*:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
esac
# PO directories have a Makefile.in generated from Makefile.in.in.
case "$ac_file" in */Makefile.in)
# Adjust a relative srcdir.
ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
# In autoconf-2.13 it is called $ac_given_srcdir.
# In autoconf-2.50 it is called $srcdir.
test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
case "$ac_given_srcdir" in
.) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
/*) top_srcdir="$ac_given_srcdir" ;;
*) top_srcdir="$ac_dots$ac_given_srcdir" ;;
esac
if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
rm -f "$ac_dir/POTFILES"
test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," -e "\$s/\(.*\) \\\\/\1/" < "$ac_given_srcdir/$ac_dir/POTFILES.in" > "$ac_dir/POTFILES"
test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
sed -e "/POTFILES =/r $ac_dir/POTFILES" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
fi
;;
esac
done])
dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
dnl to 'yes' because some of the testsuite requires it.
if test "$PACKAGE" = gettext; then
BUILD_INCLUDED_LIBINTL=yes
fi
dnl intl/plural.c is generated from intl/plural.y. It requires bison,
dnl because plural.y uses bison specific features. It requires at least
dnl bison-1.26 because earlier versions generate a plural.c that doesn't
dnl compile.
dnl bison is only needed for the maintainer (who touches plural.y). But in
dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
dnl the rule in general Makefile. Now, some people carelessly touch the
dnl files or have a broken "make" program, hence the plural.c rule will
dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
dnl present or too old.
AC_CHECK_PROGS([INTLBISON], [bison])
if test -z "$INTLBISON"; then
ac_verc_fail=yes
else
dnl Found it, now check the version.
AC_MSG_CHECKING([version of bison])
changequote(<<,>>)dnl
ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
case $ac_prog_version in
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
changequote([,])dnl
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
esac
AC_MSG_RESULT([$ac_prog_version])
fi
if test $ac_verc_fail = yes; then
INTLBISON=:
fi
dnl These rules are solely for the distribution goal. While doing this
dnl we only have to keep exactly one list of the available catalogs
dnl in configure.in.
for lang in $ALL_LINGUAS; do
GMOFILES="$GMOFILES $lang.gmo"
POFILES="$POFILES $lang.po"
done
dnl Make all variables we use known to autoconf.
AC_SUBST(BUILD_INCLUDED_LIBINTL)
AC_SUBST(USE_INCLUDED_LIBINTL)
AC_SUBST(CATALOGS)
AC_SUBST(CATOBJEXT)
AC_SUBST(GMOFILES)
AC_SUBST(INTLLIBS)
AC_SUBST(INTLOBJS)
AC_SUBST(POFILES)
AC_SUBST(POSUB)
dnl For backward compatibility. Some configure.ins may be using this.
nls_cv_header_intl=
nls_cv_header_libgt=
dnl For backward compatibility. Some Makefiles may be using this.
DATADIRNAME=share
AC_SUBST(DATADIRNAME)
dnl For backward compatibility. Some Makefiles may be using this.
INSTOBJEXT=.mo
AC_SUBST(INSTOBJEXT)
dnl For backward compatibility. Some Makefiles may be using this.
GENCAT=gencat
AC_SUBST(GENCAT)
])
dnl Usage: Just like AM_WITH_NLS, which see.
AC_DEFUN([AM_GNU_GETTEXT],
[AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_PROG_RANLIB])dnl
AC_REQUIRE([AC_ISC_POSIX])dnl
AC_REQUIRE([AC_HEADER_STDC])dnl
AC_REQUIRE([AC_C_CONST])dnl
AC_REQUIRE([AC_C_INLINE])dnl
AC_REQUIRE([AC_TYPE_OFF_T])dnl
AC_REQUIRE([AC_TYPE_SIZE_T])dnl
AC_REQUIRE([AC_FUNC_ALLOCA])dnl
AC_REQUIRE([AC_FUNC_MMAP])dnl
AC_REQUIRE([jm_GLIBC21])dnl
AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
stdlib.h string.h unistd.h sys/param.h])
AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getcwd getegid geteuid \
getgid getuid mempcpy munmap putenv setenv setlocale stpcpy strchr strcasecmp \
strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
AM_ICONV
AM_LANGINFO_CODESET
AM_LC_MESSAGES
AM_WITH_NLS([$1],[$2],[$3])
if test "x$CATOBJEXT" != "x"; then
if test "x$ALL_LINGUAS" = "x"; then
LINGUAS=
else
AC_MSG_CHECKING(for catalogs to be installed)
NEW_LINGUAS=
for presentlang in $ALL_LINGUAS; do
useit=no
for desiredlang in ${LINGUAS-$ALL_LINGUAS}; do
# Use the presentlang catalog if desiredlang is
# a. equal to presentlang, or
# b. a variant of presentlang (because in this case,
# presentlang can be used as a fallback for messages
# which are not translated in the desiredlang catalog).
case "$desiredlang" in
"$presentlang"*) useit=yes;;
esac
done
if test $useit = yes; then
NEW_LINGUAS="$NEW_LINGUAS $presentlang"
fi
done
LINGUAS=$NEW_LINGUAS
AC_MSG_RESULT($LINGUAS)
fi
dnl Construct list of names of catalog files to be constructed.
if test -n "$LINGUAS"; then
for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
fi
fi
dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
dnl Try to locate is.
MKINSTALLDIRS=
if test -n "$ac_aux_dir"; then
MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
fi
if test -z "$MKINSTALLDIRS"; then
MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
fi
AC_SUBST(MKINSTALLDIRS)
dnl Enable libtool support if the surrounding package wishes it.
INTL_LIBTOOL_SUFFIX_PREFIX=ifelse([$1], use-libtool, [l], [])
AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
])

View File

@@ -1,26 +0,0 @@
#serial 2
# Test for the GNU C Library, version 2.1 or newer.
# From Bruno Haible.
AC_DEFUN([jm_GLIBC21],
[
AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
ac_cv_gnu_library_2_1,
[AC_EGREP_CPP([Lucky GNU user],
[
#include <features.h>
#ifdef __GNU_LIBRARY__
#if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
Lucky GNU user
#endif
#endif
],
ac_cv_gnu_library_2_1=yes,
ac_cv_gnu_library_2_1=no)
]
)
AC_SUBST(GLIBC21)
GLIBC21="$ac_cv_gnu_library_2_1"
]
)

View File

@@ -1,69 +0,0 @@
#serial AM2
dnl From Bruno Haible.
AC_DEFUN([AM_ICONV],
[
dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
dnl those with the standalone portable GNU libiconv installed).
AC_ARG_WITH([libiconv-prefix],
[ --with-libiconv-prefix=DIR search for libiconv in DIR/include and DIR/lib], [
for dir in `echo "$withval" | tr : ' '`; do
if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi
if test -d $dir/lib; then LDFLAGS="$LDFLAGS -L$dir/lib"; fi
done
])
AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
am_cv_func_iconv="no, consider installing GNU libiconv"
am_cv_lib_iconv=no
AC_TRY_LINK([#include <stdlib.h>
#include <iconv.h>],
[iconv_t cd = iconv_open("","");
iconv(cd,NULL,NULL,NULL,NULL);
iconv_close(cd);],
am_cv_func_iconv=yes)
if test "$am_cv_func_iconv" != yes; then
am_save_LIBS="$LIBS"
LIBS="$LIBS -liconv"
AC_TRY_LINK([#include <stdlib.h>
#include <iconv.h>],
[iconv_t cd = iconv_open("","");
iconv(cd,NULL,NULL,NULL,NULL);
iconv_close(cd);],
am_cv_lib_iconv=yes
am_cv_func_iconv=yes)
LIBS="$am_save_LIBS"
fi
])
if test "$am_cv_func_iconv" = yes; then
AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
AC_MSG_CHECKING([for iconv declaration])
AC_CACHE_VAL(am_cv_proto_iconv, [
AC_TRY_COMPILE([
#include <stdlib.h>
#include <iconv.h>
extern
#ifdef __cplusplus
"C"
#endif
#if defined(__STDC__) || defined(__cplusplus)
size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
#else
size_t iconv();
#endif
], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
AC_MSG_RESULT([$]{ac_t:-
}[$]am_cv_proto_iconv)
AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
[Define as const if the declaration of iconv() needs const.])
fi
LIBICONV=
if test "$am_cv_lib_iconv" = yes; then
LIBICONV="-liconv"
fi
AC_SUBST(LIBICONV)
])

View File

@@ -1,51 +0,0 @@
# Search path for a program which passes the given test.
# Ulrich Drepper <drepper@cygnus.com>, 1996.
#
# This file can be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU General Public
# License or the GNU Library General Public License but which still want
# to provide support for the GNU gettext functionality.
# Please note that the actual code of the GNU gettext library is covered
# by the GNU Library General Public License, and the rest of the GNU
# gettext package package is covered by the GNU General Public License.
# They are *not* in the public domain.
# serial 2
dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
AC_DEFUN([AM_PATH_PROG_WITH_TEST],
[# Extract the first word of "$2", so it can be a program name with args.
set dummy $2; ac_word=[$]2
AC_MSG_CHECKING([for $ac_word])
AC_CACHE_VAL(ac_cv_path_$1,
[case "[$]$1" in
/*)
ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
;;
*)
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
for ac_dir in ifelse([$5], , $PATH, [$5]); do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
if [$3]; then
ac_cv_path_$1="$ac_dir/$ac_word"
break
fi
fi
done
IFS="$ac_save_ifs"
dnl If no 4th arg is given, leave the cache variable unset,
dnl so AC_PATH_PROGS will keep looking.
ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
])dnl
;;
esac])dnl
$1="$ac_cv_path_$1"
if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
AC_MSG_RESULT([$]$1)
else
AC_MSG_RESULT(no)
fi
AC_SUBST($1)dnl
])

View File

@@ -1,9 +1,5 @@
Upstream-Status: Pending
#
# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
#
--- console-tools-0.3.2/configure.in~configure
+++ console-tools-0.3.2/configure.in
@@ -2,13 +2,14 @@
@@ -23,25 +19,11 @@ Upstream-Status: Pending
AM_INIT_AUTOMAKE(console-tools, 0.3.2)
# Defaults
@@ -25,7 +26,7 @@
@@ -25,7 +26,6 @@
# i18n stuff
ALL_LINGUAS="cs de ru ga fr"
AM_GNU_GETTEXT
-AC_OUTPUT_COMMANDS([sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile])
+AC_CONFIG_COMMANDS([default-1],[[sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile]],[[]])
AC_DEFINE_UNQUOTED(LOCALEDIR, "/usr/share/locale")
@@ -172,10 +173,11 @@
AC_SUBST(CHARMAPDIR)
# Output
-AC_OUTPUT([Makefile lib/Makefile lib/console/Makefile lib/cfont/Makefile
+AC_CONFIG_FILES([Makefile lib/Makefile lib/console/Makefile lib/cfont/Makefile
lib/ctutils/Makefile lib/ctlocal/Makefile lib/generic/Makefile
fontfiletools/Makefile vttools/Makefile
kbdtools/Makefile screenfonttools/Makefile contrib/Makefile
include/Makefile include/lct/Makefile compat/Makefile
doc/Makefile doc/man/Makefile examples/Makefile
po/Makefile.in intl/Makefile])
+AC_OUTPUT

View File

@@ -0,0 +1,56 @@
Fix the following error detected with i586-pokymllib32-linux-gcc (the
multilib x86-64 lib32 compiler):
../lib/ctutils/.libs/libctutils.so: undefined reference to `get_kernel_sfm'
collect2: error: ld returned 1 exit status
It seems that libctutils.so (the library that uses get_kernel_sfm) must
be stated before libconsole.so (the library that exports the function) when
using multilib gcc
Upstream-Status: Pending
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Index: console-tools-0.3.2/fontfiletools/Makefile.am
===================================================================
--- console-tools-0.3.2.orig/fontfiletools/Makefile.am
+++ console-tools-0.3.2/fontfiletools/Makefile.am
@@ -10,5 +10,5 @@ EXTRA_DIST = fonts2virfont.c virfont.h
# libconsole is needed by ctutils
LDADD = ../lib/ctlocal/libctlocal.a ../lib/cfont/libcfont.la \
- ../lib/console/libconsole.la \
- ../lib/ctutils/libctutils.la ../lib/generic/libctgeneric.la
+ ../lib/ctutils/libctutils.la \
+ ../lib/console/libconsole.la ../lib/generic/libctgeneric.la
Index: console-tools-0.3.2/vttools/Makefile.am
===================================================================
--- console-tools-0.3.2.orig/vttools/Makefile.am
+++ console-tools-0.3.2/vttools/Makefile.am
@@ -7,9 +7,9 @@ bin_PROGRAMS = chvt deallocvt writevt fg
vcstime vt-is-UTF8 openvt @RESIZECONS@
EXTRA_PROGRAMS = resizecons
-LDADD = ../lib/ctlocal/libctlocal.a ../lib/console/libconsole.la \
+LDADD = ../lib/ctlocal/libctlocal.a ../lib/ctutils/libctutils.la \
../lib/cfont/libcfont.la \
- ../lib/ctutils/libctutils.la ../lib/generic/libctgeneric.la
+ ../lib/console/libconsole.la ../lib/generic/libctgeneric.la
vcstime_LDADD = ../lib/ctlocal/libctlocal.a
screendump_LDADD = ../lib/ctlocal/libctlocal.a
Index: console-tools-0.3.2/kbdtools/Makefile.am
===================================================================
--- console-tools-0.3.2.orig/kbdtools/Makefile.am
+++ console-tools-0.3.2/kbdtools/Makefile.am
@@ -15,9 +15,9 @@ EXTRA_PROGRAMS = getkeycodes setkeycodes
loadkeys_SOURCES = loadkeys.y analyze.l
YFLAGS = -d
-LDADD = ../lib/ctlocal/libctlocal.a ../lib/console/libconsole.la \
+LDADD = ../lib/ctlocal/libctlocal.a ../lib/ctutils/libctutils.la \
../lib/cfont/libcfont.la \
- ../lib/ctutils/libctutils.la ../lib/generic/libctgeneric.la
+ ../lib/console/libconsole.la ../lib/generic/libctgeneric.la
loadkeys_LDADD = $(LDADD) @LEXLIB@

View File

@@ -0,0 +1,22 @@
The docs need tools we don't have to build so disable them.
Also remove intl since the Makefile doesn't work with 3.82 and we
don't want to build libintl anyway.
Upstream-Status: Inappropriate [configuration]
RP 2012/10/17
Index: console-tools-0.3.2/Makefile.am
===================================================================
--- console-tools-0.3.2.orig/Makefile.am 1999-04-15 01:33:24.000000000 +0000
+++ console-tools-0.3.2/Makefile.am 2012-10-17 11:48:14.107069145 +0000
@@ -1,7 +1,7 @@
# -*- makefile -*-
AUTOMAKE_OPTIONS = foreign
-SUBDIRS = lib fontfiletools vttools kbdtools screenfonttools contrib doc \
- compat include examples po intl
+SUBDIRS = lib fontfiletools vttools kbdtools screenfonttools contrib \
+ compat include examples po
EXTRA_DIST = BUGS RELEASE CREDITS COPYING.kbd local-scripts/* debian/* *.lsm

View File

@@ -3,7 +3,7 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING.kbd;md5=9b2d91511d3d80d4d20ac6e6b0137fe9"
SUMMARY = "Allows you to set-up and manipulate the Linux console."
DESCRIPTION = "Provides tools that enable the set-up and manipulation of the linux console and console-font files."
PR = "r6"
PR = "r8"
SRC_URI = "${SOURCEFORGE_MIRROR}/lct/console-tools-${PV}.tar.gz \
file://codepage.patch \
@@ -11,23 +11,19 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/lct/console-tools-${PV}.tar.gz \
file://compile.patch \
file://kbdrate.patch \
file://uclibc-fileno.patch \
file://config"
file://nodocs.patch \
file://fix-libconsole-linking.patch \
file://lcmessage.m4 \
file://Makevars"
SRC_URI[md5sum] = "bf21564fc38b3af853ef724babddbacd"
SRC_URI[sha256sum] = "eea6b441672dacd251079fc85ed322e196282e0e66c16303ec64c3a2b1c126c2"
export SUBDIRS = "fontfiletools vttools kbdtools screenfonttools contrib \
examples po intl compat"
acpaths = "-I config"
do_configure_prepend () {
mkdir -p config
cp ${WORKDIR}/config/*.m4 config/
}
do_compile () {
oe_runmake -C lib
oe_runmake 'SUBDIRS=${SUBDIRS}'
mkdir -p ${S}/m4
cp ${WORKDIR}/lcmessage.m4 ${S}/m4/
rm -f ${S}/acinclude.m4
cp ${WORKDIR}/Makevars ${S}/po/
}
inherit autotools gettext update-alternatives

View File

@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://ncurses/base/version.c;beginline=1;endline=27;md5=cbc
SECTION = "libs"
DEPENDS = "ncurses-native"
DEPENDS_virtclass-native = ""
INC_PR = "r11"
INC_PR = "r13"
inherit autotools binconfig multilib_header
@@ -29,6 +29,56 @@ BUILD_CPPFLAGS += "-D_GNU_SOURCE"
# natives don't generally look in base_libdir
base_libdir_virtclass-native = "${libdir}"
# Display corruption occurs on 64 bit hosts without these settings
# This was derrived from the upstream debian ncurses which uses
# these settings for 32 and 64 bit hosts.
EXCONFIG_ARGS = ""
EXCONFIG_ARGS_virtclass-native = " \
--disable-lp64 \
--with-chtype='long' \
--with-mmask-t='long'"
EXCONFIG_ARGS_virtclass-nativesdk = " \
--disable-lp64 \
--with-chtype='long' \
--with-mmask-t='long'"
# Fall back to the host termcap / terminfo for -nativesdk and -native
# The reality is a work around for strange problems with things like
# "bitbake -c menuconfig busybox" where it cannot find the terminfo
# because the sstate had a hard coded search path. Until this is fixed
# another way this is deemed good enough.
EX_TERMCAP = ""
EX_TERMCAP_virtclass-native = ":/etc/termcap:/usr/share/misc/termcap"
EX_TERMCAP_virtclass-nativesdk = ":/etc/termcap:/usr/share/misc/termcap"
EX_TERMINFO = ""
EX_TERMINFO_virtclass-native = ":/etc/terminfo:/usr/share/misc/terminfo:/lib/terminfo"
EX_TERMINFO_virtclass-nativesdk = ":/etc/terminfo:/usr/share/misc/terminfo:/lib/terminfo"
# Display corruption occurs on 64 bit hosts without these settings
# This was derrived from the upstream debian ncurses which uses
# these settings for 32 and 64 bit hosts.
EXCONFIG_ARGS = ""
EXCONFIG_ARGS_virtclass-native = " \
--disable-lp64 \
--with-chtype='long' \
--with-mmask-t='long'"
EXCONFIG_ARGS_virtclass-nativesdk = " \
--disable-lp64 \
--with-chtype='long' \
--with-mmask-t='long'"
# Fall back to the host termcap / terminfo for -nativesdk and -native
# The reality is a work around for strange problems with things like
# "bitbake -c menuconfig busybox" where it cannot find the terminfo
# because the sstate had a hard coded search path. Until this is fixed
# another way this is deemed good enough.
EX_TERMCAP = ""
EX_TERMCAP_virtclass-native = ":/etc/termcap:/usr/share/misc/termcap"
EX_TERMCAP_virtclass-nativesdk = ":/etc/termcap:/usr/share/misc/termcap"
EX_TERMINFO = ""
EX_TERMINFO_virtclass-native = ":/etc/terminfo:/usr/share/misc/terminfo:/lib/terminfo"
EX_TERMINFO_virtclass-nativesdk = ":/etc/terminfo:/usr/share/misc/terminfo:/lib/terminfo"
# Helper function for do_configure to allow multiple configurations
# $1 the directory to run configure in
# $@ the arguments to pass to configure
@@ -44,8 +94,8 @@ ncurses_configure() {
--enable-hard-tabs \
--enable-xmc-glitch \
--enable-colorfgbg \
--with-termpath='${sysconfdir}/termcap:${datadir}/misc/termcap' \
--with-terminfo-dirs='${sysconfdir}/terminfo:${datadir}/terminfo' \
--with-termpath='${sysconfdir}/termcap:${datadir}/misc/termcap${EX_TERMCAP}' \
--with-terminfo-dirs='${sysconfdir}/terminfo:${datadir}/terminfo${EX_TERMINFO}' \
--with-shared \
--disable-big-core \
--program-prefix= \
@@ -54,6 +104,7 @@ ncurses_configure() {
--enable-sigwinch \
--enable-pc-files \
--disable-rpath-hack \
${EXCONFIG_ARGS} \
--with-manpage-format=normal \
"$@" || return 1
cd ..
@@ -218,7 +269,7 @@ inherit update-alternatives
ALTERNATIVE_PRIORITY = "100"
ALTERNATIVE_ncurses-tools = "clear reset"
ALTERNATIVE_ncurses-tools_class-target = "clear reset"
BBCLASSEXTEND = "native nativesdk"

View File

@@ -21,6 +21,11 @@ automount() {
name="`basename "$DEVNAME"`"
! test -d "/media/$name" && mkdir -p "/media/$name"
# Silent util-linux's version of mounting auto
if [ "x`readlink $MOUNT`" = "x/bin/mount.util-linux" ] ;
then
MOUNT="$MOUNT -o silent"
fi
if ! $MOUNT -t auto $DEVNAME "/media/$name"
then

View File

@@ -7,7 +7,7 @@ SECTION = "base"
LICENSE = "GPLv2+ & LGPLv2.1+ & BSD"
LIC_FILES_CHKSUM = "file://README.licensing;md5=9c920d811858a74b67a36ba23cbaa95f \
LIC_FILES_CHKSUM = "file://README.licensing;md5=679af3e410ee112a5ec94de6501bf5c3 \
file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
file://Documentation/licenses/COPYING.GPLv2;md5=8ca43cbc842c2336e835926c2166c28b \
file://Documentation/licenses/COPYING.LGPLv2.1;md5=bbb461211a33b134d42ed5ee802b37ff \

View File

@@ -0,0 +1,78 @@
Upstream-Status: Backport
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Notes from Pdraig (via email) :
Actually LGPLv2+ is most appropriate for that.
The intent is that it's licensed under the LGPL anyway:
$ gnulib/gnulib-tool --local-dir gl --extract-license mbsalign
LGPL
When extracting this to util-linux I should have adjusted
the boilerplate default license in the file (which gnulib-tool
can do on import).
From 16d8546964db1f6a27ae0f1d1cd24ce42704111d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
Date: Fri, 15 Mar 2013 09:48:37 +0000
Subject: [PATCH] lib/mbsalign: correct license header from GPLv[23] to
LGPLv2+
* lib/mbsalign.c: s/GPLv3/LGPLv2+/
* include/mbsalign.h: s/GPLv2/LGPLv2+/
* README.licensing: Remove mention GPLv3 as it's not actually used.
---
README.licensing | 2 --
include/mbsalign.h | 4 ++--
lib/mbsalign.c | 4 ++--
3 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/README.licensing b/README.licensing
index b29883c..ab60004 100644
--- a/README.licensing
+++ b/README.licensing
@@ -2,8 +2,6 @@
The project util-linux doesn't use the same license for all of the code.
There is code under:
- * GPLv3+ (GNU General Public License version 3, or any later version)
-
* GPLv2+ (GNU General Public License version 2, or any later version)
* GPLv2 (GNU General Public License version 2)
diff --git a/include/mbsalign.h b/include/mbsalign.h
index fd957b3..8c9f2db 100644
--- a/include/mbsalign.h
+++ b/include/mbsalign.h
@@ -2,8 +2,8 @@
Copyright (C) 2009-2010 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 2 of the License, or
+ it under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation, either version 2.1 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
diff --git a/lib/mbsalign.c b/lib/mbsalign.c
index d97bbd5..05c4650 100644
--- a/lib/mbsalign.c
+++ b/lib/mbsalign.c
@@ -2,8 +2,8 @@
Copyright (C) 2009-2010 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
+ it under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation, either version 2.1 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
--
1.7.7.6

View File

@@ -2,41 +2,15 @@ MAJOR_VERSION = "2.21"
PR = "r5"
require util-linux.inc
# note that `lscpu' is under GPLv3+
LICENSE_${PN}-lscpu = "GPLv3+"
SRC_URI += "file://util-linux-ng-replace-siginterrupt.patch \
file://util-linux-ng-2.16-mount_lock_path.patch \
file://uclibc-__progname-conflict.patch \
file://configure-sbindir.patch \
file://configure-sbindir.patch \
file://mbsalign-license.patch \
"
SRC_URI[md5sum] = "b75b3cfecb943f74338382fde693c2c3"
SRC_URI[sha256sum] = "066f9d8e51bfabd809d266edcd54eefba1cdca57725b95c074fd47fe6fba3d30"
# Only lscpu part is gplv3; rest of the code is not,
# so take out the lscpu parts while running non-gplv3 build.
# The removal of the package should now occur during
# the build if INCOMPATIBLE_LICENSE is set to GPLv3
python () {
d.setVar("REMOVELSCPU", "no")
if (d.getVar("INCOMPATIBLE_LICENSE", True) or "").find("GPLv3") != -1:
# avoid GPLv3
d.setVar("REMOVELSCPU", "yes")
src_uri = (d.getVar("SRC_URI", False) or "").split()
src_uri.append("file://remove-lscpu.patch")
d.setVar("SRC_URI", " ".join(src_uri))
}
do_remove_lscpu() {
if [ "x${REMOVELSCPU}" = "xyes" ]; then
rm -f sys-utils/lscpu.c sys-utils/lscpu.1
rm -rf tests/ts/lscpu tests/expected/lscpu
fi
}
addtask remove_lscpu before do_configure after do_patch
CACHED_CONFIGUREVARS += "scanf_cv_alloc_modifier=as"
EXTRA_OECONF_virtclass-native += "--disable-fallocate --disable-use-tty-group"

View File

@@ -8,9 +8,23 @@ SECTION = "devel"
DEPENDS += "m4-native"
DEPENDS_virtclass-native = "m4-native gnu-config-native"
DEPENDS_virtclass-nativesdk = "nativesdk-m4 nativesdk-gnu-config"
RDEPENDS_${PN} = "m4 gnu-config"
RDEPENDS_${PN} = "m4 gnu-config \
perl \
perl-module-carp \
perl-module-constant \
perl-module-errno \
perl-module-exporter \
perl-module-file-basename \
perl-module-file-compare \
perl-module-file-copy \
perl-module-file-glob \
perl-module-file-path \
perl-module-file-stat \
perl-module-getopt-long \
perl-module-io-file \
perl-module-posix \
"
RDEPENDS_${PN}_virtclass-native = "m4-native gnu-config-native"
RDEPENDS_${PN}_virtclass-nativesdk = "nativesdk-m4 nativesdk-gnu-config"
SRC_URI = "${GNU_MIRROR}/autoconf/autoconf-${PV}.tar.gz \
file://program_prefix.patch"

View File

@@ -1,6 +1,6 @@
require autoconf.inc
PR = "r9"
PR = "r10"
PARALLEL_MAKE = ""

View File

@@ -7,28 +7,14 @@ RDEPENDS_${PN} += "\
autoconf \
perl \
perl-module-bytes \
perl-module-constant \
perl-module-cwd \
perl-module-data-dumper \
perl-module-dynaloader \
perl-module-errno \
perl-module-exporter-heavy \
perl-module-file-basename \
perl-module-file-compare \
perl-module-file-copy \
perl-module-file-glob \
perl-module-file-spec-unix \
perl-module-file-stat \
perl-module-getopt-long \
perl-module-io \
perl-module-io-file \
perl-module-posix \
perl-module-strict \
perl-module-text-parsewords \
perl-module-thread-queue \
perl-module-threads \
perl-module-vars "
RDEPENDS_${PN}_virtclass-native = "autoconf-native perl-native-runtime"
RDEPENDS_${PN}_virtclass-nativesdk = "nativesdk-autoconf"
PATHFIXPATCH = "file://path_prog_fixes.patch"
PATHFIXPATCH_virtclass-native = ""
@@ -42,7 +28,7 @@ SRC_URI += "${PATHFIXPATCH} \
SRC_URI[md5sum] = "d2af8484de94cdee16d89c50aaa1c729"
SRC_URI[sha256sum] = "095ffaa3ac887d1eb3511bf13d7f1fc9ec0503c6a06aeae05c93730cdda9a5a0"
PR = "r1"
PR = "r2"
do_install () {
oe_runmake 'DESTDIR=${D}' install

View File

@@ -30,7 +30,7 @@ ALLOW_EMPTY = "1"
PACKAGES = ""
PR = "r11"
PR = "r12"
ADT_DEPLOY = "${TMPDIR}/deploy/sdk/"
ADT_DIR = "${WORKDIR}/adt-installer/"
@@ -65,6 +65,7 @@ fakeroot do_populate_adt () {
sed -i -e 's#ADTREPO_URL#${ADTREPO}#' ${ADT_DIR}/opkg/conf/*.conf
cp -r trunk ${ADT_DIR}/opkg/build/
mv ${ADT_DIR}/opkg/build/trunk ${ADT_DIR}/opkg/build/opkg-svn
rm -rf ${ADT_DIR}/opkg/build/opkg-svn/patches ${ADT_DIR}/opkg/build/opkg-svn/.pc
cp -r scripts ${ADT_DIR}/
cp adt_installer ${ADT_DIR}
cp adt_installer.conf ${ADT_DIR}

View File

@@ -25,6 +25,9 @@ SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \
SRC_URI[md5sum] = "d2f3b7d4627e69e13514a40e72a24d50"
SRC_URI[sha256sum] = "b38de44862a987293cd3d8dfae1c409d514b6c4e794ebc93648febf9afc38918"
# Don't want paths to sed-native (or anything else) encoded
CACHED_CONFIGUREVARS += "ac_cv_path_SED=sed"
do_compile_prepend () {
# Sometimes this file doesn't get rebuilt, force the issue
rm -f ${S}/libltdl/config/ltmain.sh

View File

@@ -0,0 +1,71 @@
Upstream-Status: Backport
Signed-off-by: Ross Burton <ross.burton@intel.com>
From 1735f6f53ca19f99c6e9e39496c486af323ba6a8 Mon Sep 17 00:00:00 2001
From: Brian Carlson <brian.carlson@cpanel.net>
Date: Wed, 28 Nov 2012 08:54:33 -0500
Subject: [PATCH] Fix misparsing of maketext strings.
Case 61251: This commit fixes a misparse of maketext strings that could
lead to arbitrary code execution. Basically, maketext was compiling
bracket notation into functions, but neglected to escape backslashes
inside the content or die on fully-qualified method names when
generating the code. This change escapes all such backslashes and dies
when a method name with a colon or apostrophe is specified.
---
AUTHORS | 1 +
dist/Locale-Maketext/lib/Locale/Maketext.pm | 24 ++++++++----------------
2 files changed, 9 insertions(+), 16 deletions(-)
diff --git a/dist/Locale-Maketext/lib/Locale/Maketext.pm b/dist/Locale-Maketext/lib/Locale/Maketext.pm
index 4822027..63e5fba 100644
--- a/dist/Locale-Maketext/lib/Locale/Maketext.pm
+++ b/dist/Locale-Maketext/lib/Locale/Maketext.pm
@@ -625,21 +625,9 @@ sub _compile {
# 0-length method name means to just interpolate:
push @code, ' (';
}
- elsif($m =~ /^\w+(?:\:\:\w+)*$/s
- and $m !~ m/(?:^|\:)\d/s
- # exclude starting a (sub)package or symbol with a digit
+ elsif($m =~ /^\w+$/s
+ # exclude anything fancy, especially fully-qualified module names
) {
- # Yes, it even supports the demented (and undocumented?)
- # $obj->Foo::bar(...) syntax.
- $target->_die_pointing(
- $string_to_compile, q{Can't use "SUPER::" in a bracket-group method},
- 2 + length($c[-1])
- )
- if $m =~ m/^SUPER::/s;
- # Because for SUPER:: to work, we'd have to compile this into
- # the right package, and that seems just not worth the bother,
- # unless someone convinces me otherwise.
-
push @code, ' $_[0]->' . $m . '(';
}
else {
@@ -693,7 +681,9 @@ sub _compile {
elsif(substr($1,0,1) ne '~') {
# it's stuff not containing "~" or "[" or "]"
# i.e., a literal blob
- $c[-1] .= $1;
+ my $text = $1;
+ $text =~ s/\\/\\\\/g;
+ $c[-1] .= $text;
}
elsif($1 eq '~~') { # "~~"
@@ -731,7 +721,9 @@ sub _compile {
else {
# It's a "~X" where X is not a special character.
# Consider it a literal ~ and X.
- $c[-1] .= $1;
+ my $text = $1;
+ $text =~ s/\\/\\\\/g;
+ $c[-1] .= $text;
}
}
}
--
1.7.4.1

View File

@@ -0,0 +1,173 @@
Upstream-Status: Backport
Signed-off-by: Ross Burton <ross.burton@intel.com>
From d59e31fc729d8a39a774f03bc6bc457029a7aef2 Mon Sep 17 00:00:00 2001
From: Yves Orton <demerphq@gmail.com>
Date: Tue, 12 Feb 2013 10:53:05 +0100
Subject: [PATCH] Prevent premature hsplit() calls, and only trigger REHASH after hsplit()
Triggering a hsplit due to long chain length allows an attacker
to create a carefully chosen set of keys which can cause the hash
to use 2 * (2**32) * sizeof(void *) bytes ram. AKA a DOS via memory
exhaustion. Doing so also takes non trivial time.
Eliminating this check, and only inspecting chain length after a
normal hsplit() (triggered when keys>buckets) prevents the attack
entirely, and makes such attacks relatively benign.
(cherry picked from commit f1220d61455253b170e81427c9d0357831ca0fac)
---
ext/Hash-Util-FieldHash/t/10_hash.t | 18 ++++++++++++++++--
hv.c | 35 ++++++++---------------------------
t/op/hash.t | 20 +++++++++++++++++---
3 files changed, 41 insertions(+), 32 deletions(-)
diff --git a/ext/Hash-Util-FieldHash/t/10_hash.t b/ext/Hash-Util-FieldHash/t/10_hash.t
index 2cfb4e8..d58f053 100644
--- a/ext/Hash-Util-FieldHash/t/10_hash.t
+++ b/ext/Hash-Util-FieldHash/t/10_hash.t
@@ -38,15 +38,29 @@ use constant START => "a";
# some initial hash data
fieldhash my %h2;
-%h2 = map {$_ => 1} 'a'..'cc';
+my $counter= "a";
+$h2{$counter++}++ while $counter ne 'cd';
ok (!Internals::HvREHASH(%h2),
"starting with pre-populated non-pathological hash (rehash flag if off)");
my @keys = get_keys(\%h2);
+my $buckets= buckets(\%h2);
$h2{$_}++ for @keys;
+$h2{$counter++}++ while buckets(\%h2) == $buckets; # force a split
ok (Internals::HvREHASH(%h2),
- scalar(@keys) . " colliding into the same bucket keys are triggering rehash");
+ scalar(@keys) . " colliding into the same bucket keys are triggering rehash after split");
+
+# returns the number of buckets in a hash
+sub buckets {
+ my $hr = shift;
+ my $keys_buckets= scalar(%$hr);
+ if ($keys_buckets=~m!/([0-9]+)\z!) {
+ return 0+$1;
+ } else {
+ return 8;
+ }
+}
sub get_keys {
my $hr = shift;
diff --git a/hv.c b/hv.c
index 2be1feb..abb9d76 100644
--- a/hv.c
+++ b/hv.c
@@ -35,7 +35,8 @@ holds the key and hash value.
#define PERL_HASH_INTERNAL_ACCESS
#include "perl.h"
-#define HV_MAX_LENGTH_BEFORE_SPLIT 14
+#define HV_MAX_LENGTH_BEFORE_REHASH 14
+#define SHOULD_DO_HSPLIT(xhv) ((xhv)->xhv_keys > (xhv)->xhv_max) /* HvTOTALKEYS(hv) > HvMAX(hv) */
static const char S_strtab_error[]
= "Cannot modify shared string table in hv_%s";
@@ -794,29 +795,9 @@ Perl_hv_common(pTHX_ HV *hv, SV *keysv, const char *key, STRLEN klen,
if (masked_flags & HVhek_ENABLEHVKFLAGS)
HvHASKFLAGS_on(hv);
- {
- const HE *counter = HeNEXT(entry);
-
- xhv->xhv_keys++; /* HvTOTALKEYS(hv)++ */
- if (!counter) { /* initial entry? */
- } else if (xhv->xhv_keys > xhv->xhv_max) {
- /* Use only the old HvKEYS(hv) > HvMAX(hv) condition to limit
- bucket splits on a rehashed hash, as we're not going to
- split it again, and if someone is lucky (evil) enough to
- get all the keys in one list they could exhaust our memory
- as we repeatedly double the number of buckets on every
- entry. Linear search feels a less worse thing to do. */
- hsplit(hv);
- } else if(!HvREHASH(hv)) {
- U32 n_links = 1;
-
- while ((counter = HeNEXT(counter)))
- n_links++;
-
- if (n_links > HV_MAX_LENGTH_BEFORE_SPLIT) {
- hsplit(hv);
- }
- }
+ xhv->xhv_keys++; /* HvTOTALKEYS(hv)++ */
+ if ( SHOULD_DO_HSPLIT(xhv) ) {
+ hsplit(hv);
}
if (return_svp) {
@@ -1192,7 +1173,7 @@ S_hsplit(pTHX_ HV *hv)
/* Pick your policy for "hashing isn't working" here: */
- if (longest_chain <= HV_MAX_LENGTH_BEFORE_SPLIT /* split worked? */
+ if (longest_chain <= HV_MAX_LENGTH_BEFORE_REHASH /* split worked? */
|| HvREHASH(hv)) {
return;
}
@@ -2831,8 +2812,8 @@ S_share_hek_flags(pTHX_ const char *str, I32 len, register U32 hash, int flags)
xhv->xhv_keys++; /* HvTOTALKEYS(hv)++ */
if (!next) { /* initial entry? */
- } else if (xhv->xhv_keys > xhv->xhv_max /* HvKEYS(hv) > HvMAX(hv) */) {
- hsplit(PL_strtab);
+ } else if ( SHOULD_DO_HSPLIT(xhv) ) {
+ hsplit(PL_strtab);
}
}
diff --git a/t/op/hash.t b/t/op/hash.t
index 278bea7..201260a 100644
--- a/t/op/hash.t
+++ b/t/op/hash.t
@@ -39,22 +39,36 @@ use constant THRESHOLD => 14;
use constant START => "a";
# some initial hash data
-my %h2 = map {$_ => 1} 'a'..'cc';
+my %h2;
+my $counter= "a";
+$h2{$counter++}++ while $counter ne 'cd';
ok (!Internals::HvREHASH(%h2),
"starting with pre-populated non-pathological hash (rehash flag if off)");
my @keys = get_keys(\%h2);
+my $buckets= buckets(\%h2);
$h2{$_}++ for @keys;
+$h2{$counter++}++ while buckets(\%h2) == $buckets; # force a split
ok (Internals::HvREHASH(%h2),
- scalar(@keys) . " colliding into the same bucket keys are triggering rehash");
+ scalar(@keys) . " colliding into the same bucket keys are triggering rehash after split");
+
+# returns the number of buckets in a hash
+sub buckets {
+ my $hr = shift;
+ my $keys_buckets= scalar(%$hr);
+ if ($keys_buckets=~m!/([0-9]+)\z!) {
+ return 0+$1;
+ } else {
+ return 8;
+ }
+}
sub get_keys {
my $hr = shift;
# the minimum of bits required to mount the attack on a hash
my $min_bits = log(THRESHOLD)/log(2);
-
# if the hash has already been populated with a significant amount
# of entries the number of mask bits can be higher
my $keys = scalar keys %$hr;
--
1.7.4.1

View File

@@ -3,10 +3,10 @@ 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.8.8/Cross/generate_config_sh
Index: perl-5.14.2/Cross/generate_config_sh
===================================================================
--- perl-5.8.8.orig/Cross/generate_config_sh 2003-09-05 18:31:08.000000000 +1000
+++ perl-5.8.8/Cross/generate_config_sh 2007-05-30 09:12:50.000000000 +1000
--- 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"]];
@@ -22,7 +22,15 @@ Index: perl-5.8.8/Cross/generate_config_sh
$callbacks->{'ccname'} = [\&simple_process, ["CC", "arm-linux-gcc"]];
$callbacks->{'cpp'} = [\&simple_process, ["CCP", "arm-linux-cpp"]];
$callbacks->{'cppflags'} = [\&simple_process, ["CCPFLAGS", "-fno-strict-aliasing"]];
@@ -105,6 +105,23 @@
@@ -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 @@
}

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \
# We need gnugrep (for -I)
DEPENDS = "virtual/db grep-native"
DEPENDS += "gdbm zlib"
PR = "r12"
PR = "r13"
# 5.10.1 has Module::Build built-in
PROVIDES += "libmodule-build-perl"
@@ -68,6 +68,8 @@ SRC_URI = "http://www.cpan.org/src/5.0/perl-${PV}.tar.gz \
file://perl-build-in-t-dir.patch \
file://perl-archlib-exp.patch \
file://perl-fix-CVE-2012-5195.patch \
file://cve-2012-6329.patch \
file://cve-2013-1667.patch \
\
file://config.sh \
file://config.sh-32 \
@@ -169,7 +171,7 @@ do_configure() {
;;
esac
# These are strewn all over the source tree
for foo in `grep -I --exclude="*.patch" --exclude="*.diff" --exclude="*.pod" --exclude="README*" -m1 "/usr/include/.*\.h" ${WORKDIR}/* -r -l` ${S}/utils/h2xs.PL ; do
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
echo Fixing: $foo
sed -e 's|\([ "^'\''I]\+\)/usr/include/|\1${STAGING_INCDIR}/|g' -i $foo
done
@@ -214,6 +216,11 @@ do_install() {
}
do_install_append_virtclass-nativesdk () {
create_wrapper ${D}${bindir}/perl \
PERL5LIB='$PERL5LIB:$OECORE_NATIVE_SYSROOT/${libdir_nativesdk}/perl:$OECORE_NATIVE_SYSROOT/${libdir_nativesdk}/perl/${PV}'
}
PACKAGE_PREPROCESS_FUNCS += "perl_package_preprocess"
perl_package_preprocess () {
@@ -244,7 +251,16 @@ perl_package_preprocess () {
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}"
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 \
"
RPROVIDES_${PN} += "perl-module-strict perl-module-vars perl-module-config perl-module-warnings \
perl-module-warnings-register"
FILES_${PN}_append_virtclass-nativesdk = " ${bindir}/perl.real"
FILES_${PN}-dev = "${libdir}/perl/${PV}/CORE"
FILES_${PN}-lib = "${libdir}/libperl.so* \
${libdir}/perl5 \
@@ -295,18 +311,18 @@ FILES_perl-module-unicore += "${libdir}/perl/${PV}/unicore"
# packages (actually the non modules packages and not created too)
ALLOW_EMPTY_perl-modules = "1"
PACKAGES_append = " perl-modules "
RRECOMMENDS_perl-modules = "${@d.getVar('PACKAGES', True).replace('${PN}-modules ', '').replace('${PN}-dbg ', '').replace('${PN}-misc ', '').replace('${PN}-dev ', '').replace('${PN}-pod ', '').replace('${PN}-doc ', '')}"
python populate_packages_prepend () {
libdir = d.expand('${libdir}/perl/${PV}')
do_split_packages(d, libdir, 'auto/(Encode/.[^/]*)/.*', 'perl-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False)
do_split_packages(d, libdir, 'auto/([^/]*)/.*', '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, '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)
d.setVar("RRECOMMENDS_${PN}-modules", d.getVar('PACKAGES', True).replace('${PN}-modules ', '').replace('${PN}-dbg ', '').replace('${PN}-misc ', '').replace('${PN}-dev ', '').replace('${PN}-pod ', '').replace('${PN}-doc ', ''))
}
PACKAGES_DYNAMIC = "perl-module-*"
PACKAGES_DYNAMIC_virtclass-nativesdk = "nativesdk-perl-module-*"
PACKAGES_DYNAMIC += "^perl-module-.*"
PACKAGES_DYNAMIC_virtclass-nativesdk += "^nativesdk-perl-module-.*"
RPROVIDES_perl-lib = "perl-lib"

View File

@@ -0,0 +1,26 @@
diff -urN qemu-1.2.0.orig/Makefile qemu-1.2.0/Makefile
--- qemu-1.2.0.orig/Makefile 2012-09-05 10:03:06.000000000 -0400
+++ qemu-1.2.0/Makefile 2013-05-07 12:18:23.638560591 -0400
@@ -172,7 +172,7 @@
qemu-img-cmds.h: $(SRC_PATH)/qemu-img-cmds.hx
$(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -h < $< > $@," GEN $@")
-qemu-ga$(EXESUF): LIBS = $(LIBS_QGA)
+qemu-ga$(EXESUF): LIBS = $(LIBS_QGA) -lrt
qemu-ga$(EXESUF): QEMU_CFLAGS += -I qga/qapi-generated
gen-out-type = $(subst .,-,$(suffix $@))
diff -urN qemu-1.2.0.orig/configure qemu-1.2.0/configure
--- qemu-1.2.0.orig/configure 2012-09-05 10:03:06.000000000 -0400
+++ qemu-1.2.0/configure 2013-05-07 12:11:06.940307455 -0400
@@ -2681,6 +2681,10 @@
LIBS="-lrt $LIBS"
fi
+if test "$linux" = "yes" ; then
+ LIBS="-lrt $LIBS"
+fi
+
if test "$darwin" != "yes" -a "$mingw32" != "yes" -a "$solaris" != yes -a \
"$aix" != "yes" -a "$haiku" != "yes" ; then
libs_softmmu="-lutil $libs_softmmu"

View File

@@ -8,6 +8,7 @@ SRC_URI = "\
file://powerpc_rom.bin \
file://no-strip.patch \
file://linker-flags.patch \
file://linker-flags-2.patch \
file://qemu-vmware-vga-depth.patch \
file://fix-configure-checks.patch \
file://fallback-to-safe-mmap_min_addr.patch \

View File

@@ -13,13 +13,11 @@ DEPENDS += "readline"
PROVIDES += "make"
do_configure_prepend() {
# remove the default LINGUAS since we are not going to generate languages
rm po/LINGUAS
touch po/LINGUAS
# create config.rpath which required by configure.ac
autopoint || touch config.rpath
}
do_compile_prepend() {
# updating .po and other gnu build files
make update
}
BBCLASSEXTEND = "native"

View File

@@ -12,36 +12,56 @@ python __anonymous () {
}
do_install_append() {
if test -n "${KERNEL_DEVICETREE}"; then
for DTS_FILE in ${KERNEL_DEVICETREE}; do
if [ ! -f ${DTS_FILE} ]; then
echo "Warning: ${DTS_FILE} is not available!"
continue
fi
DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'`
DTB_NAME=`echo ${KERNEL_IMAGE_BASE_NAME} | sed "s/${MACHINE}/${DTS_BASE_NAME}/g"`
DTB_SYMLINK_NAME=`echo ${KERNEL_IMAGE_SYMLINK_NAME} | sed "s/${MACHINE}/${DTS_BASE_NAME}/g"`
dtc -I dts -O dtb ${KERNEL_DEVICETREE_FLAGS} -o ${DTS_BASE_NAME} ${DTS_FILE}
install -m 0644 ${DTS_BASE_NAME} ${D}/boot/devicetree-${DTB_SYMLINK_NAME}.dtb
done
fi
if test -n "${KERNEL_DEVICETREE}"; then
for DTS_FILE in ${KERNEL_DEVICETREE}; do
if [ ! -f ${DTS_FILE} ]; then
echo "Warning: ${DTS_FILE} is not available!"
continue
fi
DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'`
DTB_NAME=`echo ${KERNEL_IMAGE_BASE_NAME} | sed "s/${MACHINE}/${DTS_BASE_NAME}/g"`
DTB_SYMLINK_NAME=`echo ${KERNEL_IMAGE_SYMLINK_NAME} | sed "s/${MACHINE}/${DTS_BASE_NAME}/g"`
dtc -I dts -O dtb ${KERNEL_DEVICETREE_FLAGS} -o ${DTS_BASE_NAME} ${DTS_FILE}
install -m 0644 ${DTS_BASE_NAME} ${D}/boot/devicetree-${DTB_SYMLINK_NAME}.dtb
done
fi
}
do_deploy_append() {
if test -n "${KERNEL_DEVICETREE}"; then
for DTS_FILE in ${KERNEL_DEVICETREE}; do
if [ ! -f ${DTS_FILE} ]; then
echo "Warning: ${DTS_FILE} is not available!"
continue
fi
DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'`
DTB_NAME=`echo ${KERNEL_IMAGE_BASE_NAME} | sed "s/${MACHINE}/${DTS_BASE_NAME}/g"`
DTB_SYMLINK_NAME=`echo ${KERNEL_IMAGE_SYMLINK_NAME} | sed "s/${MACHINE}/${DTS_BASE_NAME}/g"`
install -d ${DEPLOYDIR}
install -m 0644 ${B}/${DTS_BASE_NAME} ${DEPLOYDIR}/${DTB_NAME}.dtb
cd ${DEPLOYDIR}
ln -sf ${DTB_NAME}.dtb ${DTB_SYMLINK_NAME}.dtb
cd -
done
fi
if test -n "${KERNEL_DEVICETREE}"; then
for DTS_FILE in ${KERNEL_DEVICETREE}; do
if [ ! -f ${DTS_FILE} ]; then
echo "Warning: ${DTS_FILE} is not available!"
continue
fi
DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'`
DTB_NAME=`echo ${KERNEL_IMAGE_BASE_NAME} | sed "s/${MACHINE}/${DTS_BASE_NAME}/g"`
DTB_SYMLINK_NAME=`echo ${KERNEL_IMAGE_SYMLINK_NAME} | sed "s/${MACHINE}/${DTS_BASE_NAME}/g"`
install -d ${DEPLOYDIR}
install -m 0644 ${B}/${DTS_BASE_NAME} ${DEPLOYDIR}/${DTB_NAME}.dtb
cd ${DEPLOYDIR}
ln -sf ${DTB_NAME}.dtb ${DTB_SYMLINK_NAME}.dtb
cd -
done
fi
}
pkg_postinst_kernel-devicetree () {
cd /${KERNEL_IMAGEDEST}
for DTS_FILE in ${KERNEL_DEVICETREE}
do
DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'`
DTB_SYMLINK_NAME=`echo ${KERNEL_IMAGE_SYMLINK_NAME} | sed "s/${MACHINE}/${DTS_BASE_NAME}/g"`
update-alternatives --install /${KERNEL_IMAGEDEST}/${DTS_BASE_NAME}.dtb ${DTS_BASE_NAME}.dtb devicetree-${DTB_SYMLINK_NAME}.dtb ${KERNEL_PRIORITY} || true
done
}
pkg_postrm_kernel-devicetree () {
cd /${KERNEL_IMAGEDEST}
for DTS_FILE in ${KERNEL_DEVICETREE}
do
DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'`
DTB_SYMLINK_NAME=`echo ${KERNEL_IMAGE_SYMLINK_NAME} | sed "s/${MACHINE}/${DTS_BASE_NAME}/g"`
update-alternatives --remove ${DTS_BASE_NAME}.dtb devicetree-${DTB_SYMLINK_NAME}.dtb ${KERNEL_PRIORITY} || true
done
}

View File

@@ -27,6 +27,6 @@ KERNEL_REVISION_CHECKING=""
KERNEL_FEATURES_append = " features/netfilter"
KERNEL_FEATURES_append_qemux86=" cfg/sound"
KERNEL_FEATURES_append_qemux86-64=" cfg/sound"
KERNEL_FEATURES_append_qemux86=" cfg/paravirt_kvm"
KERNEL_FEATURES_append_qemux86-64=" cfg/paravirt_kvm"
#KERNEL_FEATURES_append_qemux86=" cfg/paravirt_kvm"
#KERNEL_FEATURES_append_qemux86-64=" cfg/paravirt_kvm"
KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32", "" ,d)}"

View File

@@ -28,7 +28,7 @@ DEPENDS = "virtual/kernel \
"
SCRIPTING_RDEPENDS = "${@perf_feature_enabled('perf-scripting', 'perl perl-modules python', '',d)}"
RDEPENDS_${PN} += "elfutils ${SCRIPTING_RDEPENDS}"
RDEPENDS_${PN} += "elfutils bash ${SCRIPTING_RDEPENDS}"
PROVIDES = "virtual/perf"

View File

@@ -6,12 +6,12 @@ BUGTRACKER = "http://bugzilla.lesswatts.org/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
DEPENDS = "virtual/libintl ncurses"
DEPENDS = "ncurses"
# powertop 1.13 needs lspci
RDEPENDS_${PN} = "pciutils"
PR = "r4"
PR = "r5"
SRC_URI = "http://www.lesswatts.org/projects/powertop/download/powertop-${PV}.tar.gz \
file://stub_out_the_ncurses_calls_in_dump_mode.patch \
@@ -20,6 +20,8 @@ SRC_URI = "http://www.lesswatts.org/projects/powertop/download/powertop-${PV}.ta
SRC_URI[md5sum] = "78aa17c8f55178004223bf236654298e"
SRC_URI[sha256sum] = "2bc866089496877dd26d2d316ad5763ab8ecb5e28aefba44bc5d355dcdc58d98"
inherit gettext
CFLAGS += "${LDFLAGS}"
EXTRA_OEMAKE = "VERSION=\"${PV}\" EXTRA_LIBS=${EXTRA_LIBS}"

View File

@@ -6,12 +6,16 @@ DEPENDS = "elfutils sqlite3 systemtap-native"
DEPENDS_virtclass-native = "elfutils-native sqlite3-native gettext-native"
DEPENDS_virtclass-nativesdk = "nativesdk-elfutils nativesdk-sqlite3 nativesdk-gettext"
PR = "r0"
PR = "r1"
export CC_FOR_BUILD = "${BUILD_CC}"
export CFLAGS_FOR_BUILD = "${BUILD_CFLAGS}"
export LDFLAGS_FOR_BUILD = "${BUILD_LDFLAGS}"
RDEPENDS_${PN} += "python bash"
RDEPENDS_${PN}_class-native += "python-native"
RDEPENDS_${PN}_class-nativesdk += "python-native"
EXTRA_OECONF += "--with-libelf=${STAGING_DIR_TARGET} --without-rpm \
--without-nss --without-avahi \
--disable-server --disable-grapher "

View File

@@ -0,0 +1,70 @@
Fix CVE-2012-6085 by backporting a patch from upstream's git repository.
Upstream-Status: Backport
Signed-off-by: Ross Burton <ross.burton@intel.com>
From 498882296ffac7987c644aaf2a0aa108a2925471 Mon Sep 17 00:00:00 2001
From: Werner Koch <wk@gnupg.org>
Date: Thu, 20 Dec 2012 09:43:41 +0100
Subject: [PATCH] gpg: Import only packets which are allowed in a keyblock.
* g10/import.c (valid_keyblock_packet): New.
(read_block): Store only valid packets.
--
A corrupted key, which for example included a mangled public key
encrypted packet, used to corrupt the keyring. This change skips all
packets which are not allowed in a keyblock.
GnuPG-bug-id: 1455
(cherry-picked from commit 3a4b96e665fa639772854058737ee3d54ba0694e)
---
g10/import.c | 23 ++++++++++++++++++++++-
1 files changed, 22 insertions(+), 1 deletions(-)
diff --git a/g10/import.c b/g10/import.c
index ba2439d..ad112d6 100644
--- a/g10/import.c
+++ b/g10/import.c
@@ -347,6 +347,27 @@ import_print_stats (void *hd)
}
+/* Return true if PKTTYPE is valid in a keyblock. */
+static int
+valid_keyblock_packet (int pkttype)
+{
+ switch (pkttype)
+ {
+ case PKT_PUBLIC_KEY:
+ case PKT_PUBLIC_SUBKEY:
+ case PKT_SECRET_KEY:
+ case PKT_SECRET_SUBKEY:
+ case PKT_SIGNATURE:
+ case PKT_USER_ID:
+ case PKT_ATTRIBUTE:
+ case PKT_RING_TRUST:
+ return 1;
+ default:
+ return 0;
+ }
+}
+
+
/****************
* Read the next keyblock from stream A.
* PENDING_PKT should be initialzed to NULL
@@ -424,7 +445,7 @@ read_block( IOBUF a, PACKET **pending_pkt, KBNODE *ret_root )
}
in_cert = 1;
default:
- if( in_cert ) {
+ if (in_cert && valid_keyblock_packet (pkt->pkttype)) {
if( !root )
root = new_kbnode( pkt );
else
--
1.7.2.5

View File

@@ -13,7 +13,8 @@ SRC_URI = "ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-${PV}.tar.bz2 \
file://long-long-thumb.patch \
file://configure.patch \
file://mips_gcc4.4.patch \
file://curl_typeof_fix_backport.patch"
file://curl_typeof_fix_backport.patch \
file://cve-2012-6085.patch"
SRC_URI[md5sum] = "b06a141cca5cd1a55bbdd25ab833303c"
SRC_URI[sha256sum] = "69d18b7d193f62ca27ed4febcb4c9044aa0c95305d3258fe902e2fae5fc6468d"

View File

@@ -11,7 +11,8 @@ PR = "r4"
inherit autotools gettext
SRC_URI = "ftp://ftp.gnupg.org/gcrypt/${BPN}/${BPN}-${PV}.tar.bz2"
SRC_URI = "ftp://ftp.gnupg.org/gcrypt/${BPN}/${BPN}-${PV}.tar.bz2 \
file://cve-2012-6085.patch"
SRC_URI[md5sum] = "6a8589381ca1b0c1a921e9955f42b016"
SRC_URI[sha256sum] = "efa23a8a925adb51c7d3b708c25b6d000300f5ce37de9bdec6453be7b419c622"

View File

@@ -6,7 +6,7 @@ LICENSE = "LGPLv2.1+"
LIC_FILES_CHKSUM = "file://COPYING;md5=7d7044444a7b1b116e8783edcdb44ff4 \
file://utils/proxy.c;beginline=1;endline=18;md5=55152a1006d7dafbef32baf9c30a99c0"
DEPENDS = "gconf"
DEPENDS = "gconf glib-2.0"
PR = "r4"

View File

@@ -84,13 +84,46 @@ Test_SCP()
local ip_addr=$1
local src=$2
local des=$3
local tmpfile=`mktemp`
local time_out=60
local ret=0
# We use expect to interactive with target by ssh
local exp_cmd=`cat << EOF
eval spawn scp -o UserKnownHostsFile=$tmpfile "$src" root@$ip_addr:"$des"
eval spawn scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no "$src" root@$ip_addr:"$des"
set timeout $time_out
expect {
"*assword:" { send "\r"; exp_continue}
"*(yes/no)?" { send "yes\r"; exp_continue }
eof { exit [ lindex [wait] 3 ] }
}
EOF`
expect=`which expect`
if [ ! -x "$expect" ]; then
Test_Error "ERROR: Please install expect"
return 1
fi
expect -c "$exp_cmd"
ret=$?
return $ret
}
# function to copy files from target to host
# $1 is the ip address of target
# $2 is the files, which need to be copied into target
# $3 is the path on target, where files are copied into
Test_SCP_From()
{
local ip_addr=$1
local src=$2
local des=$3
local time_out=60
local ret=0
# We use expect to interactive with target by ssh
local exp_cmd=`cat << EOF
eval spawn scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no root@$ip_addr:"$src" "$des"
set timeout $time_out
expect {
"*assword:" { send "\r"; exp_continue}
@@ -107,7 +140,6 @@ EOF`
expect -c "$exp_cmd"
ret=$?
rm -rf $tmpfile
return $ret
}
@@ -117,11 +149,10 @@ Test_SSH()
local ip_addr=$1
shift
local command=$@
local tmpfile=`mktemp`
local time_out=60
local ret=0
local exp_cmd=`cat << EOF
eval spawn ssh -o UserKnownHostsFile=$tmpfile root@$ip_addr "$command"
eval spawn ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no root@$ip_addr "$command"
set timeout $time_out
expect {
"*assword:" { send "\r"; exp_continue}
@@ -138,7 +169,6 @@ EOF`
expect -c "$exp_cmd"
ret=$?
rm -rf $tmpfile
return $ret
}
@@ -418,7 +448,7 @@ Test_Create_Qemu()
sleep 5
fi
while [ ${up_time} -lt 10 ]
while [ ${up_time} -lt 30 ]
do
QEMUPID=`qemuimage-testlib-pythonhelper --findqemu $XTERMPID 2>/dev/null`
if [ $? -ne 0 ]; then
@@ -432,7 +462,7 @@ Test_Create_Qemu()
fi
done
if [ ${up_time} == 10 ]; then
if [ ${up_time} == 30 ]; then
Test_Info "No qemu process appeared to start, exiting"
ps axww -O ppid
Test_Info "Process list dumped for debugging purposes"
@@ -442,10 +472,11 @@ Test_Create_Qemu()
return 1
fi
up_time=0
# Parse IP address of target from the qemu command line
TARGET_IPADDR=`Test_Fetch_Target_IP $QEMUPID`
echo "Target IP is ${TARGET_IPADDR}"
if [ ${TARGET_IPADDR} = "" -o "${TARGET_IPADDR}" = "0" ]; then
if [ "${TARGET_IPADDR}" = "" -o "${TARGET_IPADDR}" = "0" ]; then
Test_Info "There is no qemu process or qemu ip address found, return failed"
ps -wwf
ps axww -O ppid
@@ -468,6 +499,10 @@ Test_Create_Qemu()
fi
done
Test_Info "Process list dumped for debugging purposes:"
ps axww -O ppid
Test_Info "runqemu output log:"
cat ${RUNQEMU_LOGFILE}
Test_Info "Qemu or its network is not up in ${timeout} seconds"
Test_Update_IPSAVE $XTERMPID $TARGET_IPADDR
return 1
@@ -708,3 +743,12 @@ Test_Toolchain()
return $ret
}
Test_Display_Syslog()
{
local tmplog=`mktemp`
Test_SCP_From ${TARGET_IPADDR} /var/log/messages $tmplog
echo "System logs:"
cat $tmplog
rm -f $tmplog
}

View File

@@ -3,6 +3,7 @@
import optparse
import subprocess
import sys
import os
parser = optparse.OptionParser(
usage = """
@@ -19,7 +20,7 @@ if options.findqemu:
#
# Walk the process tree from the process specified looking for a qemu-system. Return its pid.
#
ps = subprocess.Popen(['ps', 'ax', '-o', 'pid,ppid,command'], stdout=subprocess.PIPE).communicate()[0]
ps = subprocess.Popen(['ps', 'axww', '-o', 'pid,ppid,command'], stdout=subprocess.PIPE).communicate()[0]
processes = ps.split('\n')
nfields = len(processes[0].split()) - 1
pids = {}
@@ -52,7 +53,10 @@ if options.findqemu:
newparents = next
#print "Children matching %s:" % str(parents)
for p in parents:
if "qemu-system" in commands[p]:
# Need to be careful here since runqemu-internal runs "ldd qemu-system-xxxx"
basecmd = commands[p].split()[0]
basecmd = os.path.basename(basecmd)
if "qemu-system" in basecmd:
print p
sys.exit(0)
sys.exit(1)

View File

@@ -11,7 +11,7 @@
#
. $COREBASE/scripts/qemuimage-testlib
TIMEOUT=120
TIMEOUT=400
# Start qemu and check its network
Test_Create_Qemu ${TIMEOUT}

View File

@@ -46,6 +46,7 @@ if [ ${RET} -eq 0 ]; then
exit 0
else
Test_Info "Connman Test FAIL, Pls. check above error log"
Test_Display_Syslog
Test_Kill_Qemu
Test_Print_Result "connman" 1
exit 1

View File

@@ -1,7 +1,7 @@
sanity ssh
sanity scp
sanity dmesg
sanity zypper_help
sanity zypper_search
sanity rpm_query
sanity dmesg
sanity shutdown

View File

@@ -1,10 +1,10 @@
sanity ssh
sanity scp
sanity dmesg
sanity zypper_help
sanity zypper_search
sanity rpm_query
sanity connman
sanity dmesg
sanity shutdown
systemusage bash
systemusage df

View File

@@ -1,11 +1,11 @@
sanity ssh
sanity scp
sanity dmesg
sanity zypper_help
sanity zypper_search
sanity rpm_query
sanity compiler
sanity connman
sanity dmesg
sanity shutdown
systemusage bash
systemusage df

View File

@@ -1,7 +1,7 @@
sanity ssh
sanity scp
sanity dmesg
sanity zypper_help
sanity zypper_search
sanity rpm_query
sanity dmesg
sanity shutdown

View File

@@ -1,10 +1,10 @@
sanity ssh
sanity scp
sanity dmesg
sanity zypper_help
sanity zypper_search
sanity rpm_query
sanity connman
sanity dmesg
sanity shutdown
systemusage bash
systemusage df

View File

@@ -1,11 +1,11 @@
sanity ssh
sanity scp
sanity dmesg
sanity zypper_help
sanity zypper_search
sanity rpm_query
sanity compiler
sanity connman
sanity dmesg
sanity shutdown
systemusage bash
systemusage df

View File

@@ -1,7 +1,7 @@
sanity ssh
sanity scp
sanity dmesg
sanity zypper_help
sanity zypper_search
sanity rpm_query
sanity dmesg
sanity shutdown

View File

@@ -1,10 +1,10 @@
sanity ssh
sanity scp
sanity dmesg
sanity zypper_help
sanity zypper_search
sanity rpm_query
sanity connman
sanity dmesg
sanity shutdown
systemusage bash
systemusage df

View File

@@ -1,11 +1,11 @@
sanity ssh
sanity scp
sanity dmesg
sanity zypper_help
sanity zypper_search
sanity rpm_query
sanity compiler
sanity connman
sanity dmesg
sanity shutdown
systemusage bash
systemusage df

View File

@@ -1,7 +1,7 @@
sanity ssh
sanity scp
sanity dmesg
sanity zypper_help
sanity zypper_search
sanity rpm_query
sanity dmesg
sanity shutdown

View File

@@ -1,10 +1,10 @@
sanity ssh
sanity scp
sanity dmesg
sanity zypper_help
sanity zypper_search
sanity rpm_query
sanity connman
sanity dmesg
sanity shutdown
systemusage bash
systemusage df

View File

@@ -1,11 +1,11 @@
sanity ssh
sanity scp
sanity dmesg
sanity zypper_help
sanity zypper_search
sanity rpm_query
sanity compiler
sanity connman
sanity dmesg
sanity shutdown
systemusage bash
systemusage df

View File

@@ -1,7 +1,7 @@
sanity ssh
sanity scp
sanity dmesg
sanity zypper_help
sanity zypper_search
sanity rpm_query
sanity dmesg
sanity shutdown

View File

@@ -1,10 +1,10 @@
sanity ssh
sanity scp
sanity dmesg
sanity zypper_help
sanity zypper_search
sanity rpm_query
sanity connman
sanity dmesg
sanity shutdown
systemusage bash
systemusage df

View File

@@ -1,11 +1,11 @@
sanity ssh
sanity scp
sanity dmesg
sanity zypper_help
sanity zypper_search
sanity rpm_query
sanity compiler
sanity connman
sanity dmesg
sanity shutdown
systemusage bash
systemusage df

View File

@@ -45,7 +45,7 @@ fi
if [ $count -ne 1 ]; then
Target_Info "connmand has issue when running in background, Pls, check the output of ps"
${PS} | grep connmand
${PS}
exit 1
fi

View File

@@ -55,22 +55,22 @@ def parse_elf_header():
if arch == 32:
# 32bit
hdr_struct = struct.Struct("<HHILLLIHHHHHH")
hdr_fmt = "<HHILLLIHHHHHH"
hdr_size = 52
else:
# 64bit
hdr_struct = struct.Struct("<HHIQQQIHHHHHH")
hdr_fmt = "<HHIQQQIHHHHHH"
hdr_size = 64
e_type, e_machine, e_version, e_entry, e_phoff, e_shoff, e_flags,\
e_ehsize, e_phentsize, e_phnum, e_shentsize, e_shnum, e_shstrndx =\
hdr_struct.unpack(elf_header[16:hdr_size])
struct.unpack(hdr_fmt, elf_header[16:hdr_size])
def change_interpreter():
def change_interpreter(elf_file_name):
if arch == 32:
ph_struct = struct.Struct("<IIIIIIII")
ph_fmt = "<IIIIIIII"
else:
ph_struct = struct.Struct("<IIQQQQQQ")
ph_fmt = "<IIQQQQQQ"
""" look for PT_INTERP section """
for i in range(0,e_phnum):
@@ -79,25 +79,34 @@ def change_interpreter():
if arch == 32:
# 32bit
p_type, p_offset, p_vaddr, p_paddr, p_filesz,\
p_memsz, p_flags, p_align = ph_struct.unpack(ph_hdr)
p_memsz, p_flags, p_align = struct.unpack(ph_fmt, ph_hdr)
else:
# 64bit
p_type, p_flags, p_offset, p_vaddr, p_paddr, \
p_filesz, p_memsz, p_align = ph_struct.unpack(ph_hdr)
p_filesz, p_memsz, p_align = struct.unpack(ph_fmt, ph_hdr)
""" change interpreter """
if p_type == 3:
# PT_INTERP section
f.seek(p_offset)
# External SDKs with mixed pre-compiled binaries should not get
# relocated so look for some variant of /lib
fname = f.read(11)
if fname.startswith("/lib/") or fname.startswith("/lib64/") or fname.startswith("/lib32/") or fname.startswith("/usr/lib32/") or fname.startswith("/usr/lib32/") or fname.startswith("/usr/lib64/"):
break
if (len(new_dl_path) >= p_filesz):
print "ERROR: could not relocate %s, interp size = %i and %i is needed." % (elf_file_name, p_memsz, len(new_dl_path) + 1)
break
dl_path = new_dl_path + "\0" * (p_filesz - len(new_dl_path))
f.seek(p_offset)
f.write(dl_path)
break
def change_dl_sysdirs():
if arch == 32:
sh_struct = struct.Struct("<IIIIIIIIII")
sh_fmt = "<IIIIIIIIII"
else:
sh_struct = struct.Struct("<IIQQQQIIQQ")
sh_fmt = "<IIQQQQIIQQ"
""" read section string table """
f.seek(e_shoff + e_shstrndx * e_shentsize)
@@ -118,7 +127,7 @@ def change_dl_sysdirs():
sh_hdr = f.read(e_shentsize)
sh_name, sh_type, sh_flags, sh_addr, sh_offset, sh_size, sh_link,\
sh_info, sh_addralign, sh_entsize = sh_struct.unpack(sh_hdr)
sh_info, sh_addralign, sh_entsize = struct.unpack(sh_fmt, sh_hdr)
name = sh_strtab[sh_name:sh_strtab.find("\0", sh_name)]
@@ -172,7 +181,7 @@ def change_dl_sysdirs():
# MAIN
if len(sys.argv) < 4:
exit(-1)
sys.exit(-1)
new_prefix = sys.argv[1]
new_dl_path = sys.argv[2]
@@ -187,19 +196,19 @@ for e in executables_list:
try:
f = open(e, "r+b")
except IOError as ioex:
except IOError, ioex:
if ioex.errno == errno.ETXTBSY:
print("Could not open %s. File used by another process.\nPlease "\
"make sure you exit all processes that might use any SDK "\
"binaries." % e)
else:
print("Could not open %s: %s(%d)" % (e, ioex.strerror, ioex.errno))
exit(-1)
sys.exit(-1)
arch = get_arch()
if arch:
parse_elf_header()
change_interpreter()
change_interpreter(e)
change_dl_sysdirs()
""" change permissions back """