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.
(From OE-Core rev: 6a1ff0e7eacef595738f2fed086986fd622ec32a)
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.
(From OE-Core rev: b53e06c8fc4a8183a2f8232c13931a39b1ca0e23)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Recipe packaging for the target requires permissions that are consistent
with meta/files/fs-perms.txt which specifies certain user and group
names. In the early parts of a target build base-passwd is not yet
available to provide the target /etc files used for user/group lookup.
Allow pseudo to fall-back to the last-resort files it installs if the
target ones aren't there yet.
(From OE-Core rev: 071d364b7a758ba5e546bb18c5816ac4c2e6747c)
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Instead of replicating the logic for the host compiler naming from bitbake.conf,
use the BUILD_* variables directly.
Also change BUILD_CPP to use gcc -E (which native.bbclass previously used), as
some recipes (e.g. grub-efi) use ${CPP} with multiple input files, which gcc -E
can handle but cpp can't.
(From OE-Core rev: 9237d18964ff0bf76f5c37fca21ab3974d81d0d2)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Previously, when building core-image-minimal, the rootfs size would
default to 64M because we use '?=' in bitbake.conf and also '?=' in
core-image-minimal.bb.
The thing is, we'd like to have a default value for all images set
in bitbake.conf but still allow each image recipe to set its own default
value which could be overridden by users in local.conf.
(From OE-Core rev: 18f499df6bcbf79d7bd0a99c4c8693268683485f)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
glibc 2.20+ wont support any older than that
(From OE-Core rev: 32b3a9ca554d9ff8f3b9c2ff62cc66ee865c61bf)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Might as well move this default to the class which uses it allowing
for easier reading/understanding of the class.
(From OE-Core rev: 177aec177306e68bcd822dee6b29a7efbd558a91)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently its near impossible for other classes to sanely override
this value with their own default. By setting a weak default we can
allow other classes to change the default and allow end recipes to
again override this.
As far as I can tell, there shouldn't be any regressions from this
change.
(From OE-Core rev: 12b2a73d336d66596939eae5c9947d4054c0316e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
A few native scipts requires bash-native, and we don't build
bash-native, so add it to ASSUME_PROVIDED.
(From OE-Core rev: 283a418a838ef285988a5ffc3888501ca7de63f1)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When adding patches or config files from bbappend files, it requires
the use of FILESEXTRAPATHS, which has been an issue and failure point
for people starting to work with bitbake and oe-core.
We add checking to standardize how to use FILESEXTRAPATHS. Only the
format of:
FILESEXTRAPATHS_append := ":${THISDIR}/Your_Files_Path" or
FILESEXTRAPATHS_prepend := "${THISDIR}/Your_Files_Path:"
is acceptable.
[YOCTO #5412]
(From OE-Core rev: 69e083237e632f7d84a7b218dd12d1a5ad95a229)
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently, BB_NUMBER_THREADS and PARALLEL_MAKE default to unset and
are set in local.conf. Now that we have the automatic probing,
the default values can be set in bitbake.conf and an example of
explicitly defining how many tasks to run can be moved to
local.conf.sample.extended.
[YOCTO #6217]
Signed-off-by: Roxana Ciobanu <roxana.ciobanu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Check the rootfs size against IMAGE_ROOTFS_MAXSIZE (if set)
* Add comments for IMAGE_ROOTFS_SIZE to not confuse with IMAGE_ROOTFS_MAXSIZE
[YOCTO #2610]
(From OE-Core rev: 6acd4fc8d5e642b5c6c75fcc40dd8f37caf7ddcf)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
pkglibexecdir is a fairly common location for package-specific binaries (in
automake this is $libexecdir/$PACKAGE), and binaries in there are already
installed to FILES_PN, so add the corresponding .debug directory to
FILES_PN-dbg.
(From OE-Core rev: 4d3ffde4649ed116a1c21afef41f71bfe1d471de)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For most users this commit will have no effect. But if you come across the idea of giving
different names for paths, you'll get some troubles.
When a recipe inherit native, properly define bindir, sbindir, includedir, sysconfdir, datadir
(using xxxdir_native definitions from meta/conf/bitbake.conf).
For example, edit "${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}/quilt-native/temp/log.do_configure"
and see what are the arguments given by oe_runconf.
Notice that ${docdir}, ${mandir}, ${infodir}, ${localstatedir} have no associated _native definition.
(From OE-Core rev: 15345ddd4be6a0b041b3d6caaad48d46b22142e9)
Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The QEMU_OPTIONS variables belong in qemu.bbclass so move them there. The
only users of them inherit qemu.bbclass. There is no point in pushing
these into every recipe.
(From OE-Core rev: 5824293de37919e89f60192836997281933e23d6)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently, qemuppc prints warnings about gdk-pixbuf postinstalls
not working due to illegal instructions. This is due to qemu
running with the wrong cpu type. Add an option for ppc7400 so
that qemuppc works correctly.
(From OE-Core rev: 5995fdbe81799f1ecf5de722cb2eb95ccb2aa860)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
To unpack that to more than a single line: -native and -cross recipes are made
to use the dummy Texinfo utilities provided by texinfo-dummy-native if they
invoke those utilities at build time. The target-architecture (cross-compiled)
recipes still use the genuine Texinfo utilites. Right now, they still use
the host system's Texinfo utilities, but could be made to use the
texinfo-native recipe we already ship with some config file changes.
(From OE-Core rev: 160087f754eabf5da90fb51997e19d2e585aac4a)
Signed-off-by: Max Eliaser <max.eliaser@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If we don't do this, we see an exception:
ERROR: Failure expanding variable MACHINE_ARCH, expression was ${@[d.getVar('TUNE_PKGARCH', True),
d.getVar('MACHINE', True)][bool(d.getVar('MACHINE', True))].replace('-', '_')} which triggered
exception AttributeError: 'NoneType' object has no attribute 'replace'
Setting a default value avoids this error and allows the sanity checker
to trigger instead.
(From OE-Core rev: 106e9a3f594658b6a207f1f29bd4007616cc31d6)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Set default to http://search.cpan.org/CPAN/, as it should be
(From OE-Core rev: 7cf349c3f1f195d529fbd73ce4bf63a439ffa4e6)
Signed-off-by: Tim Orling <TicoTimo@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* The SRC_URI is not accessible.
So need to add mirror site referred by the original site.
* The problem is that
http://download.savannah.gnu.org/releases redirects to closest mirror
and few mirrors (e.g. .jp) weren't working correctly while
http://download-mirror.savannah.gnu.org/releases/ seems to be reliable.
* Add SAVANNAH_GNU_MIRROR and SAVANNAH_NONGNU_MIRROR variable in bitbake.conf.
* Change the SRC_URI using the new variable.
(From OE-Core rev: af00b6544f60e4d7581f9d9767f9d3f574392359)
Signed-off-by: Changhyeok Bae <changhyeok.bae@lge.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This allows them to co-exist together in the native sysroot, with one
set of cross tools per target architecture.
(From OE-Core rev: a2c5509520d5c3e082f55844e6545d0309565f8f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The problem is that do_configure.sigdata depends on STAMPS_DIR because:
do_configure -> STAMPCLEAN -> STAMPS_DIR
this will make the sigdata generated by "STAMPS_DIR=/tmp/stps bitbake -S
recipe" doesn't match the ones in our build dir, but it should. We can
add STAMPS_DIR or STAMPCLEAN to BB_HASHBASE_WHITELIST to fix the
problem, but we can't add STAMPS_DIR since once it is in
BB_HASHBASE_WHITELIST, the "STAMPS_DIR=/tmp/stps bitbake -S recipe"
would not run again.
[YOCTO $6031]
(From OE-Core rev: faf3e74d5c488a66fdabd485eb916f555d7353fd)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We don't want the value of this varflag itself entering any signatures,
ever.
Part of the fix for [YOCTO #5897].
(From OE-Core rev: 1497d3d4b10844aa19ce6dcceed25aa36454160f)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Drop the -fpermissive C++ compiler flag. We've had this around for years, most
code should have been fixed long ago. Its possible some recipes may fail
however we can (and should) just use the flag where needed.
An OE-Core world build seems to work just fine with this change.
(From OE-Core rev: 24dd8e129447013ee98609f3892ec414b1b21340)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
These variables should not influence the config hash, i.e. changing them
shouldn't trigger a reparse of the metadata, so whitelist them.
(From OE-Core rev: 8feb51267647d0760f5bec3a8b6f95f4481d9b0d)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The default value for HOMEPAGE of "unknown" has been in place since the
early OE-Classic days, but it doesn't really make sense - "unknown" is
not a valid URL and it just means we have to explicitly check for this
hardcoded string if we're displaying the value in some form of UI, such
as Toaster.
This has required some changes to the packaging classes as they
previously did not expect the value to be blank.
(From OE-Core rev: 244e1d73ef58e92d73c098044c66bd784644b933)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
SUMMARY should not end with a full stop; however if DESCRIPTION is not
set in a recipe and thus defaulted from SUMMARY, the additional
DESCRIPTION values for other standard packages e.g. ${PN}-dev look a bit
odd without a full stop separating the SUMMARY value and the rest of the
text. Add a full stop to avoid this.
(From OE-Core rev: 4b022399815f32166c402d458a40afa6470fc776)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ensure that if MACHINE_FEATURES is not set by the machine config that we
don't end up with expansion errors during parsing. Technically since the
introduction of MACHINE_FEATURES_BACKFILL = "rtc" this is unlikely to be
a problem unless "rtc" is also added to
MACHINE_FEATURES_BACKFILL_CONSIDERED, however we should be consistent
with DISTRO_FEATURES which is defaulted in bitbake.conf.
(From OE-Core rev: bf2c8946d96524aaa91ab43762c963ea38ccc342)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The layout of stamp files ensures that changes to WORKDIR mean recipes get rebuilt correctly.
Since WORKDIR usually contains MULTIMACH_TARGET_SYS and that depends on tune variables,
including WORKDIR in sstate checksums adds a lot of noise to the system for what amounts to
no gain.
On the other hand, removing it reduces noise, reduces the size of the siginfo files and
reduces the amount of processing bitbake has to do. It therefore seems like dropping it
from the checksums is an all around win.
(From OE-Core rev: 453353e05d027c6a505d1e13a7982718a13bca8b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gcc tooling appears to be standardising around the FC variable naming.
This patch changes the F77 namespace to FC instead and use the default
gfortran compiler. If anyone needs the F77 variables or tools, those
can still be made on a case by case basis.
Also updates local.conf.sample.extended accordingly.
(From OE-Core rev: ae8c17be2845eff2be8394a5d9a45e6aa321c33d)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
ADOBE_MIRROR, HANDHELDS_CVS and E_SVN were broken links and not used by
any recipe in oe-core.
FREEDESKTOP_CVS is no longer useful because all the source code that
matters is in git; no recipe in oe-core still uses the CVS repository.
E_MIRROR, FREEBSD_MIRROR, FREESMARTPHONE_GIT still point to valid-seeming
locations but there are no recipes in oe-core that use them. Any layers
which need these variables can define them for themselves.
GPE_SVN, GPE_EXTRA_SVN, GPEPHONE_MIRROR and GPEPHONE_SVN are not used by
any recipe in oe-core and the corresponding projects seem to be mostly
dead upstream. Again, any layers which still wish to use these variables
can define them locally.
All the above are just wasting space in bitbake's datastore and would be
better deleted.
(From OE-Core rev: 3b333896c71689c664475d53daed52404bf6b21b)
Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This variable has been unused since the tune file overhaul two years
ago.
(From OE-Core rev: a1d9f2374ede768057fd364da6c0e1eeeb10499f)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
These were for task-bootstrap in OE-Classic and have never been used in
OE-Core.
(From OE-Core rev: f4692afb518f07e17fbd35a2023877b7041abef9)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
An empty distro value leads to OVERRIDES and FILESOVERRIDES containing
"::" entries which causes odd issues such as files being included when
they shouldn't be. We could put in anonymous python to guard against
empty entries but its messy and setting a default value for DISTRO to
something harmless is much easier.
This patch adds a weak default and ensures the sanity test doesn't
complain about it.
DISTRO_VERSION and SDK_VERSION are also updated to match.
(From OE-Core rev: b7279f99639774674da806d37d252f388f33055f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
I discovered bitbake rebuilding packages because WARN_QA had changed. These
variables don't influence the output, so add them to the whitelist.
(From OE-Core rev: 96204ae6e1b19783d6a3f8c590890714eaa9e2d9)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* we correctly have
${STAGING_DIR_NATIVE}${base_sbindir_native}
and then double slash in
${STAGING_DIR_NATIVE}/${base_bindir_native}
* similar in PKG_CONFIG_DIR where libdir also starts with slash
${STAGING_DIR_HOST}/${libdir}/pkgconfig
* also fix double slash in insane.bbclass and staging.bbclass
* I was a bit nervous about staging change (in case the / was important
in some weird use-case, but the extra slash is there since following
commit where other extra slashes were removed only the one before
libdir was kept:
commit 6ea78d6489
Author: Richard Purdie <rpurdie@linux.intel.com>
Date: Mon Nov 2 17:10:51 2009 +0000
autotools.bbclass: Separate out useful staging functions into
base.bbclass and call from autotools classes
* this isn't fixing any real-world issue AFAIK, I was just trying to
debug one weird case where debugedit fails with
canonicalization unexpectedly shrank by one character
and it's easier to grep for '//' without many harmless instances
already in run* scripts etc
(From OE-Core rev: 0ddaf52e9e344986ae2b016cc068d9eee71b4347)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
To make it easier to move WORKDIR, define it using the new variable
BASE_WORKDIR, which is the root of the work directory.
(From OE-Core rev: 1eee097f2e29b9d6934711c0b1d32e59e9542f53)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently we have a hierarchy of pkgdata directories and the code has to put together
a search path and look through each in turn until it finds the data it needs.
This has lead to a number of hardcoded paths and file globing which
is unpredictable and undesirable. Worse, certain tricks that should be
easy like a GL specific package architecture become problematic with the
curretn search paths.
With the modern sstate code, we can do better and construct a single pkgdata
directory for each machine in just the same way as we do for the sysroot. This
is already tried and well tested. With such a single directory, all the code that
iterated through multiple pkgdata directories and simply be removed and give
a significant simplification of the code. Even existing build directories adapt
to the change well since the package contents doesn't change, just the location
they're installed to and the stamp for them.
The only complication is the we need a different shlibs directory for each
multilib. These are only used by package.bbclass and the simple fix is to
add MLPREFIX to the shlib directory name. This means the multilib packages will
repackage and the sstate checksum will change but an existing build directory
will adapt to the changes safely.
It is close to release however I believe the benefits this patch give us
are worth consideration for inclusion and give us more options for dealing
with problems like the GL one. It also sets the ground work well for
shlibs improvements in 1.6.
(From OE-Core rev: 1b8e4abd2d9c0901d38d89d0f944fe1ffd019379)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This allows a clean seperation between image outputs from different
machines, and makes it possible to have convenience symlinks to make
the output ready to deploy.
This did require some surgery in runqemu; if explicit paths to the image
and kernel are not supplied then DEPLOY_DIR_IMAGE needs to be determined
from bitbake or set in the environment. However the script does try to
avoid requiring it unless it really is needed. Corresponding changes
were made in the automated testing code as well.
Based on an RFC patch by Koen Kooi <koen@dominion.thruhere.net>
(From OE-Core rev: 7e90261aec61f79680b5eaeaf5b18c7b795412a4)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For a long time we've provided PN-PV and PN-PV-PR by tweaking PROVIDES. This looks
nice at first glance however it turns out to be a bit problematic. Taking make as an
example where there are two versions, 3.81 and 3.82, what should "bitbake make-3.81" do?
Currently it builds make-3.81 and make-3.82 and breaks in interesting ways. Is that
a bitbake bug? Well, it certainly shouldn't try and run the build. Why is it building
3.82 though? Its due to finding a dependency on "make-dev" and then trying to figure
out what provides it? The answer is "make" and the default version of "make" is 3.82.
So arguably, finding "make-3.81" should infer PREFERRED_VERSION_make = "3.81". Doing
so resolved the above problem since now "make" resolves to "make-3.81".
So what about if we have Recipe A:
DEPENDS = "make-3.81"
and Recipe B:
DEPENDS = "make-3.82"
That is clearly an error, easy. So finally what about if we have Recipe A:
DEPENDS = "make-3.81"
and Recipe B:
DEPENDS = "make"
The first recipe infers the PREFERRED_VERSION_make = "3.81" and then forces that
version on everything else. Is that desired? Probably not in most cases, at least not
silently.
As mitigation, we could print a WARNING about this happening. The final part of the problem
is that we can ony figure this out within bitbake itself. That means we'd have to teach bitbake
about the PN-PV format of PROVIDES which is breaking the separation between bitbake and the
metadata. We can't win :(.
Nobody that I know of is using or relying on this functionality so perhaps we should
just remove it instead which is what this patch does. Opinions?
(From OE-Core rev: a87c205bb6cefd5e1a41b8e7ef02b5bfa380e3b6)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The gcc recipes reference this however we account for it in the work
directory paths and we don't want recipes depending on the value changing.
This avoids unecessary rebuilds when switching SDKs.
(From OE-Core rev: 6cdcc543ce8f532a4f66246114241b43821a111e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There were darwin8/darwin9 overrides spinkled in the code from times gone
by. Lets settle on the darwin override and remove the others since its pointless
duplication. We always inject darwin into OVERRIDES if needed in the darwin8/9
cases.
(From OE-Core rev: 8d5e6eed7802a6056f9eaa50a85e3eee00fe2742)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
On darwin, we have:
libxxx.dylib -> libxxx.Y.dylib
compared to Linux which has:
libxxx.so -> libxxx.so.Y
Our ordering of PACKAGES with -dev first and then ${PN} makes it impossible to
match the files correctly using simple globbing. This makes darwin targets
completely broken since both the libs and the dev symlinks end up in ${PN}-dev.
Whilst this commit is a hack, it at least puts the files into ${PN} and allows the
builds to be used. Symlinks don't take up much space so this isn't the end of
the world. I'm open to better solutions to this.
(From OE-Core rev: 51c3dbe2df45096bbd7866adabb08e114952ff13)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Hardcoding -nativesdk as the sdk package architecture is inflexible. We may have
multiple different target OS and we need a way to be able to separate them. Turning
this into a configurable value allows the flexibility we need to build different
SDKMACHINEs with different OS targets.
The commit should have no behaviour change, just makes things more configurable.
(From OE-Core rev: a2110e86b98d646e136de9ec6b8e668079b0d4f4)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The gettext handling of USE_NLS has become a bit tricky to understand, or
alter from the SDK context. This patch introduces a SDKUSE_NLS which can
be set to configure a given SDK/ADT to use NLS or not. This is independent
of the target system NLS usage.
The code in gettext.bbclass is therefore simplified and the classes
themselves now set USE_NLS to appropriate values. No NLS is used
for native, cross and crosssdk since it is never used there and
would just increase build time.
(From OE-Core rev: fe634d47449899f7424adb77ff5bc7ddf8a07a47)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add NO_RECOMMENDATIONS support. A way to disable all recommended
packages from being installed. This will help shrink the size of
the resulting filesystem.
Add documentation on NO_RECOMMENDATIONS and BAD_RECOMMENDATIONS.
Note, using NO_RECOMMENDATIONS has side effects such that kernel-modules may
not have been installed. A user will need to manually add to their image
any kernel-modules required to be on the image for functionality.
(From OE-Core rev: 0341bfa886ea851f5a394051545b4e624d8003dd)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add support for the BAD_RECOMMENDATIONS variable that can be used to
prevent specific packages from being installed via an RRECOMMENDS
relationship when using the RPM backend. (Previously this
functionality was only available when using ipk packaging.)
In the process this moves the defaulting of BAD_RECOMMENDATIONS (as
empty) to bitbake.conf since it is no longer specific to the ipk
backend, as well as unifying some of the code that creates the
configuration for smart for use on the host and target.
Fixes [YOCTO #3916].
(From OE-Core rev: 4e85129a7d47baf3e32b815cbc277bff84e085a0)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In order to correctly handle fakeroot at the bitbake level we need some extra
information which we provide with these new variables.
(From OE-Core rev: 003ea0fd1017dde50ced710179d0dc2e835d5185)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* fixes build without EXTRA_IMAGE_FEATURES defined:
ERROR: '${EXTRA_IMAGE_FEATURES}' in IMAGE_FEATURES is not a valid
image feature. Valid features: dbg-pkgs ....
(From OE-Core rev: b2cc92595b30d96a79f33ea7a7217834c8b6bff7)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use "??=" to set default ROOT_HOME. It can be overwrote by developer
with "?=" in any layer and at same time it also can be overwrote in
local.conf.
(From OE-Core rev: 902d3fa57d4659ee12aac80246dcaca5c45f9d8c)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
python3 is stricter about type comparisions so add an explicit cast to int()
to ensure this code is portable.
(From OE-Core rev: b9a1b9ad55c0f9fec082ffa37e576d8fd664becd)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is the first step in deprecating SERIAL_CONSOLE without affecting
machine configurations that still use it.
(From OE-Core rev: 3f0d665384e6d1b7aa2854a9cc4f13e0961bacb7)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This recommendation is of no obvious value and causes unexpected behaviour
when using IMAGE_FEATURES += "dbg-pkgs".
(From OE-Core rev: b64f2ef2be5dca1eb13a305147a2b99d57985010)
Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Reflect reality by backfilling sysvinit support, instead of whatever value was
in DISTRO_FEATURES_INITMAN.
(From OE-Core rev: 0b6559cd93a64498646d18a121746c6816382407)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
some layers e.g. meta-intel are defining LICENSE_PATH in layer.conf like
LICENSE_PATH += "${LAYERDIR}/common/custom-licenses"
This causes the target packages to invalidate the siginfo and casues
rebuild for all packages.
Thanks bitbake-diffsigs, it shows
basehash changed from c27b55ea6980262fab370e539ba8bcd7 to
37962b22ebd6194e9537bc4f85819323
Variable LICENSE_PATH value changed from '
/builds2/poky/meta-intel/common/custom-licenses' to '
/b/kraj/jlinux-next/poky/meta-intel/common/custom-licenses'
(From OE-Core rev: 1dab754cb1ec942f86a7cf9758e6b5169e50bff3)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add STAMPS_DIR for constructing STAMP, the defination of STAMP is:
STAMP = "${TMPDIR}/stamps/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR}"
We can only change the TMPDIR if we want to change the STAMP's location,
but the bb_cache.dat would be regenerated if TMPDIR changes, so add
STAMPS_DIR for constructing it, and add it to the BB_ENV_EXTRAWHITE,
this is very usefull for the "bitbake -S", since then it can be run by:
STAMPS_DIR=<path> bitbake -S <recipe>
which will avoid putting the stamps to ${TMPDIR}/stamps.
BTW, break the too long BB_ENV_EXTRAWHITE into several lines.
[YOCTO #1659]
(From OE-Core rev: ce732c04b3ac06633e20efa8799c4189abfd41b3)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* PR service cache needs to be persistent between rebuilds
having it in directory starting with tmp* does not help
people to understand that it needs to be persistent, so
move it to TOPDIR
(From OE-Core rev: 5d43f752429707b74dbf46ecb81ac76bad7bb715)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This variable is set but never used in OE-core and meta-oe. It
was historically used for the Opie collection but seems to be
unused now.
(From OE-Core rev: 323ef78e377525e2214f4700c30305c493137853)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We should ignore BB_ORIGENV from the hash for the config data. There
are also a number of variables which no longer make it into the data
store so we can drop these from the hash whitelist.
(From OE-Core rev: cb21af00f9321ea48e533089dbffbb1a9665cb92)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Nothing appears to use this anymore, and it's been a very long time since there
was anyone expressing an interest in the alternatives.
(From OE-Core rev: f6f289c13b9da9c2793d1fd30456216db8afad64)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- remove PRSERV_PORT variable
- use 'hostname:port' as PRSERV_HOST format
- remove USE_PR_SERV variable
- one can activate PRS by setting PRSERV_HOST
[YOCTO #3744]
(From OE-Core rev: e00f49de8b1f79c3e07b887d257bd75a46052fa0)
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Backfilling DISTRO_FEATURES and MACHINE_FEATURES with _append statements happens
too late to use those variables with conditional inherits, like this:
inherit ${@base_contains('DISTRO_FEATURES','sysvinit','update-rc.d_real','',d)}
Instead, do the backfilling at ConfigParse time so that it happens earlier in
the parse, which results in that inherit behaving as expected when sysvinit was
backfilled.
(From OE-Core rev: 22429cdf79ed952072707a929643c7386fa7e056)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Commit 9e7c64ca9afbf27edd0d35a1830ce55ee6d778ab broke all builds where
custom DISTRO_FEATURES were used.
Resulting images ended in non-bootable state due to lack of initscripts
(unless someone had sysvinit or systemd in D_E already).
https://bugs.launchpad.net/linaro-oe/+bug/1102910https://bugs.launchpad.net/linaro-oe/+bug/1099405/comments/12
(From OE-Core rev: 211e473432230765a48d7af9c66c8737a08cdec7)
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Since update-modules is obsolete, remove it from DISTRO_FEATURES.
[YOCTO #3598]
(From OE-Core rev: 5a404ba472c51cec8e13d79e073a1d104a747c44)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Import var ROOT_HOME to configure root home directory dynamically.
[Yocto 2683]
(From OE-Core rev: a78cd0b3a69b829327cea035321051ab11cba70f)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* resolves ERROR shown when bitbake -S is used for image:
ERROR: Bitbake's cached basehash does not match the one we just generated
(/OE/oe-core/openembedded-core/meta/recipes-core/images/core-image-minimal.bb.do_rootfs)!
ERROR: The mismatched hashes were 8c35cdf8a5d09c03941f081dd9f6d8dc and b5d6e2e5952770557c48c5779ddb73fc
(From OE-Core rev: 084d16cd00365ac3db9010a2e0e08ec49b50a144)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There are several overrides that don't make sense as part of FILESPATH. This
introduces FILESOVERRIDES and allows us to drop some of the pointless ones,
simplifying the files search path further and improving the user experience.
If needed by specific recipes, other overrides can be added back in for
specific cases.
(From OE-Core rev: b8b1b39961332c99d62ee466f7859bd62a0f806f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The build summary is meant to reflect key configuration variables. Information
about the build system we're running on is important but currently missing
from the information displayed.
Printing TARGET_SYS removes the need to print TARGET_OS and TARGET_ARCH
and we add BUILD_SYS and NATIVELSBSTRING to show information about the
build system.
[YOCTO #3456]
(From OE-Core rev: 764cc1eb3043c84121f597d2271108b91052095e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
FILESPATH is the preferred way of finding files now. Having a value
for FILESDIR which defaults to paths which will have already been
searched is pointless at best. This is the final step in letting
us drop FILESDIR support entirely from bitbake at some future date.
(From OE-Core rev: d6e5ceafcaef06b8a3f9acc2aa826a40a016f913)
(From OE-Core rev: 3bb5c6bd51c91ada7fc17451627b8954dbe9c09c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* we don't care about expression but value
* e.g. tune-xscale and tune-arm926ejs have different expression
in TUNE_CCARGS but with the same DEFAULTTUNE the result is the same
http://lists.linuxtogo.org/pipermail/openembedded-core/2012-September/030032.html
(From OE-Core rev: 03f1e34ea3ce80931e9c3cd2ab22824f28a7233b)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This reverts commit d6e5ceafcaef06b8a3f9acc2aa826a40a016f913 since
the value is clearly still being used in local file urls that are
only hit at do_unpack time.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
FILESPATH is the preferred way of finding files now. Having a value
for FILESDIR which defaults to paths which will have already been
searched is pointless at best. This is the final step in letting
us drop FILESDIR support entirely from bitbake at some future date.
(From OE-Core rev: d6e5ceafcaef06b8a3f9acc2aa826a40a016f913)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This means some of the hacks we have to tell where the package name ends and
the version starts in the directory layout becomes obsolete, simplifying the
work of some of the cleanup scripts. It also makes the layout slightly more
intuitive to the user.
It does force a rebuild onto the user but it will reuse sstate successfully.
(From OE-Core rev: 05075cf3138d1c61f5cf4fe0e1a4587acc00c692)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
As we move to systemd, udev is not provided by systemd where the arch
independent files are stored in /lib and /usr/lib and not in
${base_libdir} and ${libdir} which means the files like udev rules
go into /lib/udev or /usr/lib/udev. This patch adds these paths
to be packaged into default ${PN} output package from a recipe
(From OE-Core rev: 6cbc0c7bf3f35e18f0abd29e5a704fba55f88ab2)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
systemd_unitdir indicates the arch independent
files which are basically scripts and unit files
and systemd wants then to be in /lib always even
when base_libdir is /lib64, hence we have to reflect
that and not use base_libdir to define it. Otherwise
on architectures where base_libdir is lib64 e.g. ppc64
or multilibbed x86_64 this wont work
(From OE-Core rev: 50e713d4ae35f9b5f5f2a515a95d77573610d707)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Break the following 3 very long lines into 3 pieces, make a line under
80 characters, will modify BB_HASHBASE_WHITELIST and
BB_HASHCONFIG_WHITELIST in the next patch:
BB_HASHBASE_WHITELIST
BB_HASHCONFIG_WHITELIST
BB_SIGNATURE_EXCLUDE_FLAGS
[YOCTO #3299]
(From OE-Core rev: 1417f606982c591178dd408a7ef79f449a6e2554)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake uses PACKAGES_DYNAMIC as regexp
^ could make matching faster (and it will be more clear that we're expecting regexp not glob)
* made all those last '-' optional, use .* (or nothing)
(From OE-Core rev: 2f3ebdfa5f42dae51063b043cc4b0fbe20b40064)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In order to be more compliant with the Filesystem Hierarchs
Standard (FHS), this change removes the /usr/libexec default
in favor of ${libdir}/${BPN} (which is typically /usr/lib).
http://www.pathname.com/fhs/pub/fhs-2.3.html
This also address the native and STAGING variations
[YOCTO #2915]
(From OE-Core rev: 68c31b095a1cb20bd297df596024fc568614f5e8)
(From OE-Core rev: 406bd38b4232f9f399ef5ffe0b4fac72ed605a23)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The update-modules mechanism is something of a historical relic and it isn't
entirely clear that it has a great deal of value nowadays. Also, it causes a
problem when building a read-only rootfs since update-modules itself refuses
to configure offline.
Allow DISTROs to circumvent this whole thing by declaring (via DISTRO_FEATURES)
that they don't wish to use update-modules. This is backfilled for existing
distributions and will have to be marked as CONSIDERED by those who actually
don't want it.
(From OE-Core rev: 14bf8ed115453077b4d4042b4b70ed6b3bca2a9f)
Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If CCACHE is in the whitelist then CCACHE_DISABLE probably should be too.
(From OE-Core rev: c03f76160e3cc3cb4fbf3cee114665c34bff06e6)
Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We assume chrpath is provided natively so it should be listed in ASSUME_PROVIDED.
(From OE-Core rev: 97a3ea712003e8d48dc68c282e656591f39d2d1a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
license.conf hasn't been being parsed. It probably should be.
(From OE-Core rev: b393b31fee3b4d42890c2bcbba09ea231c131dea)
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This avoids the hardcoding of ${libdir}/locale which is all over the place,
and will facilitate use of ${exec_prefix}/lib/locale instead of
${libdir}/locale.
This doesn't actually change any output at this time. Verified this with
buildhistory against the packages produced from core-image-base.
(From OE-Core rev: b744f4cc2912334b8493a89525fd02af8e9b8edf)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The globs used for STAMPCLEAN were too greedy matching gcc-cross-initial
stamps for gcc-cross for example. This patch resolves that problem making
the assumption that PV starts with something numeric. This assumption
should hold in most cases and has a better failure case that the current
situation.
(From OE-Core rev: d7fbc70b6c6ac629d2a23ac16ab45461f88b4b26)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This takes advantage of new bitbake functionality to clean up stale stamp
files when creating new stamp files.
[YOCTO #2961]
(From OE-Core rev: e21b6c04e512a3bc2339a20045b7041f1d26e859)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently, SRCPV is just listed as having a value of ${@bb.fetch2.get_srcrev(d)}
which isn't helpful. This can mean that if PV changes, two recipes can have the
same sstate checksum despite having different PV values since the PV value itself
isn't tracked anywhere.
Adding this line means that the real PV value is expanded and recorded in the sstate
checksum, meaning the sstate packages no longer overlap. This is critical in ensuring
consistent builds for revipes using SRCPV.
(From OE-Core rev: a9fffadec4fb60547257cb3d7496b6e39ed07be8)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* now with subversion-native we know those 2 options are supported
* with https protocol used for SVN checkouts we cannot confirm certificate and do_fetch fails
Error validating server certificate for 'https://foo:443':
- The certificate is not issued by a trusted authority. Use the
fingerprint to validate the certificate manually!
Certificate information:
...
(R)eject, accept (t)emporarily or accept (p)ermanently? svn: E175002: Unable to connect to a repository at URL 'https://foo/trunk'
svn: E175002: OPTIONS of 'https://foo/trunk': Server certificate verification failed: issuer is not trusted (https://foo)
ERROR: Function failed: Fetcher failure for URL: 'svn://foo;protocol=https;module=trunk'. Unable to fetch URL from any source.
(From OE-Core rev: 8f1cedaaafd1248e77db84ac238fa88a318df2e9)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
"Package group" is a much more appropriate name for these than task,
since we use the word task to describe units of work executed by
BitBake.
(From OE-Core rev: 424dcf7046e4ad09dcc664eb1992201195247fcf)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
As discussed on the mailing lists, using a suffix to package names is
hard and has lead to many recipes having to do PKGSUFFIX games. Its
looking extremely hard to scale nativesdk much further without hacking
many recipes.
By comparison, using a prefix like multilib does works much better and
doesn't involve "hacking" as many recipes. This change converts nativesdk
to use a prefix using the existing multilib infrastructure.
(From OE-Core rev: 81813c0e322dc04ce4b069117188d8a54dfddb8c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The parallelism flags should not change the parse hash.
(From OE-Core rev: 6bfd4a6abd7488e663598620f4436ac49183528f)
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
BB_ENV_EXTRAWHITE is set by the bitbake wrapper script but not by
bitbake-layers, and thus it was affecting the data hash and thus
invalidating the cache. Any variables passed through from the
environment by being added to this variable should themselves
influence the hash already if they are not already excluded from,
the data hash, so BB_ENV_EXTRAWHITE can be excluded.
Similarly, DISABLE_SANITY_CHECKS is set by the hob script in order to
have sanity checks run later, but not set by the bitbake wrapper script.
It doesn't actually affect the build itself and so its value can also
be excluded from the data hash.
These changes prevent unnecessary reparsing between executions of
bitbake, bitbake-layers, and the initial pseudo build within the hob
script.
Fixes [YOCTO #2680].
(From OE-Core rev: 84bcacd5b4737520f0fc76333f0165ef5b87c207)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This was done this way so that the current machine configuration
would remain unaffected.
The rtc MACHINE_FEATURE will specify if a real time clock is avalaible.
(From OE-Core rev: 4a8232d959e24e73998d7541c4a524774387cabf)
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is works the way DISTRO_FEATURES_BACKFILL does.
(From OE-Core rev: bdf90789431f1a8e076fe33c8bfd19c7269d6dad)
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This function was modified in order to be used with other
variables then DISTRO_FEATURES. Use this new function name and
add the parameter needed.
(From OE-Core rev: a1ff96ae006accb08c58ad77d37c9e249ab94d57)
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* we should probably wait until
http://git.openembedded.org/bitbake/commit/?id=1e06d8012868ba5a31503dc99cbf18570be629d9
is in next required bitbake version, but error message if the directory doesn't exist is quite clear
* people with new enough bitbake could just change this in their local.conf
(From OE-Core rev: a1e4d32ede287f73c6acc796b43fe5b90c072fab)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We use -mtune flags which lets our application have
SPE intruction in them which is a good thing but when
running qemu especially in user mode these application
wont work with default powerpc emulation. Therefore we
have to add proper -cpu option to let qemu emulate for
a given cpu.
(From OE-Core rev: 695598415b4e9e17def7f04332bdbc0d24cc1efc)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Many recipes are now having to define PERLPATH and PYTHONPATH variables.
Creating USRBINPATH in bitbake.conf means we can remove all these lines
from the many recipes now needing this and simplify the code changes
needed in each case, reducing the chance of errors being introduced.
Also fixup glib python binary location issue and fix function indentation.
(From OE-Core rev: cf63d9068c3a8c635dfc240d30dfff278be9b0e2)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Originally, git was something new, not installed everywhere and had commandline
stability problems. This has changed and git it no longer makes sense to
continually build this when the system installed version is likely sufficient.
This speeds up build since recipes no longer have to wait for git-native to build
if they're fetched from a git:// SRC_URI.
Also add git to the sanity checks and drop the no unneeded svn reference.
(From OE-Core rev: 79e24186481770181565a18d177584d0d72399fe)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This completes the removal of these older variables and their replacement
with FETCHCMD. This change requires the latest bitbake to operate optimally.
(From OE-Core rev: 7dd2a12ebe49865720dcea60cd2ed13205c0c4fd)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This brings it into sync with the wget FETCHCOMMAND and RESUMECOMMAND
variables.
(From OE-Core rev: 0f8290ff1c9bc86c744f67ce6194dd6911533012)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The svn fetcher converted to use FETCHCMD a long time ago. This drops
several variables which are effectively useless.
(From OE-Core rev: 34a8cdafee145d04f8b526b094341c34cf36ba1b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
By doing this we can easily add addtional packages that can be
greedy before PN, but after some of the other standard packages.
This will also allow us to simplify the lib_package class to set
this variable.
(From OE-Core rev: b41b2bc584756956a48c9c5f91e7337e821105b2)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[YOCTO #1614]
Add the kernel headers to the kernel-dev package. This packages what was
already built and kept in sysroots for building modules with bitbake.
Making this available on the target requires removing some additional
host binaries.
Move the location to /usr/src/kernel
Before use on the target, the user will need to:
# cd /usr/src/kernel
# make scripts
This renders the kernel-misc recipe empty, so remove it.
As we use /usr/src/kernel in several places (and I missed one in the
previous version), add a KERNEL_SRC_DIR variable and use that throughout
the class to avoid update errors in the future.
Now that we package the kernel headers, drop the
kernel_package_preprocess function which removed them from PKGD.
All *-sdk image recipes include dev-pkgs, so the kernel-dev package will
be installed by default on all such images.
(From OE-Core rev: 6125ea40d4483965f793bd847b3ce14b668a5b1e)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Bruce Ashfield <bruce.ashfield@windriver.com>
CC: Tom Zanussi <tom.zanussi@intel.com>
CC: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
pcmciautils is the appropriate PCMCIA package these days.
(From OE-Core rev: 5066f7e9750253bc4678f2884e15f0333e60932b)
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This enables a switch to subversion 1.7 now bitbake is able to cope with
upgrading existing working copies. The impact of this change should be
minimal since we don't have many subversion recipes now.
(From OE-Core rev: ac0aa35ba6d7a21636bdd23d45ae0bf8112bdaa8)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(From OE-Core rev: 935a7f3847bd86ed78418db5cb6dd98ac0b6e65d)
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
USE_NLS is generally defined for uclibc based system builds
and generally its defined to 'no' there. However this variable
does not exist at all for eglibc/glibc distributions. This
patch adds a weak definition to 'yes' on eglibc based system
builds. This will ease out some of the cryptic contructs we
have to define certain options based on USE_NLS and also
checking got uclibc at the same time to avoid pythong exceptions
when its not defined.
(From OE-Core rev: 41db1bf69314e542a9d7ac1fb1b4bc65db75b642)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The autogen-native built error on FC17:
ccache: failed to create /dev/null/.ccache
This is because the default gcc command of FC17 is a symlink to ccache,
so the ccache will always be used regardless to the setting of CCACHE,
ccache uses $HOME/.ccache as the CACHE_DIR by default, but autogen set
HOME=/dev/null, so the error happens.
Disable ccache explicitly if it is not enabled would fix the problem,
otherwise it would always use ccache regardless to the setting of CCACHE
on Fedora 17.
The ccache 3.1.7 has a bug, it would always create $CCCHE_DIR/.ccache
even CCACHE_DISABLE=1.
Unset CCACHE_DISABLE in ccache.bbclass, since ccache only checks whether
there is a CCACHE_DISABLE in the environment or not, it doesn't care about
its value, so we need unset it explicitly when enable ccache.
[YOCTO #2554]
(From OE-Core rev: dd2bab9b6a973d8086dfb6282e781fd79d30b05a)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This switches to use the hash based signature generatior and update
layout_abi to match stamp file layout changes.
Angstrom and Poky did this a while ago. This brings the OE-Core defaults
into line with what is the best common practise at this point. Its been
discussed on the mailing lists and by the TSC at length, this just completes
the transition.
(From OE-Core rev: 4199efed48005a62267fa3374c33b13627d85f44)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The bitbake wrapper script is set up such that the -p (--parse-only)
command line option is not executed under pseudo, and it sets the
PSEUDO_BUILD variable to indicate whether or not pseudo is being used.
Since PSEUDO_BUILD is allowed through into the environment via
BB_ENV_EXTRAWHITE it influences the data hash and thus if you run
"bitbake -p" and then run bitbake again to actually build something, the
change to PSEUDO_BUILD causes the cache from the -p execution not to be
used. This is fixed simply by adding PSEUDO_BUILD to
BB_HASHCONFIG_WHITELIST in bitbake.conf so that it doesn't influence the
data hash.
Fixes [YOCTO #2600].
(From OE-Core rev: 1e50225df2d6b5f10c5648703282235a11b1efb3)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Since we now have PN as the end of the package list, we can almost get rid of
lib_package, each recipe can just add PACKAGES =+ PN-bin instead of the inherit
(From OE-Core rev: 7acdd6177fda4643d2f04f45eb7490e45a3d491e)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This change re-orders the PACKAGES list to move PN to the end of the list
this will ensure that base package gets the final bits since the packaging
is greedy. We can then have -dev and other package get bits first.
(From OE-Core rev: 66c36bcb7d9368718453265e58bd5e3c854c786a)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Set BB_SIGNATURE_EXCLUDE_FLAGS, which is used by the new varflag
checksum code in BitBake. The list is intended to cut out most of the
varflags that are generated internally, don't influence the output or
are already included in the checksum in some way. If need be this list
can be extended in the future. The existing vardepsexclude mechanism
can also be used to exclude undesired varflags, but they must be fully
specified, e.g.:
do_patch[vardepsexclude] += "do_patch[someflag]"
Implements [YOCTO #2517].
(From OE-Core rev: 2bed83c6237669b6fc6fa25b2a554efb73395ca6)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We want the help2man script in scripts/ to be found in preference to any from
the host system and from the native sysroot. It turns out to be tricky to
get the order right from layer.conf so we move the addition of the scripts
directory to bitbake.conf.
Without this, "bitbake libtasn1 -c cleansstate; bitbake help2man-native; bitbake libtasn1"
will fail due to finding the host system help2man before ours.
(From OE-Core rev: 859255dd30958db018d40ede94a76db36a98da7f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently, ccache is used if it is present. When building from scratch it gives
no performance improvement and creates a ton of empty directories even when its
not in use.
This change moves ccache support to a bbclass file which the user can choose to
enable. This should make builds more determinstic and make it easier/clearer
to the end user when its being used and when it is not.
(From OE-Core rev: 2acf8da4f13c175ea818b9514677b7059de1e3e2)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The wget default is a 900 second timeout and 20 retries. This is way too long
for most of our usecases so this patch changes it to a 30 second timeout and
reduces retries from 5 to 2. We have good mirror infrastructure, this will
let us fall back to it easier.
(From OE-Core rev: 48429569b9f83fde8f9802cfd8674fa24178876c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The location of the ccache should not affect the sum in the sstate
files.
The end user should be free to use an external ccache via defining
CCACHE_DIR to a new value in local.conf or using the default per
package local ccache in the temp directory.
(From OE-Core rev: 8d49d92fc2e581820e410c6a4dceb30911d949e0)
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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
(From OE-Core rev: cf332fd9bf685f6d42b11c1f0c37b934c7f5bcbe)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* also use weak assignment for SDK_NAME_PREFIX as suggested by khem
* TUNE_PKGARCH is not 100% right too, because such SDK image usually has few
machine specific packages included (e.g. base-files, securetty, opkg configs)
but those are not important for SDK users so it's better to have one SDK for
whole e.g. armv7a-vfp-neon then 6 SDK for each machine which would work the
same.
You can see diff between crespo and om-gta04 SDK here:
http://build.shr-project.org/shr-core/sdk/oecore-i686-armv7a-vfp-neon-toolchain-efl-crespo-om-gta04.diff
(From OE-Core rev: 5a1f172d35be610688842a8a9a84f24edb9aeb51)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The value of PARALLEL_MAKE shouldn't affect sstate checksums. In general it
doesn't as the value is injected as a task override and the sstate checksum
doesn't track these. That isn't the case for linux-yocto in particular so
adding it the list of variables to ignore is useful.
(From OE-Core rev: a0fbbd7ba979b8aaee701e0997115f89b361b920)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We may define new OELAYOUT_ABI variable in ${DISTRO}.conf, therefore we
need to move the abi_version.conf before that.
(From OE-Core rev: 4e1a8ed1ab7e7bd950e511c79ddfe072cb280a6e)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a new README that covers the basic items used with various cpu
tunings. The goal is to better help people understand the various
settings and where things should or should not be defined.
Corresponding architecture README files will also be generated to
explain the particulars of architectural tunings.
Also remove the default TUNE_PKGARCH setting in bitbake.conf. This
was done to ensure an error occurs if an invalid tuning is defined.
(From OE-Core rev: e138f9f7e48e0af94c5c88045c4f0581cc68248d)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Reluctantly revert this since it breaks the tar-native workaround we have
for old versions of tar :(
This reverts commit 01218e29f9.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some of oe-core's recipes need to know where systemd units are. Since the
directory might change in the future [1], we set the location once globally to
reduce maintenance efforts
[1] http://www.gossamer-threads.com/lists/gentoo/dev/245758
(From OE-Core rev: bac4871105bc6bfa820955f28b4657740ea41961)
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If DISTRO is not set, FILESPATH becomes littered with directories like
files/${DISTRO} etc. It won't bomb until you try to eval it - i.e.
manipulating FILESPATH directly with .= works fine, but calling e.g.
base_set_filespath() throws this:
ERROR: Failure expanding variable FILESPATH, expression was ${@blah} which
triggered exception SyntaxError: EOL while scanning string literal (FILESPATH,
line 1)
(From OE-Core rev: abacd7243a2e4cca216797c4a36ff66ae968ddbd)
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This resolves issues related to pigz-native when installing from sstate that people
have been seeing. It also gives us a way to solve issues like the gzip-native race
during sstate package creation covered in Yocto #1774.
(From OE-Core rev: 518dffe20178f5969dddccb17d6ab347afb72beb)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some variables are not needed when calculating cache's hash, this
commit removes them.
(From OE-Core rev: d5cc38264dc4b0f220db541f94be6219fd2d91f9)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Otherwise, recipes that only append to SRC_URI instead of
overwriting it will get the full path of the recipe written
into the Source: field of the package.
(From OE-Core rev: 516d2029b31b014de1c87d23dd86208a4480579c)
Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Using "1" with getVar is bad coding style and "True" is preferred.
This patch is a sed over the meta directory of the form:
sed \
-e 's:\(\.getVar([^,()]*, \)1 *):\1True):g' \
-e 's:\(\.getVarFlag([^,()]*, [^,()]*, \)1 *):\1True):g' \
-i `grep -ril getVar *`
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a pulseaudio DISTRO_FEATURES item and disable pulseaudio support in
phonon within Qt4 if it is not present; otherwise it is a race condition
as to whether it is enabled or disabled or breaks the build.
Note that this adds pulseaudio to DISTRO_FEATURES_BACKFILL thus leaving
existing distro configurations unaffected.
(From OE-Core rev: b82c216c1ee8e2a009e87856b7adad08f7f50482)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a default value for TUNE_PKGARCH. This let's us use
the following:
TUNE_PKGARCH_tune-ppce500
Instead of scanning over variables and using bitbake internal
functions to create a valid value here.
(From OE-Core rev: 785962440131f993b912d26cba39dc7ffc91aad4)
Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We have various variables which are either not quoted at all or are half
quoted. This patch fixes the bad exmaples so everything is consistent.
(From OE-Core rev: 30253358f5e76fb7b25be27198b4c125e0dbdf2c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* SDKPATH shouldn't depend on TARGET_ARCH as discused here:
http://lists.linuxtogo.org/pipermail/openembedded-core/2012-February/018222.html
* introduce SDK_NAME_PREFIX so that distributions can overwrite only
this instead of whole SDK_NAME
(From OE-Core rev: 54821d53f75eb31f1eca3809e674680316dcbf69)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* some people prefer subdirectory like ${TMPDIR}/cooker/${DATETIME}.log
(From OE-Core rev: d3a06178202c65ce52ea8ad7af5b72ed5c0881d4)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When introducing new items to DISTRO_FEATURES that control functionality
that is already enabled, in order to leave existing distro configuration
unchanged we need a way to "backfill" these new feature items onto the
existing DISTRO_FEATURES value.
This introduces a DISTRO_FEATURES_BACKFILL variable whose items will be
added to the end of DISTRO_FEATURES, unless they also appear in
DISTRO_FEATURES_BACKFILL_CONSIDERED which distros can use in their
configuration to prevent specific items from being added.
Fixes [YOCTO #1946].
(From OE-Core rev: 738658d9d5ddef026d2929188744aa225324bf26)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
These values are now set via palmtop-defs.bbclass in meta-opie (and are
not needed for anything else.)
(From OE-Core rev: a18de4dc0b988c79964354496a6a93c7ee5a28f6)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This signature generator will allow easier customisation of which task
dependencies get included in the signatures using the code in
lib/oe/sstatesig.py. Compared the the regexp, this function is much
easier to understand and customise.
(From OE-Core rev: 2654adc15e59e72e80cf78dc576fdc5472edac20)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use the -nv instead of -q command line option for wget so that if
fetching from a URL that the wget fetcher handles (e.g. http) fails, we
get a possibly useful error message (but it still remains relatively
quiet when the fetch succeeds.)
(From OE-Core rev: 81dcfc5e7a93d74caafde1dff923bfe6c008d9ea)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changes to BUILD_LDFLAGS are required due to the recent movement of some
libraries from ${libdir} to ${base_libdir}. ${base_libdir} must be now
in the linker search path to avoid build problems of -native packages.
(From OE-Core rev: 46bf69dcfa99a3a8677b241bb32bed2f30255ece)
Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>