Age | Commit message (Collapse) | Author | Files |
|
We never want checksum to vary depending on whether we calculate them
in server or worker context, that would make no sense. This was happening
in do_rootfs tasks since they reference the BB_WORKERCONTEXT variable.
Whitelist the variable to avoid this class of problem.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
-fdebug-prefix-map used
Tweak DEBUG_FLAGS to use "/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}"
as source target path in DWARF. While use gdb to debug binary, it could
work with sources in dbg package.
While -fdebug-prefix-map is used for compiling, we do not need invoking
debugedit to edit DWARF at do_package time, but list where sources files
are.
The copydebugsources uses the list to copy sources to dbg package. It
works whether -fdebug-prefix-map used or not.
[YOCTO #9305]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
'qemu-usermode'
The new value is more general and better reflects what having the feature really means.
Introspection data, then, is built only if 'gobject-introspection-data' is in
DISTRO_FEATURES and 'qemu-usermode' is in MACHINE_FEATURES.
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
We don't need these variables incorporated in the config hash (i.e. we
don't need to reparse if they change).
This fixes an issue with the extensible SDK where the cache generated
at installation time not to be used afterwards due to the way we're
allowing through the proxy variables into the install environment (such
that they get set to "" if not set externally).
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
DISTRO/MACHINE_FEATURES_BACKFILL
This means that introspection data will be generated using qemu by default.
If this causes trouble (qemu does not always emulate target architectures
perfectly), then add
MACHINE_FEATURES_BACKFILL_CONSIDERED = "gobject-introspection-data"
to machine configuration or
DISTRO_FEATURES_BACKFILL_CONSIDERED = "gobject-introspection-data"
to distro configuration.
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Changes to the btrfs-tools recipe means we need to add libgcc-native
to ASSUME_PROVIDED.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
It's possible for findutils-native to get built. There's no point in this as
this is part of the expected host platform but this can introduce races or even
bugs (4.5.19 appears to have a leaking fd bug, resulting in asserts) so add it
to ASSUME_PROVIDED so it definitely won't get built.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
in sdk,there are some utils in sysroot/host-os/bin, sysroot/host-os/sbin/,sysroot/host-os/usr/bin need to use, so add these three paths to PATH in env.sh.
Signed-off-by: Jun Zhang <jun.zhang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
In debugging information, it uses target paths rather than
build ones as compile dir.
...
-fdebug-prefix-map=old=new
When compiling files in directory old, record debugging
information describing them as in new instead.
...
Compile without this fix:
objdump -g git/test.o
...
The Directory Table (offset 0x1b):
| 1 /buildarea/raid0/hjia/build-20160119-yocto-buildpath/tmp/sysroots/x86_64-linux/usr/lib/
i686-pokymllib32-linux.lib32-gcc-cross-initial-i686/gcc/i686-pokymllib32-linux/5.3.0/include
| 2 /buildarea/raid0/hjia/build-20160119-yocto-buildpath/tmp/sysroots/lib32-qemux86-64/usr/include/bits
| 3 /buildarea/raid0/hjia/build-20160119-yocto-buildpath/tmp/sysroots/lib32-qemux86-64/usr/include
...
Compile with this fix:
objdump -g git/test.o
...
The Directory Table (offset 0x1b):
| 1 /usr/lib/i686-pokymllib32-linux.lib32-gcc-cross-initial-i686/gcc/i686-pokymllib32-linux/
5.3.0/include
| 2 /usr/include/bits
| 3 /usr/include
...
[YOCTO #7058]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Setting EXTRA_OEMAKE to "-e MAKEFLAGS=" by default is a historical
accident and many classes (e.g. autotools.bbclass, module.bbclass) and
recipes have to override this default in order to work with sensible
build systems.
Now that openssl and pciutils have been fixed to set EXTRA_OEMAKE
explicitly it is possible to set EXTRA_OEMAKE = "".
Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This variable hasn't been used for a *long* time, remove it from bitbake.conf.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
If SRCPV is set, it can be expanded when SRC_URI doesn't support it
leading to errors. Avoid doing this by setting it only when it makes
sense.
This patch depends on the bitbake python expansion patch series.
[YCOTO #7772]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Setting PKG_CONFIG_SYSTEM_{HEADERS/INCLUDE}_PATH for nativesdk isn't
enough, we also need to deal with multlib cases where libdir from
pkg-config-native isn't correct. Native builds are about the only
case where this variable shouldn't be set.
Therefore move the code from nativesdk to bitbake.conf and unexport it
in the native case.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
For clarity and consistency, add a dependency on wget-native for any URIs that
will be fetched using the wget fetcher, and add wget-native to ASSUME_PROVIDED.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Exporting PATCH_GET = "0" has been redundant since patch 2.6.0 was
released in 2009:
http://git.savannah.gnu.org/cgit/patch.git/commit/?id=b008dece18e6b94b8a13ea44a253855bf407ed01
Host distros which shipped with patch 2.5.x (e.g. Centos 5) are no
longer supported, so this export can be retired from bitbake.conf.
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Usually, the initramfs' maxsize can be 1/2 of ram size since modern
kernel uses tmpfs as initramfs by dafault, and tmpfs allocates 1/2 of
ram by default at boot time, which will be used to locate the initramfs.
Set INITRAMFS_MAXSIZE to 131072K (128M) by default (ram 256M), the
initramfs is small usually, for example, core-image-minimal-initramfs is
about 21M (uncompressed, 17M * 1.3) by default, but if the user add a
lot pkgs to initramfs, we can error and stop to let the user know ealier
rather than fail to boot (e.g., OOM-killer) at boot time.
Please see the bug for more info:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=5963
[YOCTO #5963]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
The use of $libdir/$BPN as libexecdir is contrary to all other mainstream
distributions (which either use $prefix/libexec or $libdir), and the GNU Coding
Standards[1] which suggests $prefix/libexec and notes that any package-specific
nesting should be done by the package itself. Finally, having libexecdir change
between recipes makes it very difficult for different recipes to invoke binaries
that have been installed into libexecdir. The File System Hierarchy[2] now
recognises the use of $prefix/libexec/, giving distributions the choice of
$prefix/lib or $prefix/libexec without breaking FHS.
Change bitbake.conf to use $prefix/libexec for libexecdir, so that the binaries
are separated from the libraries. This should avoid complications with multilib
configurations.
[1] https://www.gnu.org/prep/standards/html_node/Directory-Variables.html
[2] http://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s07.html
[ YOCTO #6398 ]
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
We used to need these hacks to make things work. Rework the variables to
remove the horrible hacks and make things slightly less ugly. This does
mean PE and PRAUTO are given default empty values but this is preferred
to the other ugliness.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The code in native.bbclass adds -native suffix to the package
names that don't have it.
Renamed python-native-runtime -> hostpython-runtime-native to avoid
mangling it and to conform with the naming convetion for native
packages.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The code in native.bbclass adds -native suffix to the package
names that don't have it. perl-native-runtime becomes
perl-native-runtime-native because of this.
Renamed perl-native-runtime -> hostperl-runtime-native to avoid
mangling it and to conform with the naming convetion for native
packages.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Remove 'stamp-base' from this file as this flag is no longer used.
[YOCTO #8468]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
It's possible for a native recipe to have virtual/libiconv-native as a build
dependency, but as we expect that the host provides that add it to
ASSUME_PROVIDED.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This is mainly a performance optimisation. Since we added these flags
to functions, the system spends a lot of time trying to expand these
flags. The values don't really influence checksums and don't need to
be included since if the function content changes, that is will be
detected regardless and is the key detail we care about.
Therefore exclude these from the checksums and gain a signficiant
chunk of parsing speed back.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
With the autodebug package generation logic, specifically setting FILES_${PN}-dbg
isn't needed in most cases, we can remove them.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
archive.apache.org does not contain current releases, only historical ones,
so upstream checks aren't accurate. It's replaced with official mirrors
containing current versions.
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Various key parts of the core classes (for example, do_package and
do_populate_sysroot) currently require file. As it's not possible to build a
file-native without invoking do_populate_sysroot mark file-native as
ASSUME_PROVIDED and expect to use the host's binary.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
This was making deploy tasks MACHINE specific since they place output
into DEPLOY_DIR_IMAGE which contains MACHINE. On the plus side, this
was accidentally ensuring the output was placed for each machine,
on the downside it was triggering a rebuild every time for the different
checksum.
There is a better way to handle this which avoids the rebuild, see
the following tweak to do_deploy to mark it as MACHINE specific
in a different way.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
From Ross:
The http://www.apache.org/dist only keeps latest release, so use
http://archive.apache.org/dist, which keeps all the archives.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Changes to what mirror we happen to fetch from shouldn't cause rebuilds.
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Automatically spawning a devshell, rather than doing so on demand, is
questionable default behavior, and is potentially problematic in headless
builds. Further, there are problems with the patch resolver today. Default to
noop, and the user can always opt-in to use of the patch resolver by setting
PATCHRESOLVE to user.
(From OE-Core rev: 7964936dd1fb202373e58048c19a91d4b27cdfd6)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
If our libc doesn't support locales, we don't need gettext nls bits enabled.
(From OE-Core rev: f1bc8afa6ee584a81fb65bcf77e5ae1a8889f47c)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The user's shell shouldn't be allowed to affect the build (and it can break
the flock command and possibly more, if the user's shell isn't POSIX
compliant).
(From OE-Core rev: fc5e1cfcc3ab7acfb6e7e12cb2cf7fa4699ae7b3)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
When using OE-Core only we miss this define and its now used in recipes
like os-release, which goes undefined and when booting we see messages
like
Welcome to ${DISTRO_NAME} nodistro.0!
This would change to
Welcome to OpenEmbedded nodistro.0!
Remove all trailing whitespaces while touching this file
(From OE-Core rev: cf2383a63975ac7a51729a313fe0a52b559d2c61)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Pau Espin Pedrol <pau.espin@aweurope.be>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
OLDEST_KERNEL is invalid for aarch64, it didn't exist
back in our current version. Use a more recent version
for aarch64 to allow user mode qemu to work correctly.
Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
|
|
As Chris Larson points out in the bug, "BUILD_ARCH changing doesn't change
native/cross sstate checksums, because its calculated in ${@}, so just its
unexpanded form is in the signature. But BUILD_ARCH ends up included in the
sstate filenames, so changes to BUILD_ARCH will result in rebuilds of
native/cross but not rebuilds of the target recipes which depend on
them, which is just what we want."
However it does mean we can't easily test 32 and 64 bit signatures. In order
to make the tests work, we need to add BUILD_ARCH to the HASHBASE whitelist.
BUILD_ARCH is used in the workdir paths and so on so changing it does still
rebuild when we need it to.
With improvements to function dependency tracking, a dependency on SSTATE_PKGARCH
was also introduced causing problems for 32/64 bit build signature equivalence.
Since this is reflected in the sstate filenames, we can safely whitelist this too.
[YOCTO #5970]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Rather than just use d.getVar(X), use the more explict d.getVar(X, False)
since at some point in the future, having the default of expansion would
be nice. This is the first step towards that.
This patch was mostly made using the command:
sed -e 's:\(getVar([^,()]*\)\s*):\1, False):g' -i `grep -ril getVar *`
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Use immediate expansion for BUILD_ARCH and BUILD_OS since there is no
point in repeatedly calling os.uname() throughout parsing. This is
worth around 2% of parsing time, small but measurable.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Instead of hard-coding the set of features that can be considered in
COMBINED_FEATURES, simply generate the intersection of DISTRO_FEATURES and
MACHINE_FEATURES.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
PRINC is no longer needed since we have the PR service instead
which people should be using. Drop the PRINC code.
This has been deprecated with a warning and then an error for quite some
time so we can remove it now.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
If bluez4 is not explicitly passed as a
distro feature, bluez5 should be used as
the default, so backfill it.
Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
There is no reason to build sed for the host, however now:
ERROR: Nothing RPROVIDES 'sed-native' (but virtual:native:/OE/sources/openembedded-core/meta/recipes-extended/groff/groff_1.22.2.bb RDEPENDS on or otherwise requires it)
Signed-off-by: Dmitry Eremin-Solenikov <dmitry_eremin@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The past few weeks ftp://ftp.gnu.org has been intermittently giving errors like this:
WARNING: Failed to fetch URL ftp://ftp.gnu.org/gnu/emacs/emacs-23.4.tar.gz;name=tarball, attempting MIRRORS if available
ERROR: Fetcher failure: Fetch command failed with exit code 4, output:
Cannot parse PASV response.
accept: Connection timed out
Cannot parse PASV response.
Error in server response, closing control connection.
Which is annoying because binutils lives there. Using http://ftp.gnu.org hasn't given any problems so far.
Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Add BBLAYERS_LAYERINDEX_URL variable that bitbake-layers can use to find layer index.
Add BBLAYERS_FETCH_DIR variable that bitbake-layers can use to specify fetch directory.
[YOCTO #5348]
Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
It turns out that changing WARN_QA and ERROR_QA results in do_configure's QA
postfunc re-executing, so changing a QA test results in a complete rebuild.
This is just too much and the lesser evil of needing to do a full rebuild to
verify changed QA flags is preferable to an enforced full rebuild.
This reverts commit daecfc3438122b5d146a59a5053e57006d55ccc4.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Changing WARN_QA and ERROR_QA should cause do_package_qa to re-execute, so
removing them from the sstate hashes is harmful.
They were added back when sanity testing was part of packaging and this was the
lesser evil, compared to changing sanity tests causing a re-package of
everything.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
In meta/conf/bitbake.conf, PKGDATA_DIR is default to:
PKGDATA_DIR = "${STAGING_DIR_HOST}/pkgdata"
But in meta/conf/multilib.conf, PKGDATA_DIR is set as:
PKGDATA_DIR = "${STAGING_DIR}/${MACHINE}/pkgdata"
When multilib enabled, linux-libc-headers cache will be machine
specific:
$ bitbake-diffsigs sstate-cache/1a/sstate:linux-libc-headers:ppce6500-poky-linux:3.17.7:r0:ppce6500:3:1a0c3934d91479fd7242a5b1d407d155_package.tgz.siginfo sstate-cache/28/sstate:linux-libc-headers:ppce6500-poky-linux:3.17.7:r0:ppce6500:3:28c918e8f9f4a4cfceb3a38b258f7501_package.tgz.siginfo
basehash changed from 8d3158bbddcee612fa30badd05f47b8e to 68ac258fc6c8e489f360fde3123a5894
Variable MACHINE value changed from 'b4420qds' to 'b4860qds'
Signed-off-by: Ting Liu <ting.liu@freescale.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
[YOCTO #7230]
In certain system configurations TRANSLATED_TARGET_ARCH will not
expand in the right order for gcc-cross-candian-mips64n32 to be
generated properly.
This will cause SDKs to fail to generate properly.
Changing the global definition of TRANSLATED_TARGET_ARCH always
expands the ABIEXTENSION, which causes the OVERRIDES to pick it up
as well. This effectively defines a new class of overrides for the 'n32'.
The side effect is that we need to duplicate some mips64 overrides, and
redefine others that were previously 'n32' or 'mips64' exclusive to have
the correct semantics.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
commit 3b3f7e785e279 [kernel: Rearrange for 1.8] began the process of
moving the kernel source and build artefacts out of sstate control and
into a shared location.
This changed triggered some workflow issues, as well as bugs related
to the kernel source containing build output, and hence being dirty and
breaking kernel rebuilds.
To solve these issues, and to make it clear that the kernel is not under
sstate control, we move the source and build outputs to:
work-shared/MACHINE/kernel-source
work-shared/MACHINE/kernel-build-artifacts
Where kernel-build-artifacts is the kernel build output and
kernel-source is kept "pristine". The build-artifacts contain everything
that is required to build external modules against the kernel source,
and includes the defconfig, the kernel-abiversion, System.map files and
output from "make scripts".
External module builds should either pass O= on the command line, or
set KBUILD_OUTPUT to point to the build-artifacts. module-base.bbclass
takes care of setting KBUILD_OUTPUT, so most existing external module
recipes are transparently adapted to the new source/build layout.
recipes that depend on the kernel source must have a depedency on the
do_shared_workdir task:
do_configure[depends] += "virtual/kernel:do_shared_workdir"
With this dependency added, the STAGING_KERNEL_DIR will be populated and
available to the rest of the build.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
As the code that uses BB_SIGNATURE_EXCLUDE_FLAGS uses d.getVarFlags() so doesn't
get to see the internal flags, remove _append and _prepend. Also defaultval is
now _defaultval and thus internal, so remove that too.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|