Paul Eggleton [Fri, 22 Jan 2016 11:59:54 +0000 (00:59 +1300)]
classes/populate_sdk*: add dependencies on script files
If the script files we use to construct the SDK installer change then
that really ought to trigger re-execution of the do_populate_sdk(_ext)
task, so add file-checksums varflags to ensure that happens.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Fri, 22 Jan 2016 11:59:53 +0000 (00:59 +1300)]
classes/populate_sdk_ext: drop ext-sdk-prepare.py when installing
At the end of the extensible SDK installation, if we've successfully
prepared the build system then we don't need ext-sdk-prepare.py. I had
thought earlier that this would be used when updating, but a different
mechanism was needed there so this script isn't used for that.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Fri, 22 Jan 2016 11:59:52 +0000 (00:59 +1300)]
devtool: add sdk-install subcommand
Add the ability to install additional pre-built items (from shared
state) into the extensible SDK. This can already be done implicitly by
adding something to DEPENDS within a recipe you're working on and then
running "devtool build", but it's useful to be able to explicitly
install things particularly if you're using the extensible SDK as a
traditional toolchain.
Note that for this command to be useful you need to have SSTATE_MIRRORS
set in your SDK configuration, and that mirror needs to be populated
with sstate artifacts for recipes you wish to be able to install.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Fri, 22 Jan 2016 11:59:51 +0000 (00:59 +1300)]
devtool: sdk-update: improve SDK update process robustness
Make the following improvements to the SDK update process:
* Use a manifest file with sha256sums to track files other than sstate
and metadata that we need to update - e.g. conf files. This allows us
to handle where files such as auto.conf may or may not be present,
as well as the configuration changing without affecting task signatures
- we still want the config files copied in that case rather than it
saying nothing needs to be done.
* Write the SSTATE_MIRRORS_append to site.conf rather than local.conf
so that local.conf remains static (since we don't want to trigger an
update every time). Also, If there is an SSTATE_MIRRORS value already
set in the configuration we can skip this and assume it contains the
needed packages.
* Allow the update process to be run in any directory, don't assume
we're already at the base of the SDK
* Where practical, fetch remote files into a temporary location and
then move them to the desired location at the end, to avoid a
failed update leaving the SDK in a broken state.
* Update all installed do_populate_sysroot / do_packagedata tasks
instead of using the SDK targets. This ensures any item installed
through dependencies after installation (e.g. when running
"devtool build") won't go stale.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Use tempfile.mkdtemp() instead of hardcoding temp dir
* Set a variable early for the temp locked sigs file and use that
everywhere
* Delete the temp dir at the end
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Fri, 22 Jan 2016 11:59:49 +0000 (00:59 +1300)]
devtool: build: ensure pkgdata is written out
When you run devtool build, you need to have the pkgdata written out at
the end, so that if what you're adding is a library and the next thing
you add is something that depends on that library, the necessary
information to map the dependency back to the recipe is present. In
practical terms all this means is we need do_packagedata to run in
addition to do_populate_sysroot.
This does mean that do_package needs to run which wasn't running before,
and that means that the few package QA tests that run within do_package
such as installed-vs-shipped will now be run. This may be a bit
bothersome, and prompted a fix for one of our oe-selftest tests as a
result, but I don't see an easy way around it. Ultimately if you care
about using the recipe in an image you'll need to fix any such errors
anyway.
Fixes [YOCTO #8887].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Fri, 22 Jan 2016 11:59:48 +0000 (00:59 +1300)]
classes/populate_sdk_ext: add option to bring in pkgdata for world
Add a variable SDK_INCLUDE_PKGDATA which you can set to "1" to include
pkgdata for all recipes in the world target. There are a couple of uses
for this:
1) If you use "devtool add" to add a recipe that builds something which
depends on anything in world, the dependency can then be correctly
mapped to the recipe providing it and that recipe can be added to
DEPENDS, since we have the pkg-config and shared library dependency
data within pkgdata.
2) You'll be able to search for these recipes and any files they
package for the target with "devtool search" since that also uses
pkgdata
This of course assumes you've tailored world through EXCLUDE_FROM_WORLD
to only include recipes you'd want built in your distro, but I think
that's a reasonable assumption; failing that there is a
WORLD_PKGDATA_EXCLUDE variable that you can set to exclude any recipes
you don't want.
Note that this patch relies on functionality implemented in a recent
BitBake patch and will not work without it.
Implements [YOCTO #8600].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Fri, 15 Jan 2016 18:38:52 +0000 (18:38 +0000)]
syslinux: Set LD to avoid using build host ld
base ld is used during link phase and since its x86 so it
works mostly, however it can cause problems depending upon
build host. During cross build we should use cross linker
Fixes errors e.g.
Khem Raj [Wed, 13 Jan 2016 19:40:52 +0000 (19:40 +0000)]
gpgme: Define __error_t_defined on musl
Configure looks for error_t in errno.h and musl does not define error_t
if its not defined then configure emits a definition to be used, now we
also use standalone argp implementation from glibc on musl based systems
which defines this in argp.h as well so now we have it defined twice
and errors like
|
/a/builder/mnt/build-oe/tmp-musl/sysroots/raspberrypi2/usr/include/argp.h:40:13:
error: cannot combine with previous 'int' declaration specifier
| typedef int error_t;
| ^
| ../config.h:257:17: note: expanded from macro 'error_t'
| #define error_t int
| ^
| 1 error generated.
are seen. argp.h definition is conditional on __error_t_defined which is
true here so lets define it on musl
Khem Raj [Sun, 10 Jan 2016 21:00:02 +0000 (21:00 +0000)]
musl: Create ld.so as a relative symlink
We have rootfs intercepts which fail on musl because ld.so on musl is an
absolute symlink to /usr/lib/libc.so and then it fails to load when run
with qemu user mode.
Fixes rootfs failures like
WARNING: The postinstall intercept hook 'update_pixbuf_cache' failed
(exit code: 255)! See log for details!
WARNING: The postinstalls for the following packages will be postponed
for first boot: libgdk-pixbuf-2.0-loader-jpeg li
bgdk-pixbuf-2.0-loader-png libgdk-pixbuf-2.0-loader-gif
libgdk-pixbuf-2.0-loader-xpm
WARNING: [log_check] core-image-sato: found a warning message in the
logfile (keyword 'WARNING:'):
[log_check] WARNING: The postinstall intercept hook
'update_pixbuf_cache' failed (exit code: 255)! See log for details!
WARNING: [log_check] core-image-sato: found a warning message in the
logfile (keyword 'WARNING:'):
[log_check] WARNING: The postinstalls for the following packages will be
postponed for first boot: libgdk-pixbuf-2.0-lo
ader-jpeg libgdk-pixbuf-2.0-loader-png libgdk-pixbuf-2.0-loader-gif
libgdk-pixbuf-2.0-loader-xpm
Khem Raj [Sun, 10 Jan 2016 19:15:20 +0000 (11:15 -0800)]
fts: Fix linker hash-style option
pass --hash-style explicitly to linker
and ensure that mips does not use gnu hash style
This inoculates fts when compiler does not pass
hash style option e.g. clang
Khem Raj [Sun, 10 Jan 2016 02:40:09 +0000 (18:40 -0800)]
pcmciautils: Fix parallel build and include sys/types.h
parallel build patch was removing dependencies on .c files mistakenly
just adding src/yacc_config.h to dependencies in existing rule should
have fixed the original build race
include sys/types.h in lex_config.l for getting u_long definition
Khem Raj [Wed, 6 Jan 2016 22:18:00 +0000 (14:18 -0800)]
iputils: Use member based initialization for mrghdr struct
Fix build with musl
uclibc and glibc dont agree on structure of the struct, musl rightly
adds padding elements, so when doing anonymous initialization struct
elements gets wrongly mapped on 64bit arches
backtrace is glibc only feature on linux so check for glibc before using
it
Clangs clear_cache has different signature than gcc provided builtin
make it compatible for both
Khem Raj [Wed, 30 Dec 2015 23:31:32 +0000 (23:31 +0000)]
dpkg: Add musleabi to known architectures
Remove a glibc specific patch to be applied only for native version,
this is a dpkg-native specific patch needed for Centos 5.8, this patch
should be redone to be glibc independent for it to be applied to all
types of dpkg recipes
Khem Raj [Tue, 29 Dec 2015 23:49:24 +0000 (23:49 +0000)]
gzip: Fix build with musl
gzip 1.6 uses an older version of gnulib when cross compiling it treats
fseeko as broken since it cant do runtime checks for it during configure
this only shows up on musl since for glibc since it has special check
for gnu c library, so we aid the system by telling it that fflush on
stdin works well with musl
Use NO_ASM to avoid textrels
Delete charset.alias for musl which is again another issue in gnulib not
knowing musl platform
Khem Raj [Tue, 15 Dec 2015 21:24:16 +0000 (21:24 +0000)]
fts: Add recipe
fts is not implemented in musl but many packages depend on it
glibc implements it even though posix does not requir it to do so.
So provide an alternative provider for fts
Andre McCurdy [Tue, 19 Jan 2016 18:33:10 +0000 (10:33 -0800)]
gstreamer1.0-libav: update git recipe to 1.7.1
Move the ARM_INSTRUCTION_SET over-rides for armv4/armv5 out of the
1.6.3 recipe and into the common include, so that they also apply to
the git recipe.
The autogen.sh script takes care of cd'ing to the correct directory
before it does anything, so we don't need to cd on its behalf any more
in do_configure_prepend().
Andre McCurdy [Tue, 19 Jan 2016 18:33:11 +0000 (10:33 -0800)]
gstreamer1.0-plugins-ugly: update git recipe to 1.7.1
The autogen.sh script takes care of cd'ing to the correct directory
before it does anything, so we don't need to cd on its behalf any more
in do_configure_prepend().
Switch AES decryption for the HLS plugin from nettle to openssl.
The autogen.sh script takes care of cd'ing to the correct directory
before it does anything, so we don't need to cd on its behalf any more
in do_configure_prepend().
Andre McCurdy [Tue, 19 Jan 2016 18:33:11 +0000 (10:33 -0800)]
gstreamer1.0-plugins-good: update git recipe to 1.7.1
The autogen.sh script takes care of cd'ing to the correct directory
before it does anything, so we don't need to cd on its behalf any more
in do_configure_prepend().
Andre McCurdy [Tue, 19 Jan 2016 18:33:11 +0000 (10:33 -0800)]
gstreamer1.0-plugins-base: update git recipe to 1.7.1
The autogen.sh script takes care of cd'ing to the correct directory
before it does anything, so we don't need to cd on its behalf any more
in do_configure_prepend().
Andre McCurdy [Tue, 19 Jan 2016 18:33:11 +0000 (10:33 -0800)]
gstreamer1.0: update git recipe to 1.7.1
The autogen.sh script takes care of cd'ing to the correct directory
before it does anything, so we don't need to cd on its behalf any more
in do_configure_prepend().
Andre McCurdy [Tue, 19 Jan 2016 03:53:28 +0000 (19:53 -0800)]
gstreamer1.0-plugins.inc: don't set base SRC_URI via python
Setting the SRC_URI via python for the four gstreamer1.0-plugins-XXX
packages adds complexity and breaks consistency with the other
plugins packages and with gstreamer itself (which all also fetch from
freedesktop.org URLs but set SRC_URI conventionally).
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Andre McCurdy [Tue, 19 Jan 2016 03:12:33 +0000 (19:12 -0800)]
gstreamer1.0-plugins.inc: convert GSTREAMER_1_0_DEBUG to a PACKAGECONFIG
gstreamer1.0.inc has been updated to contol debug via a PACKAGECONFIG
option, so apply the same change to gstreamer1.0-plugins.inc as well.
Control valgrind support via a PACKAGECONFIG option too.