Phil Blundell [Thu, 2 Jun 2011 12:15:05 +0000 (13:15 +0100)]
eglibc: fix mispackaging of libcidn
The glob for libc_baselibs was too permissive, causing some of the libcidn
symlinks to be placed in ${PN} rather than the intended subpackage. Worse,
the .so itself was actually landing in ${PN}-dev, so the net effect was to
make libc6-dev a dependency of libc6.
Bump PRs for both 2.12 and 2.13 as a result.
Signed-off-by: Phil Blundell <philb@gnu.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jingdong Lu [Tue, 24 May 2011 05:57:57 +0000 (13:57 +0800)]
libx11: fix libX11 keysyms to pass xts5 of lsb
Fixes bug: [YOCTO #1095]
Because of cross-compiling libx11 keysyms will cause Xts5 test of LSB fail.
libx11 use a tool named "makekey" which compiled as a native tool to generate
ks_tables.h. Because the size of "unsigned long" is different between 32-bit
and 64-bit, we should judge whether our target is 32-bit or 64-bit and tell
"makekey".
I add a patch to "makekeys_crosscompile.patch" to "src/utils/makekeys.c" in
order to deal with the different targets. If our target is 32-bit, we force
the variable its type is "unsigned long" to "uint32_t". So we can generate a
correct keysyms.
Signed-off-by: Jingdong Lu <jingdong.lu@windriver.com>
Phil Blundell [Wed, 1 Jun 2011 10:41:11 +0000 (11:41 +0100)]
rootfs_ipk: delete opkg metadata if package management not required and all packages are configured
If all the postinsts were successfully run in offline mode, and
package-management hasn't been requested as an IMAGE_FEATURE, the opkg
metadata is now redundant and can safely be deleted.
Also, the update-rc.d and base-passwd packages can be removed since
they will serve no further purpose in this situation.
If some packages are still unconfigured at this point then we need to
keep their metadata around so that either opkg or the awk script can
configure the packages at boot time. In theory it would be possible to
strip out the data for packages that have already been configured, but
right now we just hold on to the whole status file in that situation.
Without this the script mangling goes very wrong if ${prefix}="". There
isn't really any way to fix this in the completely general case, but
this patch does work with the two cases I tested (freetype and
gpg-error) which were unusable previously.
Phil Blundell [Thu, 26 May 2011 10:08:01 +0000 (11:08 +0100)]
busybox: sync do_install() with oe master (mostly)
This is basically a backport of the current state of the art from the
openembedded master repo. In particular this fixes an installation
error on micro:
| + cp -dPr /home/pb/oe/build-meta/tmp-eglibc/work/i586-oe-linux/busybox-1.18.4-r1.2/image/bin /home/pb/oe/build-meta/tmp-eglibc/work/i586-oe-linux/busybox-1.18.4-r1.2/image/sbin /home/pb/oe/build-meta/tmp-eglibc/work/i586-oe-linux/busybox-1.18.4-r1.2/image /home/pb/oe/build-meta/tmp-eglibc/work/i586-oe-linux/busybox-1.18.4-r1.2/image/busybox/
| cp: will not create hard link `/home/pb/oe/build-meta/tmp-eglibc/work/i586-oe-linux/busybox-1.18.4-r1.2/image/busybox/image/bin' to directory `/home/pb/oe/build-meta/tmp-eglibc/work/i586-oe-linux/busybox-1.18.4-r1.2/image/busybox/bin'
| cp: cannot copy a directory, `/home/pb/oe/build-meta/tmp-eglibc/work/i586-oe-linux/busybox-1.18.4-r1.2/image', into itself, `/home/pb/oe/build-meta/tmp-eglibc/work/i586-oe-linux/busybox-1.18.4-r1.2/image/busybox/image'
| ERROR: Function 'do_install' failed (see /home/pb/oe/build-meta/tmp-eglibc/work/i586-oe-linux/busybox-1.18.4-r1.2/temp/log.do_install.3808 for further information)
Xiaofeng Yan [Mon, 30 May 2011 11:27:45 +0000 (19:27 +0800)]
sudo.inc: Add do_install_prepend () to sudo.inc
Fix bug [YOCTO #1092]
Own a directory "/var/lib" before do_install() because if there isn't this directory during installing, \
then script "mkinstalldirs" from "sudo package" will create directory "/var/lib/sudo" by recursion with mode "0700" \
which will cause bug [YOCTO #1092]. So I add do_install_prepend() to create a "/var/lib" which can be accessed \
by common user before installing files.
Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Richard Purdie [Tue, 31 May 2011 22:05:31 +0000 (23:05 +0100)]
allarch.bbclass: A "all" TARGET_ARCH is dangerous as an OVERRIDE
Having a generic word like "all" as an override is dangerous as this is an override
and can cause issues for function names like "sysroot_stage_all". This patch changes
it to "allarch" to help avoid this kind of problem. The field is only used in the
name of directories anyway.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 17 May 2011 23:03:02 +0000 (00:03 +0100)]
Improve handling of 'all' architecture recipes and their interaction with sstate
The existing PACKAGE_ARCH = "all" mechanism of sharing packages is problematic
with sstate since there are a variety of variables which have target specific
values and the sstate package therefore correctly changes signature depending
on the MACHINE setting.
This patch creates a new "allarch" class which sets:
PACKAGE_ARCH = "all"
(as per the existing convention)
INHIBIT_DEFAULT_DEPS = "1"
(since its not target specific and therefore can't depend on the cross
compiler or target libc)
(since these variables shouldn't change between the different packages and
target compiler flags shouldn't be getting used)
PACKAGE_EXTRA_ARCHS = ""
(since we shouldn't be depending on any architecture specific package architectures)
Not all PACKAGE_ARCH = "all" recipes can use this class since some run configure
checks on the compiler. This means they have target specific components and therefore
the "all" classification is incorrect.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Yu Ke [Mon, 30 May 2011 02:10:01 +0000 (10:10 +0800)]
site/powerpc-common: remove the incorrect dlopen default setting
These two setting for dlopen is not correct. dlopen is not available in libc,
instead it is provided by libdl. so the setting should not be "yes" by default.
This fixes [YOCTO #736] [YOCTO #737]
Thanks Richard for pointing out the root cause.
CC: Richard Purdie <richard.purdie@linuxfoundation.org> CC: Philip Balister <philip@balister.org> CC: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Yu Ke <ke.yu@intel.com>
Khem Raj [Sat, 28 May 2011 01:27:47 +0000 (18:27 -0700)]
package.bbclass,prserv.bbclass: Compare USE_PR_SERV with "1" or "0"
Value of USE_PR_SERV is either "1" or "0" looking at
settings in bitbake.conf
USE_PR_SERV = "${@[1,0][(bb.data.getVar('PRSERV_HOST',d,1) is None) or (bb.data.getVar('PRSERV_PORT',d,1) is None)]}"
So we compare the strings
Beth Flanagan [Wed, 25 May 2011 20:58:35 +0000 (13:58 -0700)]
license.bbclass: Sane Parsing of licenses
This is a first pass at sane license parsing, using python
abstract syntax trees.
A few notes on this since ast is not generally used. I massage
the LICENSE field to be more pythonesque and then create an ast.
I then dump the ast and using a LicenseVisitor class, recurse
through the tree, looking for licenses. I then copy and link.
It's cleaner, allows for easier addition of logic and while it
takes slightly more CPU, it's also slightly faster in initial
small scale tests.
It doesn't recognize the '+' or '*' modifiers to the licenses yet
nor does it know what to do with bitors (|), since I'm not even
sure what to do with them.
Beth Flanagan [Wed, 25 May 2011 21:05:02 +0000 (14:05 -0700)]
License Field Cleanup: Non-standard field names
I've cleaned up some odd license fields, fixed some license
names and corrected some incorrect licenses. LICENSE really needs
a pass through by the maintainers as some of the licensing is
incorrect.
Also, every license with Artistic should be gone through and noted as
which version of Artistic.
Beth Flanagan [Wed, 25 May 2011 20:47:52 +0000 (13:47 -0700)]
common-licenses: Adding new licenses and renaming
I'm adding full common licenses to the common license directory.
These licenses are taken from the SPDX project or the OSI license
repository. They conform to the SPDX naming convention and will be
used by the new license.bbclass license parser in order to maintain
some sort of internal standard for license naming.
Going forward, we should have a bigger conversation about the LICENSE
field and standardizing that to conform to this naming standard.
Lianhao Lu [Fri, 27 May 2011 06:31:46 +0000 (14:31 +0800)]
conf/bitbake.conf: Added variables for PR service.
Added following variables for PR service:
USE_PR_SERV: flag of whether to use the network PR service
PRAUTOINX: search index for the network PR service
PKGE/PKGV/PKGR: epoch, version and revision used in package feed.
EXTENDPKGV: full package version string used in package relationships.
For the following recipes, replace EXTENDPV with EXTENDPKGV:
udev, xcb, xorg-proto, util-macros and linux-libc-headers
then removed the unused EXTENDPV and EXTENDPEVER variables
Users should use EXTENDPKGV instead for package feed generation.
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Wed, 25 May 2011 22:56:27 +0000 (15:56 -0700)]
shared-mime-info_0.90.bb: Fix more parallel build issues
While building for beagleboard with -j4 I ended up failures in
generating and checking xml files. This is a backport from upstream that
fixes the issue.
Darren Hart [Wed, 25 May 2011 23:05:17 +0000 (16:05 -0700)]
utils.bbclass: make FILESEXTRAPATHS colon delimited
Fixes [YOCTO 1102]
Path variables are typically : delimited. White space is allowed in paths, so
is not a good choice for separating paths. Currently utils.bbclass performs the
following:
extrapaths = (bb.data.getVar("FILESEXTRAPATHS", d, True) or "").split()
This splits FILESEXTRAPATHS on whitespace. It later splits overrides on : and
reassembles them all together as : delimited.
There is only one user of FILESEXTRAPATHS in oe-core (qt4-tools-native, which
uses : anyway) and none in oe.
Change the split() in utils.bbclass to split on : instead of whitespace. When
splitting on a defined string (":") we must be careful to handle the empty
string case which returns [''] instead of [].
Tested building qt4-tools-native and core-image-minimal for surgarbay from
meta-intel with a couple extra layers with FILESEXTRAPATHS modifications added.
Signed-off-by: Darren Hart <dvhart@linux.intel.com> Cc: Phil Blundell <pb@pbcl.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Darren Hart [Thu, 26 May 2011 03:47:05 +0000 (20:47 -0700)]
u-boot: rename u-boot_git.bb to u-boot_${PV}.bb
In order to facilitate reuse of the oe-core u-boot recipe, there needs to be
some assurance that the oe-core version won't change without a clear indicator
to people extending it.
By renaming the recipe to include its version string instead of "git", BSP
layers can extend a specific base version of u-boot, ie.
u-boot_2011.03.bbappend. When 2011.06 becomes available, we can create that file
without instantly breaking all the BSPs depending on oe-core version of the
recipe.
As a matter of policy I would recommend we not carry more than 2 versioned
u-boot recipess at any given time. This will provide BSP layers time to migrate
to the newer version, without cluttering oe-core with numerous stale versions of
u-boot. We may decide later to resurrect u-boot_git.bb as an AUTOREV recipe to
faciliate upstream development on u-boot in the oe environment.
Signed-off-by: Darren Hart <dvhart@linux.intel.com> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Cc: Koen Kooi <koen@dominion.thruhere.net> Cc: Jason Kridner <jkridner@beagleboard.org>
Darren Hart [Tue, 17 May 2011 21:44:45 +0000 (14:44 -0700)]
u-boot: remove UBOOT_MACHINE and COMPATIBLE_MACHINES
oe-core does not define any machines, so it does not make sense to
add machine specific information in the oe-core u-boot recipe and
infrastructure. Also note that COMPATIBLE_MACHINES is not easily extended due to
its regex syntax: "(machine_a|machine_b)", making it difficult to extend the
u-boot recipe in bbappend files without resorting to machine specific overrides.
Remove COMPATIBLE_MACHINES and the default UBOOT_MACHINE from the recipe and
insert some anonymous python into u-boot.inc to raise SkipPackage if
UBOOT_MACHINE is not set (this ensures 'world' still works for machines that
can't build u-boot).
UBOOT_MACHINE must now be specified in each machine config that requires u-boot.
This is an improvement over requiring machine specific overrides in every BSP
layer's u-boot_git.bbappend file. For example, a beagleboard machine config
currently contains:
So long as the SRC_URI in the base recipe can build a working u-boot for a given
machine, there is no need to create a u-boot_git.bbappend file. If additional
patches are deemed necessary, a BSP layer creates a u-boot_git.bbappend file and
extends the SRC_URI to include general or machine specific backports.
Note: I used bb.note() instead of bb.debug() to ensure the message at least
makes it to the console. From what I could gather, bb.debug() doesn't
go anywhere during recipe parsing.
Signed-off-by: Darren Hart <dvhart@linux.intel.com> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Cc: Koen Kooi <koen@dominion.thruhere.net> Cc: Jason Kridner <jkridner@beagleboard.org> Cc: Chris Larson <clarson@kergoth.com>
dbus: enable x support and put dbus-launch into new package dbus-x11
* Enable x support only add rdepends to dbus-launch. Make it a
seperate package so other packages like dbus does not rdepend on
libx11.
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Wed, 25 May 2011 22:51:57 +0000 (23:51 +0100)]
binutils: Add missing dependency on zlib-native
Without this, compiler errors such as:
configure:33440: i586-poky-linux-gcc -march=i586 --sysroot=/media/build2/builds/rptest/b2/tmp/sysroots/qemux86 -o conftest -D_REENTRANT -Wl,-O1 -Wl,--as-needed conftest.c -lpthread >&5
/media/build2/builds/rptest/b2/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.6.0/as: /media/build2/builds/rptest/b2/tmp/sysroots/x86_64-linux/usr/bin/i586-poky-linux/../../../usr/lib/libz.so.1: no version information available (required by /media/build2/builds/rptest/b2/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.6.0/as)
/media/build2/builds/rptest/b2/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.6.0/ld: /media/build2/builds/rptest/b2/tmp/sysroots/x86_64-linux/usr/bin/i586-poky-linux/../../../usr/lib/libz.so.1: no version information available (required by /media/build2/builds/rptest/b2/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.6.0/ld)
can be see. This is due to the compiler being built against the system
zlib, before zlib-native is built and in the sysroot. Once that has been
built it can confuse the linker depending on the relative library versions.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Martin Jansa [Wed, 25 May 2011 12:40:05 +0000 (14:40 +0200)]
python-2.6.6: py_package_preprocess should change Makefile only in PKGD not D
* PACKAGEFUNCS ?= "perform_packagecopy \
${PACKAGE_PREPROCESS_FUNCS} \
our py_package_preprocess is called after perform_packagecopy which does copy D to PKGD
so we change it to target version in D (image/) before populating sysroot (sysroot-destdir/)
while keeping Makefile.sysroot version in PKGD which was created before calling
py_package_preprocess, so both package for runtime and sysroot end wrong
* I haven't seen this problem on faster builder, I guess because do_package and do_populate_sysroot
can run in paralell and I was lucky that do_populate_sysroot finished before py_package_preprocess
was started, but if you build python step by step -c package first you should see it every time
* here is proof that with PKGD it works better:
$ bitbake -c cleanall python
$ bitbake -c install python
$ grep LIBDIR= \
./packages-split/python-distutils/usr/lib/python2.6/config/Makefile \
./package/usr/lib/python2.6/config/Makefile \
./sysroot-destdir/usr/lib/python2.6/config/Makefile \
./image/usr/lib/python2.6/config/Makefile \
./Python-2.6.6/Makefile \
~/shr-core/tmp/sysroots/om-gta02/usr/lib/python2.6/config/Makefile
grep: ./packages-split/python-distutils/usr/lib/python2.6/config/Makefile: No such file or directory
grep: ./package/usr/lib/python2.6/config/Makefile: No such file or directory
grep: ./sysroot-destdir/usr/lib/python2.6/config/Makefile: No such file or directory
./image/usr/lib/python2.6/config/Makefile:LIBDIR= /OE/shr-core/tmp/sysroots/om-gta02/usr/lib
./Python-2.6.6/Makefile:LIBDIR= /usr/lib
/OE/shr-core/tmp/sysroots/om-gta02/usr/lib/python2.6/config/Makefile:LIBDIR= /OE/shr-core/tmp/sysroots/om-gta02/usr/lib
Saul Wold [Tue, 24 May 2011 06:22:41 +0000 (23:22 -0700)]
image_types: add IMAGE_ROOTFS_EXTRA_SPACE
[YOCTO #886]
This address 2 needs after the IMAGE_ROOTFS_SIZE is cleaned up, by
removing the _ext2/3 overrides it allows for a cleaner override
using IMAGE_ROOTFS_SIZE to create a large rootfs, or by setting the
IMAGE_ROOTFS_EXTRA_SPACE, will allow for extra space allocated in Kilobytes
above the base size (determined by du of the rootfs * IMAGE_OVERHEAD_FACTOR,
default of 1.3).
Saul Wold [Tue, 24 May 2011 06:15:30 +0000 (23:15 -0700)]
IMAGE_ROOTFS_SIZE Cleanup
This basic cleanup removes the _ext2/3 overrides from places they
no longer belong since they did not allow further overrides. In doing
this the core-image-minimal* recipes can now set a reasonably small
rootfs so that it's a realistic size for minimal.
The new default for minimal is 8M and will be adujsted upward by the
IMAGE_OVERHEAD_FACTOR (default of 1.3).
This also fixes the ROOTFS_SIZE usage in the IMAGE_CMD_<fstype> code
eglibc.inc: Transfer PARALLEL_MAKE to PARALLELMFLAGS
* Currently we are passing -jN or -j N flags to eglibc makefiles
however eglibc uses a make variable called PARALLELMFLAGS
to pass information about parallel build to sub-makes
* Currently make install ran without parallelism but now
it should have parallel building flags passed to do_install
correctly which inturn should improve build time of
eglibc on systems using parallel build -j with values > 1
Khem Raj [Tue, 24 May 2011 01:53:59 +0000 (18:53 -0700)]
elfutils_0.148.bb: Fix compilation on uclibc
Currently all components of elfutils dont compile with uclibc
but elfutils is one part which is needed by other recipes e.g.
gcc 4.5 to compile. we make adjustments so that when compiling
for uclibc targets it _only_ builds and packages libelf
use --enable-uclibc only when building for uclibc targets
The supporting patch is also needed for compiling with uclibc
to specify -lintl and -luargp on linker commandline