Age | Commit message (Collapse) | Author | Files |
|
The existing check for SKIP_FILEDEPS can be overridden per recipe
using SKIP_FILEDEPS_pn-${PN}. However, there's no mechanism for
letting a single package within a recipe use SKIP_FILEDEPS.
This patch adds SKIP_FILEDEPS_<pkg>, by analogy to FILES_<pkg>.
Note that it only works one way; if the recipe has SKIP_FILEDEPS = 1,
the checks for individual packages will never be reached.
Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
We may as well expand the RDEPENDS when reading and writing as this function does.
if we don't do this, we could accidentally duplicate data and it also turns out
to be much less efficient.
(From OE-Core rev: d62a3151e7b252911c172a605b3089de355663c5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Currently we do a signficant amount of tree traversal in many different places
which in inefficient. We can assume that the files don't change and cache the
file list which gives an efficiency improvement which this patch does using
a global variable.
(From OE-Core rev: 2d7608842d2dab07065e60aab729a5c8fd6b7907)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Improve package_fixsymlinks so we don't handle RDEPENDS for every single package
in PACKAGES.
(From OE-Core rev: 20ff8feb95d54e4db646f8c0cb006ce187e288af)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Move package_rename_hook call into PACKAGEFUNCS and also move package_get_auto_pr
to a more appropriate execution point, grouping package metadata handling
functions together.
(From OE-Core rev: a3f41cfbc8923e54198d10db292a11ef2edda4d7)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The symlink handling code doesn't need to being part of populate_packages
and is logically separate so split it out into a separate function,
package_fixsymlinks.
(From OE-Core rev: fc964ed2b558b08327e2bc8c93ada80ca9d97337)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
We only use the PKG variable in emit_pkgdata so we might as well move the
fallback code there, allowing restructuring of other parts of the metadata.
(From OE-Core rev: 0136ae9a5f719f0e7ba6e00bfd366c0e61b3b3f2)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
There is no real point in adjusting overrides and creating a copy of the datastore,
just to access a single variable. We can do this just as easily with a slightly
more complicated getVar call. This improves performance.
(From OE-Core rev: 69f4351809359a0c7c38e8f233f3e3f7680ed2e2)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
There is no need to check FILES in each loop iteration, we can just check it once
at the start when we read the variable.
(From OE-Core rev: 1bcc5cba12cbb1b846b433719d1b0820f5a97105)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The mkdir function iterates over strings with many different operations,
even if ultimately the target already exists. This adds a check to the start
of the function so we don't waste time when the target already exists.
(From OE-Core rev: 06e188e673313f1eb9ae7d85ae64467c8d2a94b3)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Currently the kernel module handling consists of several special cases
and has its own path walking. This refactors the code to handle them in
a more standardised way which is also a bit more efficient.
(From OE-Core rev: ad51b54f0afe8c56033137b7cf9ba398877b2651)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The splitfile and splitfile2 function names are confusing and the comments
are also misleading, hard to understand or plain incorrect. This tries to
improve things.
(From OE-Core rev: 46f3050a1f46f814e2d031e7e71600b2932d631c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
As long as we support only one locale package per recipe this leads to unwanted
packages in images. This patch was motivated by samba (meta-oe): only wanting
libsmbclient one gets full samba server into the image. For my standard image
the follwing package were removed by this patch:
-acl_2.2.51-r3_armv7a-vfp-neon.ipk
-alsa-states_0.2.0-r3_armv7a-vfp-neon.ipk
-alsa-utils_1.0.25-r3_armv7a-vfp-neon.ipk
-alsa-utils-aconnect_1.0.25-r3_armv7a-vfp-neon.ipk
-alsa-utils-alsaconf_1.0.25-r3_armv7a-vfp-neon.ipk
-alsa-utils-alsactl_1.0.25-r3_armv7a-vfp-neon.ipk
-alsa-utils-alsaloop_1.0.25-r3_armv7a-vfp-neon.ipk
alsa-utils-alsamixer_1.0.25-r3_armv7a-vfp-neon.ipk
-alsa-utils-alsaucm_1.0.25-r3_armv7a-vfp-neon.ipk
-alsa-utils-amixer_1.0.25-r3_armv7a-vfp-neon.ipk
-alsa-utils-aplay_1.0.25-r3_armv7a-vfp-neon.ipk
-alsa-utils-aseqdump_1.0.25-r3_armv7a-vfp-neon.ipk
-alsa-utils-aseqnet_1.0.25-r3_armv7a-vfp-neon.ipk
-alsa-utils-iecset_1.0.25-r3_armv7a-vfp-neon.ipk
-alsa-utils-midi_1.0.25-r3_armv7a-vfp-neon.ipk
-alsa-utils-speakertest_1.0.25-r3_armv7a-vfp-neon.ipk
-attr_2.4.46-r4_armv7a-vfp-neon.ipk
-avahi_0.6.31-r7.1_armv7a-vfp-neon.ipk
-gtk-engines_2.20.2-r3_armv7a-vfp-neon.ipk
-pulseaudio_2.1-r15_armv7a-vfp-neon.ipk
-samba_3.6.8-r6_armv7a-vfp-neon.ipk
-vte_0.28.2-r5_armv7a-vfp-neon.ipk
-xz_5.1.2alpha-r0_armv7a-vfp-neon.ipk
Strange effect: For samba buildhistory's depends.dot says:
-samba -> libc6;
-samba -> libgcc1;
-samba -> libreadline6;
-samba -> libtalloc2;
-samba -> libtdb1;
-samba -> libwbclient0;
-samba -> libz1;
-samba -> update_rc_d;
-samba_locale_de -> samba [style=dotted];
samba_locale_de -> virtual_locale_de [style=dotted];
-samba_locale_fr -> samba [style=dotted];
-samba_locale_fr -> samba [style=dotted];
This is conflicts to buildhistory's result on samba package not mentioning
any changes for samba package.
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
Currently, do_rootfs has a dependency on all the do_package output being present
due to its usage of the pkgdata directories. This means that if you run:
bitbake xxxx-image -c rootfs
you end up having to fetch and unpack all the do_package data which is usually
large and inefficient. It also means rm_work has to leave all the do_package
data lying around so rootfs works.
This patch splits the actual creation of the pkgdata directory off into a separate
task, "packagedata" which happens immediately after do_package. We can then remap
the dependencies so this task is depended upon, not do_package. Sstate can then be
programmed not to require do_package at the appropriate times.
Whilst this patch doesn't do so, it opens the possibility of rm_work wiping
out the do_package output from WORKDIR as long as it also removed the do_package
stamp (both normal and setscene variants) and allowing more space savings
with rm_work which has been regularly requested.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
- 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]
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
I found that if I had two packages architectures built (say core2 and i586),
that the shlibs data from i586 was being used in the core2 build. This
lead to odd dependency issues if the i586 build was out of date and core2
was being targetted.
When loading shlibs files, the last loaded wins so we need to iterate the
lists from least to strongest weighting, not the other way around. With this
patch applied, the contamination issue is resolved.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
b27b438221e16ac3df6ac66d761b77e3bd43db67 introduced a regression when
PKGV is modified by the recipe. E.g. when having something like
| PV = "1.7.33+gitr${SRCPV}"
| PKGV = "1.7.33+gitr${GITPKGV}"
| RDEPENDS_${PN}-subpkg += "${PN} (= ${EXTENDPKGV})"
| inherit gitpkgv
The resulting core package has
| Version: 1.7.33+git234+cd01e8c-r11
and because the subpackage has
| Depends: vdr (= 1.7.33+git0+cd01e8c18d494150730214f033f84e5282ce7639-r11)
image build fails with
| * satisfy_dependencies_for: Cannot satisfy the following dependencies ...
| * vdr (= 1.7.33+git0+cd01e8c18d494150730214f033f84e5282ce7639-r11)
Patch avoids the 'PKGV = "cleanup(${PV})"' operation and replaces
AUTOINC directly within PKGV. This might introduce a regression too
when 'AUTOINC' is added to PKGV intentionally but impact is small and
can be fixed trivially by using another string.
Signed-off-by: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Cc: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Since the "packages" variable is already tested a few lines above in
the same routine:
if len(packages) < 1:
bb.debug(1, "No packages to build, skipping do_package")
return
there is no point testing it again, and the error message doesn't even
refer to "packages", anyway.
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
- all the recipes that overwrite LOCALEBASEPN must consider
also the MLPREFIX
- if the LOCALEBASEPN variable is not overwritten then it will
have the correct prefix (LOCALEBASEPN ??= "${PN}")
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
- skip the non-packagegroup allarch recipes in multilib_virtclass_handler
- extend PROVIDES/RPROVIDES for allarch recipes which are not packagegroups
- use variants from MULTILIB_GLOBAL_VARIANTS (lib32 lib64 libx32) to create
additional pkgdata files for multilib allarch: ${pkgdatadir}/${variant}-${PN}
and ${pkgdatadir}/runtime/${variant}-${pkg}
- use variants from MULTILIB_VARIANTS to create additional pkgdata files
for multilib kernel/module-base recipes
- add a sanity check to determine if the current multilib is in
MULTILIB_GLOBAL_VARIANTS
[YOCTO #2918]
[YOCTO #3440]
[YOCTO #3565]
[YOCTO #3568]
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
We need to prepend MLPREFIX to LOCALEBASEPN in order to
fully enable multilib
[YOCTO #3440]
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This function has different behaviour if the split directory doesn't exist
depending on the recursive argument: non-recursive uses os.listdirs which throws
an exception, recursive uses os.walk which doesn't.
do_split_packages should silently handle non-existent directories because it's
mainly used for plugin directories, which may end up being empty though changing
the distro configuration (for example, connman without wifi distro feature).
So, add an early exit if the split root doesn't exist.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
- adapt the PRServer to generate an incremental number for every revision set
associated with a (PN, PV)
- use one incrementing value rather than several
- PV becomes 0.1+gitAUTOINC+deadbeefdecafbad_decafbaddeadbeef
- if PV contains 'AUTOINC' set PKGV to the same thing with AUTOINC replaced
with the "auto PR" value
- if the PRServer isn't running replace AUTOINC with 0 (no package feeds, but usual
image creation would work)
- use the PR table with "AUTOINC-${PV-without-SRCREVs}" as key
- modify prexport/primport to address the generated srcrev entries
- this patch addresses the following proposal:
http://lists.linuxtogo.org/pipermail/bitbake-devel/2012-November/003878.html
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
With the change to WORKDIR layout, splutting PN and PV into two directories,
the debugsrc splutting code layout became suboptimal. This changes things to
include the information as it was before. Ideally this code would be written
to more generically support other layouts buts it not clear that the tools
would even support that right now so this is the best immediate fix.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
When copying the source files needed for the -dbg package, use hardlinks
where possible. This saves some disk space and hence helps performance
of the builds.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Without this, we'd rerun packaging for every machine since this variable contains
a machine specific component.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
non-machine specific
Currently, do_package is machine specific since the shlibs data is installed
into each machine specific sysroot. This change moves the shlibs data to the
pkgdata structure, at the expense of having to iterate over a set of shlibs
directories instead of a single one.
It turns out this isn't any particular hardship for the code and as a result,
do_package stops being machine specific leading to optimisations for builds
that use a common PACKAGE_ARCH.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The virtual-locale-* packages are provided by libc which may or
may not have a matching locale for any given recipes's provided locales.
Certainly, we shouldn't get a failure if the locale package isn't
available.
This patch therefore makes the dependency optional rather than
required, allowing the locale packages in question to install. This
resolves errors like:
virtual-locale-eo is needed by bash-locale-eo-4.2-r5.i586
virtual-locale-en+boldquot is needed by bash-locale-en+boldquot-4.2-r5.i586
virtual-locale-en+quot is needed by bash-locale-en+quot-4.2-r5.i586
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
explode_dep_versions change
We need to iterate over the dictionary pulling out the values, not take the top
level keys. If we don't do this, we end up with dependencies on the values of
PACKAGES, not library dependencies.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The bb.utils.explode_dep_versions function has issues where dependency information
can be lost. The API doesn't support maintaining the correct information so this
changes to use a new function which correctly handles the data.
This patch also fixes various points in the code to ensure that we do not have any
duplicates in things that use explode_dep_versions.
A new sanity test to test the contents of the R* variables is also added.
[Some changes from Mark Hatle <mark.hatle@windriver.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.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
runstrip(path, elftype, d) does bitwise & on the elftype parameter, so it has
to be passed an integer. Passing None fails with: TypeError: unsupported
operand type(s) for &: 'NoneType' and 'int'.
Signed-off-by: Tomas Frydrych <tomas@sleepfive.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
This function takes quite a number of arguments and can be tricky to use
properly; this is not made easier if it is undocumented, so document all
of the arguments. (No functional changes, comments only.)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
It was pointed out we have a number of weird indentations in the python functions.
This patch cleans up 3, 7 and other weird indentations for the core bbclass files.
It also fixes some wierd (odd) shell function indentation which my searches picked up.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
When building the meta-toolchain, the binaries didn't get relocatable
RPATHs. They were hardcoded to the default path. Hence, if one had
already installed one SDK in the default path and one in another
location, the later toolchain's binaries would search and load libraries
from the first location, ending in a "Segmentation Fault".
[YOCTO #2927]
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
If ${PN} is not in PACKAGES then don't add it as an RDEPENDS for each
locale package. This fixes the installation of gcc-runtime locale
packages, for example.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Change binaries RPATHs, to include $ORIGIN, to make them relocatable.
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
* some packages have .ko files which are not elf, without this change
it fails with TypeError, with this change only runstip fails and
reports where:
ERROR: runstrip: ''arm-oe-linux-gnueabi-strip' '/OE/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/emacs-23.4-r0/package/usr/share/emacs/23.4/etc/tutorials/TUTORIAL.ko'' strip command failed
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
If do_package needs to be re-run and packages are removed/renamed as a
result, we want the corresponding stale pkgdata files to no longer be
present; for that we need to ensure all of the old pkgdata files are
cleaned out prior to creating the new ones. This is particularly
important now we rely on pkgdata more heavily (for complementary
packages, license manifest, etc.).
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Make dbg package dependencies added via DEPCHAIN_POST less aggressive -
only add dependencies on dbg packages for shared library dependencies.
This avoids dragging in extraneous packages (such as eglibc-dbg forcing
bash-dbg to be installed) whilst preserving the ability to easily debug
into shared libraries in use by an application by just requesting the
installation of the single dbg package for that application.
For task recipes however we preserve the previous behaviour, since when
you install task-xxx-dbg you expect the dbg packages for every package
in the task to be installed. Unfortunately not all of our tasks inherit
from task.bbclass so we just use a name match - this should be tidied up
later.
Fixes [YOCTO #2599].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
Avoid adding dependencies to dev and dbg packages on themselves via the
DEPCHAIN_* handling code. These don't actually cause any problems, but
they do complicate dependency graphs.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
While generating license.manifest package information is searched in:
filename=`ls ${TMPDIR}/pkgdata/*/runtime/${pkg}| head -1`
This is ok as long as package name is the same as the package name
after packaging.
For example dbus is packaged as dbus-1. So, searching
ls ${TMPDIR}/pkgdata/*/runtime/dbus-1 will fail because there is no file
with this package name.
Create a symlink to the pkgdata file in a runtime-reverse directory so
that these reverse lookups are possible.
Fixes [YOCTO #2638].
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
The bb and os modules are always imported so having these extra import calls
are a waste of space/execution time. They also set a bad example for people
copy and pasting code so clean them up.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
In the usual case, the computed path used for debugedit to fix
up path references for the target filesystem is correct. However,
prebuilt binary components, such as prebuilt toolchains, can
have debug paths that do not reflect paths within the local
build directory. Providing an override lets us continue to use
the standard debugedit logic in package.bbclass.
Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
Package install failures due to issues in post install rules.
package_do_shlibs only looks for libraries in a directory "lib", this should be
modified to the variable baselib.
ldconfig_postinst_fragment failure observed on systems without /sbin/ldconfig
[ -x /sbin/ldconfig ] && /sbin/ldconfig
results in the post install rule returning a failure. Modify to
if [ -x /sbin/ldconfig ]; then /sbin/ldconfig; fi
Signed-off-by: Amy Fong <amy.fong@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
This will allow the reporting of these errors as either WARNINGs (default)
or ERRORs if installed_vs_shipped is added to the ERROR_QA of the policy
file (such as a <distro_name>.conf file.
V2: found the code I had intended to send instead of that other junk,
was just not watching what I pushed on that one, sorry. (this is edit in
no in the actual commit message)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
Most of the time skipping per file dependency generation is a bad idea, but
when building a nativesdk or similar you may be required to pickup host
dependencies. These host dependencies can not always be reconciled within
the scope of other nativesdk components, so if we skip them we can facilitate
this unique situation.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|