1. Added variable MULTILIB_VARIANTS to store all the instance variants
for multilib extend.
2. Added function all_multilib_tune_values to collect the variable
values for all multilib instance.
3. multilib bbclass handler will save the orignal value of all variables
defined in MULTILIB_SAVE_VARNAME.
(From OE-Core rev: 18bba910e04bff75460f408e4557d4bae21ad592)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is comming from x32 need to pass special parameters to ld & as.
(From OE-Core rev: 96931af89f9cc3056e413cff437a85eca85b3b75)
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add SDK_PACKAGE_ARCHS to avoid the sed operations we were previously doing
inside of the variouns populate_sdk functions and related items.
Also add documentation to populate_sdk to explain when the various functions
are expected to be doing.
Finally fix a bug in populate_sdk_rpm where the wrong value was being set,
noticed while working on this change.
(From OE-Core rev: 587c1d5bac71fa6faa65ee3a271391cbf931e8f7)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Because of the way BitBake handles ??= under certain circumstances, this
default setting ends up stepping all over the real setting from the arch
include file. Since virtually all arch include files or tune files define
a real value for this we shouldn't need to have a default (or it needs to
be done in a different way).
(From OE-Core rev: 6c43ca6fc6a7fffc84cf28684cac0c0eb4129902)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Acked-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch adds the core multilib class which can be used along with a
parameter specifying the mutlilib to use in BBCLASSEXTEND.
The MLPREFIX variable is added and can be used in cases where its too
difficult to dynmaically work out where a mutltilib prefix is needed
to be added to a variable.
This includes:
* SHLIBSDIR and PACKAGE_ARCH fixes from Lianhao Lu.
* PACKAGE_DYNAMIC mapping from Yu Ke
* PACKAGE_INSTALL mapping from Yu Ke
* RPROVIDES mapping from Yu Ke
* TARGET_VENDOR fix from Mark Hatle
* Ignorning *-native-runtime dependnecies as well as *-native from Yu Ke
* Map PKG and ALLOW_EMPTY from Dongxiao Xu
* Ensure RCONFLICTS and PKG field dependencies are remapped (from Dongxiao Xu)
* Ensure PN and MLPREFIX are set at the same time to ensure consistent BPN values (Yu Ke)
(From OE-Core rev: 5d9453049915db48ec4b5972e12287417ebb61a2)
Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Xu Dongxiao <dongxiao.xu@intel.com>
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
These changes revolve around the idea of tune features. These are represented by
'flag' strings that are included in the TUNE_FEATURES variable.
Any string included in TUNE_FEATURES should also add a TUNEVALID[<name>] entry so
we can know which flags are available in TUNE_FEATURES and have documentation about
what the flags do. We will add sanity code to error if flags are listed in
TUNE_FEATURES but are not documented in TUNEVALID.
A given tune configuration will want to define one or more predetermined sets of
_FEATURE flag lists. These are defined in the form TUNE_FEATURES_tune-<name>.
For defined tune configuation, <name> should be added to the AVAILTUNE list so that
we can determine what tune configurations are available. Flags cannot be used in this
case as with TUNEVALID since its useful to be able to build up tune lists from other
TUNE_FEATURES_tune-yyy options.
A given tune configuration may also define PACKAGE_EXTRA_ARCHS_tune-<name> and
BASE_LIB_tune-<name> to control the multilib location. All options can be overridden
by the distro or local user configuration.
(From OE-Core rev: 5f9d56bd64997b93ed7e46c117851002a0556654)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: d5521be2dcbaf213c140b0d12a4176380874426b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Since we're updating the tune file format, it makes sense to abstract
the compiler tune arguments at this point too. This means that should
these need to be overridden at any point, the original values can
still be obtained in a similar manner to the other TUNE* variables.
Whilst this isn't strictly necessary for any current need, its likely
good practise to standardise this behaviour.
(From OE-Core rev: 3a3c69a1bc3cf0b6f6a3b13d86c12ed21798d48e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There is currently consideradble confusion over how the tune files operate
and how these interact with the rest of the build system. This update/overhaul
changes things so the tune files are primarily resonsible for setting:
TUNE_ARCH - What was formerly set as TARGET_ARCH and is the value that
represents the architecture we're targetting.
TUNE_PKGARCH - The value that represents the tune confuration that this set
of tune parameters results in.
This allows the significant improvement that the core can now always determine
the target architecture value, even when TARGET_ARCH needs to be reset to
something different and likewise, there is one package architecture variable
the core can reference allowing simplification of the BASE_PACKAGE_ARCH, PACKAGE_ARCH
and FEED_ARCH variables.
(From OE-Core rev: a10de4cf8b424ee95c8e283e75d486be5b3b8eac)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add the ability to dynamically change the library directory from "lib" to
other values. This allows the tune files to specifiy altnerative ABIs
which can be dynamically enabled by the multilib BBCLASSEXTEND code.
A variety of approaches have been attempted with this, the immediate
expansions in cross.bbclass being problematic as they are they are expanded
before the bbclass extend event hander runs. This approach ensures the
${baselib} variable is retained in the expressions resolving that complication.
Derived from some ideas from Mark Hatle.
(From OE-Core rev: aeea22da699b276a97ca1a17e3c53176c9afd9de)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We have no hg URIs in the metadata, so don't require and don't
ASSUME_PROVIDED it either. meta-oe has a mercurial-native recipe
if hg URIs are added in a recipe later.
(From OE-Core rev: 6473c9096bf4995c21147e737322d800219c89ab)
Signed-off-by: Tom Rini <tom_rini@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Its better to use xterm since some folks may not be using gnome
or KDE. Chances of having xterm on build machines are lot more
than having gnome-terminal.
(From OE-Core rev: 6ba0dc5b075ab63d6c16fcb45928336a919cf070)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Since we no longer support 2.4, update this setting to 2.6.16, to line up
with the most accepted setting from OE. (This affects eglibc's kernel
support, and 2.6.16 is the minimum version for glibc 2.9 onwards.)
(From OE-Core rev: 888ab93fb8a5baf6308bdc004dba721b0950f6ab)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The internal use of PSEUDO_PASSWD adds the /etc path
automatically.
(From OE-Core rev: 2ae82c876c1371fcf82642b141bacc70c86e7e84)
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Set 'CCACHE_DIR' in 'bitbake.conf' and create the dirs for every
package before task 'do_configure' started.
[RP: Merge dirs variables into one]
(From OE-Core rev: fe03f78fb0bf7d54b9472832e43764e882f918a1)
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
PSEUDO_PASSWD needs to point to the directory where passwd and group
files are kept. This will allow pseudo to use those users and groups
to change file ownership.
(From OE-Core rev: ada60e40293f78f974f641de5d3356b02bbeae4c)
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In the current situation TARGET_ARCH will override MACHINE, which is counter intuitive since the machine is more specific than the arch.
The order is now pn-$PN} -> arch -> machine -> distro as the machine is a set of defaults and the distro is the ultimate policy.
'failfast' has been removed since it's not used anymore, just like 'local'
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: ad00ad1d530074dc3a0f3376f96ad5a88a7b24e2)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[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).
(From OE-Core rev: 367934ada7c081ba3fc95f02dc14c7d6f97bfccb)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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
(From OE-Core rev: d3f6e1e6106ab539e73c19037915b2e4a5f2efa9)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* -oecore was changed to -oe to be more consistent with SDK_VENDOR as we had -oesdk as SDK_VENDOR and not -oecoresdk
(From OE-Core rev: 7b3e1e0f8e31a1a20ba600bdc66fe4455e98c8f6)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
By defualt it points to $MACHINE but sometimes its desired
to have more than one overrides stemming out of a machine
then they can be added to MACHINEOVERRIDES.
e.g. MACHINEOVERRIDES = "${MACHINE}:nslu2"
Note that if you redefine MACHINEOVERRIDES then default
override for machine has to be added to it explicitly
otherwise it will get lost.
(From OE-Core rev: a16f793dd6b2b1b61704c6a7082b30abfca5fb4d)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The intent is to allow distros to share common core config but still allow
customisations. The core should work with no distro set but users
can still customise in any ways needed.
(From OE-Core rev: c0a148077ae27a1ef57c55ac22953c68d001af57)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
These are the minimal defaults to allow OE-Core to function standalone with
no distro set and are constucted such that the distro can either override values,
or totally replace the include file entirely as needed.
(From OE-Core rev: b34d5e93fab4274e1a56f446e2ba4756d614cc47)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some recipes do not defined EXTRA_OECONF in such cases += drops
the --enable|--disable-nls options. In another case where recipe
defines EXTRA_OECONF instead of adding/appending to it then
--enable|--disable-nls options are lost from EXTRA_OECONF
We define EXTRA_OECONF = "" in bitbake.conf so the variable exists
always.
We use _append instead of += so the option is added at very end
and not lost.
We only return empty gettext dependencies if its a target recipe
in case when USE_NLS is not set because the native/cross/nativesdk recipes still
need the gettext dependencies
(From OE-Core rev: c47c783ddca8427aa7381e1df254a8d29ff0fe78)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This means it can easily be overridden by other points in the code,
such as a ?= assignment in recipes.
(From OE-Core rev: f370961b61be2e2be4e7b33c446d71c0693ca16b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Replaces all '-' in $MACHINE to '_', fixes [YOCTO #946]
(From OE-Core rev: 69b3a11d90579bca687ad3461e7a5cd325079fe6)
Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Image generation code in .conf files is hard to read as it needs to be
single line. By moving this to a separate class, multiline functions
can be used instead improving readability. It also declutters
bitbake.conf.
There is no real functional change with this patch but it highlights
the need for improvements in places such as the IMAGE_EXTRA_OPTION
ext* specific variable which makes no sense.
(From OE-Core rev: a5c403f0fc71f38c0669691da7f637303ea09a27)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-fexpensive-optimizations is enabled by default at -O2
-fomit-frame-pointer is enabled at -O2 selectively by gcc depending upon
architecture if debug info is not hurt
-frename-registers - This might have some performance advantage on top
of O2 on architectures which have more registers and registers are left
after scheduling but it affects debuggability quite a bit so as a i
tradeoff we do not use it.
-feliminate-dwarf2-dups - We use this option to reduce the size of debug
information by removing duplicates this is only valid for dwarf2+ and we
use dwarf2 by default
-pipe uses buffers instead of temporary files internally it can speed
up compilation it has has issues with other assemblers but not
with GNU assembler and we use gas.
Separate out debug information related flags into a separate variable
DEBUG_FLAGS so distros can use/notuse them as they like
(From OE-Core rev: 9cb7113790d716a4c5cf7d511535ba87fdecd1ac)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In mirrors.bbclass we point into /pub but we don't in bitbake.conf.
All uses of KERNELORG_MIRROR look into /pub anyhow, so lets make
use of that.
(From OE-Core rev: 67a0c8f48b5ef2ae5fc712c9204e4e99818c8134)
Signed-off-by: Tom Rini <tom_rini@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There is a problem with the current PACKAGE_EXTRA_ARCHS implementation
since its impossible to control which extra architectures sort higher
than TARGET_ARCH and which sort lower. In the x86 case for example,
TARGET_ARCH might be "i586", i486 should be lower than this and i686 should
be higher. There are also complications where its easy to inject duplicate
entries into the variable.
I tried various versions of this patch and concluded that it was simplest
just to force the tune files to include TARGET_ARCH in the list in the
right place if they're planning to customise it themselves. Other approaches
with appends and prepends just complicated the code for no good reason.
The TARGET_ARCH definitions should also move to the tune files but I'll
leave this for a separate patch.
(From OE-Core rev: d492ebf8b1801da99c679f465be98ce54fd3061a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
or else do_populate_lic varies its checksum when using different source
directory, and thus further impact do_package sstate reuse.
Fix [YOCTO 894]
Possibly Fix [YOCTO 903]
(From OE-Core rev: 7a0922ba2e7a33005a8830ff8a4e6b1408b29aa5)
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
thus allows rpmbuild to generated RPMs with the right architecture.
(From OE-Core rev: 73b27dc6c326c8465944f8b6397dc6b1ef647452)
Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We now support two styles of debug information generation, the '.debug' style,
which is the same as previously implemented. This style simply splits the
debug information and makes it available in the same general directory.
/bin/foo -> /bin/.debug/foo
The new 'debug-file-directory' style splits the debug information and places
it into the single debug-file-directory, /usr/lib/debug:
/bin/foo -> /usr/lib/debug/bin/foo.debug
Both also find and copy all referenced source code to a new /usr/src/debug
directory. This allows the -dbg files to be used for stand-a-lone debugging
on or off the target device.
File stripping is now handled as a seperate operation from file splitting.
This allows us to split the debug information, but also leave it in the
original file -- or prevent the debug information from being split.
Also enhance the comments within local.conf.sample to provide a better
understanding of the control the user has over debug file generation.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
It was using a '/' in a name variable, subtly breaking things like this:
populate_sdk.bbclass:
mkdir -p ${SDK_DEPLOY}
cd ${SDK_OUTPUT}
tar --owner=root --group=root -cj --file=${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.tar.bz2 .
Tar will error out since SDK_DEPLOY/DISTRO/ doesn't exist. Change the default to be more like the one from poky.conf, without the poky specific POKYLIBC.
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
A new default SUMMARY and DESCRIPTION was defined for any package that
previously did not contain one. This value is based on the original
SUMMARY_${PN} value.
The new default SUMMARY and DESCRIPTION is used as a basis for all of
the automatic summary and descriptions for the various package splits,
include ${PN}, ${PN}-dbg, ${PN}-dev, ${PN}-doc, and locales.
A recipe may also override any of the automatic summaries by simply
specifying the value.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
The definition of NM was missing, causing certain configure calls to revert
to using the host system's version of NM. This can cause problems on some
MIPS based targets, but is theoretically wrong everywhere.
Signed-off-by: Mark Hatle <mark.hatle@windriver.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>
PACKAGE_ARCHS represents all compatible architectures for a given machine.
It makes no sense for this variable to change any task checksums as it doesn't
inject any machine dependency into any known task. Multimachine means machine
specific packages will be detected through other variables.
Before this patch, even native packaging tasks were ending up being marked as
machine specific.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Current fetcher has annoying "SRCREVINACTION" deadlock,
which occurs when SRCREV=${AUTOREV}=@bb.fetch.get_srcrev():
get_srcrev()->setup_localpath()->srcrev_internal_helper()
->evaluate SRCREV->get_srcrev()
current fetcher resolve the deadlock by introducing a
"SRCREVINACTION" condition check. Althoguh it works, it is
indeed not clean.
This patch use antoehr idea to break the deadlock: break
the dependency among SRCREV and get_srcrev(), i.e. assign
a specific keyword "AUTOINC" to AUTOREV. when Fetcher meet
this keyword, it will check and set the latest revision to
urldata.revision. get_srcrev later can use the urldata.revision
for value evaluation(SRCPV etc). In this case, SRCREV no longer
depends on get_srcrev, and there is not deadlock anymore.
Signed-off-by: Yu Ke <ke.yu@intel.com>
If this recipe doesn't reflect TARGET_ARCH in its name, only
one flavour of cross toolchain can be installed at once.
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
If sstate was used to accelerate a build, the pseudo directory might not have
been created leading to subsequent task failures.
Also, sstate packages were not being installed under pseudo context meaning
file permissions could have been lost.
Fix these problems by creating a FAKEROOTDIRS variable which bitbake ensures
exists before running tasks and running the appropriate setscene tasks under
fakeroot context.
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
This change allows the IMAGE_OVERHEAD_FACTOR (default to 1.2) to
adjust dynamicly how much space to add for each image, thus there
is 20% overhead space by default.
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
Add the pkgconfig files that may appear into the shared directory into
the -dev globbing.
Also change the udev integration to remove the manual instance of the
shared directory .pc file.
Signed-off-by: Mark Hatle <mhatle@windriver.com>
If this isn't set, pkg-config will use its inbuilt paths which mean it can
end up looking in the native sysroot.
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Change the pseudo integration:
* Uprev to latest open source version
* Restructure the patches to allow for many local DBs, as well as
pseudo specific lib dirs.
Signed-off-by: Mark Hatle <mhatle@windriver.com>
genext2fs 1.4.1 creates minimal inode number based on specified rootfs
directory. This is desired in some embedded devices as storage/memory
are precious. However it's not suitable in development phase where target
rootfs may be changed heavily on the fly (remote debug, test, ...).
Sometimes this may even cause "No space on device" error due to limited
free inodes exhaulted at the 1st boot.
Here a new option is added to allow falling back to original 1.3 behavior,
i.e caculating inode number based on specified bytes-per-inode parameter.
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
When using the fake chroot ability of pseudo, it will expand absolute
symlinks to their full non-fake path by default. The simple change disables
that behavior, as it is undesired when generating a rootfs.
Signed-off-by: Mark Hatle <mhatle@windriver.com>
Enable changing the data directory on the fly from the environment and then use
this feature within poky to confine pseudo usage to each WORKDIR.
This fixes issues that could be seen under heavy inode reusage e.g.
with rm_work.
Work based mainly off a patch from Joshua Lock but finished by Richard
Purdie.
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
The current free space doesn't leave much room for using the image,
increase it. Patch from Saul Wold with tweaks.
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Having PSTAGE_DIR be a top level directory by default doesn't make sense, move
it to be a child of the build directory so that it lives with all other built
output. Also move DL_DIR to a child of the build directory for the use case of
an unwriteable $OEROOT.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
* Switch from /usr/local/poky to /opt/poky
* Use a sysroots directory for both the "native" sdk binaries and the target
* Drop the meta-toolchain extras packages. These are replaced with packaged-staging.
* Change the nativesdk layout to match our usual filesystem layout
* Clean up various hardcoded prefix references
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Cross is no longer required so can go away, we now install cross packages into
the native sysroot and use them from there.
This patch includes updates to classes and some recipes which reference
CROSS_DIR. Others still need fixing an image can be built and run with this
patch applied.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Cross scripts now live in sysroot/$arch-distro-os/crossscripts, this conveys
that they are no longer native system dependant and emphasises their purpose.
Bump the staging ABI and implement a simple migration from ABI 3 to ABI 4.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Rename DEPLOY_DIR_PSTAGE to PSTAGE_DIR and move it outside of deploy.
Do soft assignment of a default variable inside bitbake.conf as
${OEROOT}/tmp/pstage.
Use a separate directory, PSTAGE_WORKDIR, to store transient packaged
staging files such as the stamp files and opkg.conf
Signed-off-by: Joshua Lock <josh@linux.intel.com>
This change makes the purpose of the staging directory more obvious and
the taskname more true to what it now actually does.
The layout version number is increased due to the change in layout
but code to convert existing directories and insert a symlink for
backwards compatibility is included.
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>
As we don't provide a mercurial-native package (yet) let's assume the
build machine has it installed and check (sanity.bbclass) if it's the
case.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
New variable IMAGE_EXTRA_SPACE contains amount of kilobytes which has
to be added to size of IMAGE_ROOTFS. Resulting size is then passed to
genext2fs util.
As a result we do not have to specify size for ROOTFS_SIZE anymore.
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5269 311d38ba-8fff-0310-9ca6-ca027cbcb966
of kdrive and building mesa. It's a big commit and it's still rather rough
around the edges, but there is a desire to get this in early so people can
review the work and help polish the changes.
Some of the notable bits:
• DRI support in mesa and the X server. (configured in machine conf via
MACHINE_DRI_MODULES variable)
• XCB backend for xlib
• A fairly lite X server build with lots of legacy modules disabled.
I'm sure there is plenty of other fairly low hanging fruit if we want to
put more effort into reducing the size of the xserver build. Currently the
server build comes in @ ~2.3MB vs a kdrive fbdev server build @ ~1MB. E.g
xaa could be made conditional to save ~320K. Of course the kdrive server
doesn't include glx stuff, which is a pretty big chunk.
Also thanks to hrw, since I nabbed a some patches from him for this, and RP,
for various bits of Poky style advice.
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5205 311d38ba-8fff-0310-9ca6-ca027cbcb966
This variable makes building for ARM targets easier.
For example to build for ARMv6 cpu with VFP all you need is CPU_FEATURES = "vfp".
Adding Thumb support is just adding "thumb" to the list.
Tested on ARMv6 build with four combinations: "", "thumb", "vfp", "vfp thumb". All
resulting images works in QEmu.
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@3355 311d38ba-8fff-0310-9ca6-ca027cbcb966
Qemu 20071121 has ARMv6 support working but generating of binary locales
require using proper "-cpu" switch - otherwise it sigsegv with illegal
instruction.
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@3306 311d38ba-8fff-0310-9ca6-ca027cbcb966
NOTE: People will have to rerun the install/package tasks after this change on existing builds
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2527 311d38ba-8fff-0310-9ca6-ca027cbcb966