package_rpm.bbclass: Set tmppath for rpm to somewhere which won't conflict with the rootfs

If the rootfs has a specific layout in mind for /var/tmp, it should be
free to create this. Preinst scripts trigger rpm to create its tmppath
directory which could potentially conflict with this.

We're seeing issues if the provider of the /var/tmp wants to use a symlink
and a preinst script executes before it has been installed. This change
places tmppath as used by rpm somewhere safe which is already automatically
cleaned up too.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
pseudo: Tell pseudo to avoid specifying an RPATH

[Yocto #2251]

Add --without-rpath to avoid embedding rpaths into the pseudo
components.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
rpm: Ensure that we check both providename and filepaths

In lib/rpmts.c we need to make sure to look for missing dependencies,
such as /bin/sh, in both the providename and filepaths DB.  Previously
the system would key off an initial '/' and only look in the filepaths DB.

This causes problems when a package such as "bash", has a Provides: /bin/sh.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
mklibs-native 0.1.33: include unistd.h to fix build for gcc 4.7

Many of the standard C++ library include files have been edited to no
longer include <unistd.h> to remove namespace pollution in gcc 4.7, so
we need include <unistd.h> manually sometimes.

More information:
http://gcc.gnu.org/gcc-4.7/porting_to.html

[YOCTO #2278]

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>

[Updated patch header - sgw]

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
base.bbclass: Fix PACKAGECONFIG issues with native and nativesdk BBCLASSEXTEND recipes (and multilib)

This patch fixes up the issues that were being seen where BBCLASSEXTEND and
PACKAGECONFIG were interacting badly. It also ensures PACKAGECONFIG interacts
properly with multilib builds.

Ideally some of this code will be abstracted into lib/oe/classextend.py but
at this point in release more invasive changes like this are inappropriate.

This patch also removed empty strings from expressions rather than
passing them around as this was complicating the additional code
unnecessarily.

The patch was verified against the OE-Core metadata where the return values of
expandFilter() were sanity checked by hand for native/nativesdk and
multilib combinations.

[YOCTO #2225]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
pseudo: default NO32LIBS to 1

If this value is not set to 1, then systems with some 32-bit libraries
but no 32-bit version of libgcc installed will have pseudo-native fail
at do_compile. It should only really be set to 0 by those who know what
they are doing.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
default-distrovars: remove NO32LIBS setting

The ??= assignment in pseudo.inc effectively nullifies this ??=
assignment here, so remove it.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gcc-4.6: Add fix for relocation problem and ccache

If the toolchain is reused from sstate and ccache is installed, build failures
were occuring due to gcc trying to access the original sysroot rather than the
new one, particularly if the old sysroot existed but was not readable by the
current user.

This turns out of the an issue inside gcc to do with preservation of the sysroot
option. See the gcc patch for more details. It only triggers when preprocessed
sources are used which happens when ccache is used.

The same issue occurs with c++ and c++-cpp-output so the same fix is applied there.

[YOCTO #2074]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
opkg-utils: Update to include a fix for version comparision issues

This brings the version comparision within opkg-utils into sync with that
in opkg itself.

[YOCTO #2233]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Revert "default-distrovars: remove NO32LIBS setting"

We still need this value to keep the sanity testing working. The other
part of the change is still valid.

This reverts commit cb940f46efacddc7200581edba034e4201abb94a.
gdbm: Package compat libs in gdbm-compat

In order to avoid breaking packages which depend on old package name libgdbm4 (>= 1.10),
compat libs are packaged into a separate package named gdbm-compat.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
PR bump packages with gdbm in DEPENDS

This is done because of this change in gdbm:
"gdbm: Package compat libs in gdbm-compat"

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
boost: fix re-execution of task

After building boost package, re-execution of boostconfig task followed by
re-execution of compile task is giving following error
"error: duplicate initialization of gcc with the following parameters" during compilation
It is because multiple entries of gcc are being added during boostconfig re-execution
there by failing the compilation.

The patch fixes adding multiple "Using gcc" entries into /tools/build/v2/user-config.jam

[Yocto #2194]

Signed-off-by: Venkata Ramana Gollamudi <ramana.gollamudi@huawei.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
eglibc: fix re-execution of task

Task do_patch_append calling do_fix_ia_headers is removing files using "rm" not "rm -f".
So first time execution of patch task is success, while re-execution of patch task
fails as it tries to remove the files already removed.

So changed "rm" to "rm -f".

[Yocto #2194]

Signed-off-by: Venkata Ramana Gollamudi <ramana.gollamudi@huawei.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
eglibc: fix perl path in target scripts on fedora 17 alpha

fedora 17 has /usr/bin/perl as well as /bin/perl, which results in
 the perl path set in thetarget  perl scripts as /bin/perl
While we install perl on target at ${bindir}/perl i.e. /usr/bin/perl
Hence the target perl scripts are broken when build is done on fedora 17.
Work around the issue by providing cached value of perl path to eglibc

This fixes bug [YOCTO #2286]

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
createrepo: Python scripts should use the python interpreter from env

Added path to modify the hardcoded path of python interpreter from python
scripts.
The python interpreter should be the one from native sysroot and not the
one from host machine.

[YOCTO #2134]

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
package-index: Force NATIVE python to use modules from STAGING_DIR_NATIVE

Export PYTHONHOME to ${STAGING_DIR_NATIVE}/usr. In this way python will search
for modules in native sysroot.

[YOCTO #2134]

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
rpm-native: Compile python rpm module (with-python)

This module is needed by python scripts from createrepo native package.

[YOCTO #2134]

RP: Add missing DEPENDS on python-native
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Revert "eglibc: fix perl path in target scripts on fedora 17 alpha"

This reverts commit 7c95d554c431451f975e1e5d0336d1fb7d0ce7ae.

eglibc uses the PERL to execute things as well as encoding the path
in target scripts. We will therefore have to resort to sed on the scripts
at do_install time to fix the problems originally reported. This patch
causes various weird build failures and needs to be removed.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
linux-yocto/3.2: add igb support to romley

Updating the 3.2 recipe SRCREVs to pickup the following meta change:

[
    meta: Add igb.scc to Romley

    Romley machine has 82580 Giga bit Ethernet Controller.
    Add the relavent Nic driver to it.

    Signed-off-by: Kishore Bodke <kishore.k.bodke@intel.com>
]

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>