Kevin Tian [Wed, 8 Sep 2010 08:57:03 +0000 (16:57 +0800)]
libzypp: workaround to pass mips build
libzypp failed due to GCC "internal compiler error: segmentation fault" error on
MIPS target. The cause is about boost tribool type usage. If having assignement
within conditional check as below:
if ( (a = b) )
...
<a is a tribool type, b is a normal bool type>
then gcc4.3.3 throws internal error. Then the workaround is to move assignement
out of the conditional check.
However I didn't find same case from web.
We can come back to recheck this issue after upgrading to gcc4.5.0 for MIPS. If
this issue is still there, we'll need more analysis to decide whether to report
to gcc upstream or to libzypp upstream.
Kevin Tian [Wed, 8 Sep 2010 05:31:23 +0000 (13:31 +0800)]
sat-solver: change /usr/lib64 to /usr/lib
we use /usr/lib for x86-64 target, but sat-solver will use /usr/lib64 if 64bit
target arch is detected. This finally causes libzypp failed to find libsatsolver.a.
use "-DLIB=lib" to explicitly enforce the requirement
bitbake/fetch: add try_premirror method and special case git fetcher
Add a new method, try_premirror, to the Fetch object which checks to see
whether the file needs to be fetched from a premirror.
Override this in the Git fetcher to only require a pre-mirror fetch when the
clone directory does not exist.
Yu Ke [Mon, 6 Sep 2010 08:52:52 +0000 (16:52 +0800)]
QT4 mips: disable the LDFLAGS "-Bsymbolic-functions"
"-Bsymbolic-functions" flag makes ld to bind the global function symbol of shared library at compiling time, thus reduce the runtime relocation cost.
However, this flag in binutil 2.20 cause QT4 mips building failure, which is "final link failed: Bad value" error in libQtWebKit.so linking stage. If downgrad to binutil 2.19, this error disappears.
so before binutil new release is out, it is better to disable this flag for QT4 mips.
scripts: use the exported POKY_NATIVE_SYSROOT variable
Rather than trying to determine things through guess-work use the newly
exported variables to determine where the native binaries reside and
whether we are running in a build directory or not.
toolchain-scripts: export extra variables for use by scripts
Export the location of the native sysroot for use in the scripts to
determine the location of native binaries.
Also add a POKY_DISTRO_VERSION to the external toolchain environment as a
method of determining if we're running under a build directory or not
i.e. not if the variable is empty
Mark Hatle [Fri, 3 Sep 2010 17:41:57 +0000 (12:41 -0500)]
rootfs_rpm: Workaround for checksum changes
With the new checksum changes, the system is no longer able to determine
if the function resolve_package is used. So it doesn't get emitted. The
workaround resolves this by triggering an exit 0, followed by a bogus usage
of the function.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Mark Hatle [Thu, 2 Sep 2010 18:40:45 +0000 (13:40 -0500)]
rpm: Raise the number of potential rescans before aborting with a dep loop
Within Poky we have a large number of self-referencing packages. So we
need to raise the number of rescans before triggering a dependency loop
error. 100 seems like a reasonable number.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Jeff Polk [Thu, 2 Sep 2010 21:08:59 +0000 (15:08 -0600)]
siteconfig: generate configuration data caches for autoconf
siteinfo: Use configuration caches when available
Generate cached configuration data for autoconf for the package
based on a list of header, types, and functions to eliminate the
need for all subesequent package builds to do the actual tests
via the cross compiler and sysroot. The cache files are
stored in the sysroot in ${STAGING_DATADIR}/${TARGET_SYS}_config_site.d.
Siteinfo appends any files it finds in that directory to the normal
CONFIG_SITE. All of the cache values set the variables only if not
already set so they may be overridden by any of the normal site files.
Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
Mark Hatle [Thu, 2 Sep 2010 18:28:37 +0000 (13:28 -0500)]
rootfs_rpm: Support install_all_locales
Support installing all locales similarly to how it is done within the ipk
support. This has had basic testing, but it's not a normally used function
so there could still be some flaws.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Mark Hatle [Wed, 1 Sep 2010 21:04:45 +0000 (16:04 -0500)]
roots_rpm: Enable installation of recommended packages
Within RPM there is a field called "Suggests". This filed behaves like
"Recommends" does in ipk. So we write out the packages using the Suggests
field with the Poky 'Recommends' values... and then use the arbitrary tags to
capture the Poky 'Suggests' within a new "Recommends" tag.
Slightly confusing, but the end result is a functioning install.
Also some performance enhancements were add at the same time.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Kevin Tian [Fri, 3 Sep 2010 06:29:17 +0000 (14:29 +0800)]
glibc-package.inc: disable build-time locale generation for nativesdk
The idea of build-time locale generation is documented in glibc-package.inc:
Binary locales are generated at build time if ENABLE_BINARY_LOCALE_GENERATION
is set. The idea is to avoid running localedef on the target (at first boot)
to decrease initial boot time and avoid localedef being killed by the OOM
killer which used to effectively break i18n on machines with < 128MB RAM.
However it doesn't make sense to do same thing for glibc-nativesdk, as the
build system is powerful. More importantly is that ideally host_arch running
sdk may even be out of the support list of target_arch by qemu-native.
Regarding to above rationale, this commit disables build time locale
generation to avoid following error when asking qemu to run localdef:
NOTE: /opt/poky/sysroots/i586-pokysdk-linux/lib/ld-linux.so.2: No such file or directory
nativesdk binaris have opt path hardcoded to avoid mess with host bits, which
is another reason that build time locale generation is not feasible here.
This fixes [BUGID #264]
also add 'nativesdk' to eglibc per RP's suggestion
Kevin Tian [Fri, 3 Sep 2010 01:47:05 +0000 (09:47 +0800)]
udev: don't reference parent sysfs node directly
udev warns direct reference to parent sysfs, which is not necessary and
may break future kernel. Actually udev will handle parent nodes automatically
for ATTRS key.
Bruce Ashfield [Wed, 1 Sep 2010 04:47:02 +0000 (00:47 -0400)]
updateme: detect and prepare patches
The big part of this commit is to detect and prepare any
"free floating" patches into a kernel feature that will be
automatically applied to the kernel tree. These patches will
be pushed onto the BSP branch via guilt, and then built as
part of the normal build/deploy cycle.
There are other grouped cleanups, such as tabs instead
of spaces, and the removal of the unused decheckpoint
function.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
qemuimage-testlib: kill qemu process according to its pid, instead of process name
poky-qemu-internal will set up a tap lockfile when creating tap device. The lockfile
will be released when a TERM signal is received. In previous code, function
Test_Kill_Qemu uses pkill to kill all process named "qemu". This may cause lockfile
release function not work in poky-qemu-internal. Then poky-qemu-internal will be
hang when user start QEMU the second time. To prevent the issue, the new function
Test_Kill_Qemu kills all child pid with a given parent process ID.
Mark Hatle [Mon, 30 Aug 2010 21:44:31 +0000 (16:44 -0500)]
package_rpm: Enable per file dependencies
Switch the per file dependency handing to passing the information to
rpm via the standard 'external' dependency scripting. This ensures that
the dependencies found by RPM exactly match the ones presented by
package.bbclass.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
libmatchbox: Fix the matchbox environment start failure on x86-64 target.
x86 target works well. Root cause is libmatchbox use "0"(int) as termination
indicator when calling XftFontOpen, which in turn called FcPatternVapBuild(in
fontconfig). It try to get the "0" as char* and fetch wrong value, as int and
char* has different size on x86-64. This patch forces a NULL pointer as
terminator to fix it.
Currently no config file for x86-64 target, which cause
/etc/X11/Xsession.d/30xTs_Calibrate.sh run into an infinate loop to block
following scripts to start matchbox.
Copy x86 config file to x86-64.
[BUGID #242] is fixed by this
Nitin A Kamble [Fri, 6 Aug 2010 02:38:06 +0000 (19:38 -0700)]
libc-package.bbclass: merge glibc & eglibc class files
Other enhancements:
print qemu's stdio & error on failure
glibc: enable locale generation for all arches
eglibc: enable binary locale generation for mips
And cleanup of code based on the code review.
[e]glibc: move common definition in the common file
bitbake was complaining about duplicate definition of
get_libc_fpu_setting in eglibc.inc & glibc.inc
files.
And bump PRs
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Took the 3.1.10.2 version of the gplv2 recipe from the master branch,
and upgraded it to 3.1.12 version and then replaced the gplv3 files
viz posixtm.[ch] by gplv2 files to make the recipe gplv2.
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Qing He [Tue, 31 Aug 2010 14:51:58 +0000 (22:51 +0800)]
valgrind: fix perl scripts
svn version of valgrind uses #! @PERL@ for several perl
scripts. However, PERL in autoconf doesn't distinguish
host perl and target perl, causing STAGING_DIR_NATIVE be
written in the output scripts.
This causes unrunnable scripts, and fails FILERDEPENDS
mechanism (thus also do_rootfs_rpm).