Age | Commit message (Collapse) | Author | Files |
|
Move ${PN}-ptest to start of PACKAGES to ensure all ptest files are
packaged in the -ptest package.
Add QA exclusions to insane.bbclass to ensure -ptest packages can contain
any files they need.
Disable ptest for native packages.
Don't emit errors on missing _ptest functions.
Signed-off-by: Björn Stenberg <bjst@enea.com>
Signed-off-by: Anders Roxell <anders.roxell@enea.com>
Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Currently, do_rootfs has a dependency on all the do_package output being present
due to its usage of the pkgdata directories. This means that if you run:
bitbake xxxx-image -c rootfs
you end up having to fetch and unpack all the do_package data which is usually
large and inefficient. It also means rm_work has to leave all the do_package
data lying around so rootfs works.
This patch splits the actual creation of the pkgdata directory off into a separate
task, "packagedata" which happens immediately after do_package. We can then remap
the dependencies so this task is depended upon, not do_package. Sstate can then be
programmed not to require do_package at the appropriate times.
Whilst this patch doesn't do so, it opens the possibility of rm_work wiping
out the do_package output from WORKDIR as long as it also removed the do_package
stamp (both normal and setscene variants) and allowing more space savings
with rm_work which has been regularly requested.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This was needed when do_package for target recipes was target specific
however since it now isn't we can remove these stale references.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
If sstate-inputdirs and sstate-outputdirs don't match with ending '/'
characters, the manifest file can end up corrupted. This change
ensures the metadata is consistent in ending do_populate_root tasks
with this character to avoid manifest file corruption.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The overrides virtclass-native and virtclass-nativesdk are deprecated,
which should be replaced by class-native and class-nativesdk.
[YOCTO #3297]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
non-machine specific
Currently, do_package is machine specific since the shlibs data is installed
into each machine specific sysroot. This change moves the shlibs data to the
pkgdata structure, at the expense of having to iterate over a set of shlibs
directories instead of a single one.
It turns out this isn't any particular hardship for the code and as a result,
do_package stops being machine specific leading to optimisations for builds
that use a common PACKAGE_ARCH.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This was needed since it was after the sysroots and thus in some cases
the native sysroot chown was being found and used instead of the script
provided by native-intercept/chown. This was noticed by the non-gplv3
build since it's coreutils depends on coreutils-native.
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
We have currently no override to detect a recipe being build cross, crosssdk
or for target at times we can use virtclass-native and virtclass-nativesdk to
override stuff in recipes but we dont have way to modify a variables
based on recipe type always.
This patch adds in such an override and in particular makes a target override
class available.
With this change now we can say:
EXTRA_OECONF_class-target = "...."
EXTRA_OECONF_class-native = "..."
EXTRA_OECONF_class-nativesdk = "..."
EXTRA_OECONF_class-crosssdk= "..."
Based of an original patch by Khem Raj
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Due to the system providing a copy of gzip, we face some issues when we
'shadow' that copy with our own leading to a varient of race type bugs,
and issues for example if a dependency such as libz is missing but the
binary is still present. We usually rely on our dependency logic to protect
us from this but for gzip, we don't have this protection since its not listed
by all its users (and doing so would be impractical).
This patch installed pigz and gzip into their own directory which we only
add to PATH when we explictly want these binaries in much the same way we do
with perl-native. This means dependency logic is correct when we use the binary
and everything should work well.
The patch adds an explict dependency into image.bbclass since the accelerated
speed of compression is most appreciated at rootfs time.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The native pkg doesn't need the TOOLCHAIN_OPTIONS, but it maybe used by
native pkgs, for example, the cmake.bbclass uses TOOLCHAIN_OPTIONS:
OECMAKE_C_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CPPFLAGS}"
and TOOLCHAIN_OPTIONS is:
TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_TARGET}"
If a native pkg inherits cmake.bbclass, then:
TOOLCHAIN_OPTIONS = " --sysroot="
and OECMAKE_C_FLAGS would be:
${HOST_CC_ARCH} --sysroot= ${CPPFLAGS}
This would cause unexpected errors, I think that we can make
TOOLCHAIN_OPTIONS empty in native.bbclass since native pkg doesn't need
it.
[YOCTO #2124]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
|
|
When looking for RDEPENDS to process, bitbake iterates through PACKAGES
*and* PN. Since native.bbclass sets PACKAGES to be empty, its pointless
remapping the list of PACKAGES since this does nothing. There is a problem
since *_${PN} are used by bitbake but not remapped by the native.bbclass
class extension code.
This changes the code to remap _${PN} in both expanded and unexpanded
forms. As a result of this, various surprising dependencies are uncovered
and the patch rectifies those. These are real bugs since they're injecting
unneeded (unremapped) dependencies into the dependency chain.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Based on suggestions from RP
libc-uclibc and libc-glibc overrides are for denoting
system C library in use on the target and not for the
host therefore we make sure that the override only takes
effect for target recipes only.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Complete the bb.data.getVar/setVar replacements with accesses
directly to the data store object.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This is the result of running the following over the metadata:
sed \
-e 's:bb.data.\(setVar([^,()]*,[^,()]*\), *\([^ )]*\) *):\2.\1):g' \
-e 's:bb.data.\(setVarFlag([^,()]*,[^,()]*,[^,()]*\), *\([^) ]*\) *):\2.\1):g' \
-e 's:bb.data.\(getVar([^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \
-e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \
-e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^() ]*\) *):\2.\1):g' \
-e 's:bb.data.\(getVar([^,()]*\), *\([^) ]*\) *):\2.\1):g' \
-i `grep -ril bb.data *`
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Changes to baselib by specific machine configuration were resulting
in sstate cache invalidation, particularly in multilib configurations.
This patch ensures this doesn't happen and native sstate cache files
are reusable.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
libtool obtains the search path from /etc/ld.so.conf and hardcodes /usr/lib
and /lib. This results in host contamination and variable sets of RPATH
values ending up in binaries.
By exporting the correct values for all autotools recipes we avoid this.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This is comming from x32 need to pass special parameters to ld & as.
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
|
|
This patch removes the variables BASE_PACKAGE_ARCH, BASEPKG_HOST_SYS,
BASEPKG_TARGET_SYS and also removes the immediate assignments in
several core classes as these are no longer required.
This should make it clearer what some of the core variables do and
simplfy some overly complex and confusing class code.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
currently, the libdir in native.bbclass is inherited from target libdir
defined in bitbake.conf. This is not correct in concept, instead, it
should be inherited from libdir_native. Current code works because both
the target libdir and libdir_native are the same value "/usr/lib".
But if libdir changes (e.g. to /usr/lib64), then build will break.
This patch make libdir generated from libdir_native to fix this issue.
Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
During native recipe processing we want to intercept any calls to chown
and do nothing. This prevents errors and allows the same recipes to be
used for both native and target recipes.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
|
|
handling updates
This massively cleans up the dependency handling in the two classes
when interacting with BBCLASSEXTEND.
This change has a dependency on the bitbake override handling change
and also the existence of the RecipePreFinalise event.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Sync with OE at 3b7d83362027fde4f6850533ab83277d95dda961 however
without changing the way of generating the toolchain file and making
it branding agnostic.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
|
|
When building one of the native, nativesdk or crosssdk packages TARGET_*
variables' values are no longer related to the target we set via MACHINE
variable, they are now related to the BUILD (native) or SDK (nativesdk,
crosssdk) targets instead. We need to change TARGET_FPU variable
accordingly or some of the recipes (the ones that check for TARGET_FPU
value, most notably gcc and eglibc) might be confused.
It's probably cleaner not to reset TARGET_FPU but to change it to
something like ${BUILD_FPU} (for native) or ${SDK_FPU} (for crosssdk and
nativesdk) but as long as BUILD and SDK are x86 it's safe to just reset
TARGET_FPU.
Signed-off-by: Ilya Yanok <yanok@emcraft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Without this, as a specific example, one has both gtk+-native and gtk+ runtime
providing gdk-pixbuf-loader-*, and you can get bitbake preference conflicts as
a result if you have preferences specified for both gtk+ and gtk+-native for
other things.
Signed-off-by: Chris Larson <chris_larson@mentor.com>
|
|
This commit changes the sysroots path to be machine specific.
Changes includes:
1) STAGING_DIR_TARGET and STRAGING_DIR_HOST points to machine specific
paths.
2) task stamp files. Adding ${MACHINE} info into stamp files for
do_populate_sysroots and do_package tasks. Add a BB_STAMPTASK_BLACKLIST
to keep native, nativesdk, crosssdk, and cross-canadian stamp unchanged.
3) siteconfig path. Separate the site config path for different machines
to avoid one machine adopting the cache file of another machine.
4) sstate. Add machine name to sstate manifest file.
Change relocation code for sstate paths since sysroot is machine.
Keep native, nativesdk, crosssdk, and cross-canadian unchanged.
5) toolchain scripts. Change the environment path to point to machine
specific sysroots in toolchain scripts bbclass.
6) Relocate la files when populating to a different machine of the same
architecture.
7) Exclude STAGING_DIR_TARGET and STAGING_DIR_HOST parameter from sstate
siginfo since they contain ${MACHINE} information.
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
|
|
Original we used absolute path in sysroot-destdir for both native and
target recipes. This commit changes target recipes to use relative path
which is same as the image directory.
[sgw: merged with libtool sysroot work]
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
any work
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
|
|
target and native dependency trees
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
|
|
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
|
|
warning
into a fatal error if any legacy do_stage functions are found.
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
|
|
The relocatable path will pre-process built binaries in SYSROOT_DESTDIR and
replace any harcoded dynamic link rpaths with relative paths.
Add an inherit of class in native.bbclass to make our native packages
relocatable and tweak the chrpath recipe so that the native package can make
itself relocatable with the just built chrpath binary.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
|
|
and native packages
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
|
|
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
|
|
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
|
|
and nativesdk BBCLASSEXTEND. Ugly but no simpler/neater way seems possible
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
|
|
upon substitutions
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
|
|
native packages
Also let do_install run for packages that run autotools_stage_all directly
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
|
|
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
|
|
Remove layout_* variables and replace them with variables specific to the
different classes. The layout variables were only useful for the native/cross
classes and caused more confusion than they solved. They didn't scale to the
sdk class. It now clear a small set of native/cross variables fulfil the needs.
This patch also changes native.bbclass to use "/" as the STAGING_DIR which makes
sense since we're installing binaries into the locations we're compiling them for.
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
|
|
a do_stage_native() wrapper which packaged-staging can detect
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
|
|
function correctly
|
|
|
|
|
|
|
|
number of xorg sdk and native packages replacing with BBCLASSEXTEND
|
|
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4917 311d38ba-8fff-0310-9ca6-ca027cbcb966
|
|
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4916 311d38ba-8fff-0310-9ca6-ca027cbcb966
|
|
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4096 311d38ba-8fff-0310-9ca6-ca027cbcb966
|
|
oe_runmake install for staging autotooled native packages (from OE.dev)
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4056 311d38ba-8fff-0310-9ca6-ca027cbcb966
|