Age | Commit message (Collapse) | Author |
|
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
License-Update: copyright years, formatting
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
0001-Fix-alsa-sound-.h-for-external-programs.patch
0001-configure.ac-remove-an-unnecessary-libtool-fix.patch
0001-uapi-Move-typedefs-from-uapi-to-sound.patch
0001-ucm-Use-strncmp-to-avoid-access-out-of-boundary.patch
0002-ucm-return-always-at-least-NULL-if-no-list-is-availa.patch
0003-namehint-correct-the-args-check.patch
0004-namehint-improve-the-previous-patch-check-the-return.patch
0005-ucm-Do-not-fail-to-parse-configs-on-cards-with-an-em.patch
removed since they are included in 1.2.2
Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
There are issues with multilib due to the ordering of events where some
functions see the remapped multilib dependencies and some do not. A significant
problem is that the multilib class needs to make some changes before key expansion
and some afterwards but by using existing event handlers, some code sees things
in a partially translated state, leading to bugs.
This patch changes things to use a new event handler from bitbake which makes the
ordering of the changes explcit.
The challenge in doing this is that it breaks some existing anonymous python and
dyanmic assignments. In some cases these used to be translated and no longer are,
meaning MLPREFIX has to be added. In some cases these are now translated and the
MLPREFIX can be removed.
This change does now make it very clear when MLPREFIX is required and when it is
not, its just the migration path which is harder. The patch changes the small number
of cases where fixes are needed.
In particular, where a variable like RDEPENDS is conditionally extended (e.g.
with an override), MLPREFIX is now required.
This patch also reverts:
base: Revert 'base.bbclass: considering multilib when setting LICENSE_EXCLUSION'
This reverts 6597130256a1609c3e05ec5891aceaf549c37985 as the changes
to multilib datastore handling mean its no longer necessary.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
I moved the ALLOW_EMPTY line next to the line that sets FILES to "".
That makes it easier to see that the package is not only allowed to be
empty, but forced to be empty.
Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The topology configuration files were moved from the alsa-lib repository
to a new alsa-topology-conf repository. The move was accompanied by
a license change from LGPL2.1 to BSD-3-Clause.
Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The UCM configuration files were moved from the alsa-lib repository to a
new alsa-ucm-conf repository. The move was accompanied by a license
change from LGPL2.1 to BSD-3-Clause.
Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Changelogs:
https://alsa-project.org/wiki/Changes_v1.1.9_v1.2.1
https://alsa-project.org/wiki/Changes_v1.2.1_v1.2.1.1
https://alsa-project.org/wiki/Changes_v1.2.1.1_v1.2.1.2
This upgrade brings support for the new "UCM2" configuration format.
Another big change is that the UCM and topology configuration files were
moved to separate repositories, so those are removed from alsa-lib and
will need to be packaged separately.
The topology API was moved from libasound to a separate libatopology
library. This seems like a recipe for regressions for applications that
used to use libasound for the topology stuff, but I don't think there
are many applications in existence that use the topology API. I hope the
upstream knows what they are doing.
Patches added:
0001-configure.ac-remove-an-unnecessary-libtool-fix.patch
This fixes a failure during configure.
0001-ucm-Use-strncmp-to-avoid-access-out-of-boundary.patch
0002-ucm-return-always-at-least-NULL-if-no-list-is-availa.patch
Backports. I don't know if these are regression fixes, but since the UCM
code was heavily worked on in this upgrade, it seems likely that these
patches fix regressions.
0003-namehint-correct-the-args-check.patch
0004-namehint-improve-the-previous-patch-check-the-return.patch
Backports. A change in alsa-plugins caused a regression in the pulse
plugin, but that was actually due to a bug in alsa-lib, which is fixed
by these patches.
0005-ucm-Do-not-fail-to-parse-configs-on-cards-with-an-em.patch
Backport. Fixes a regression with some Intel hardware.
0001-Fix-alsa-sound-.h-for-external-programs.patch
0001-uapi-Move-typedefs-from-uapi-to-sound.patch
Backports. These fix build failures in alsa-tools.
I removed alsa-doc from PACKAGES, because no files were assigned to it.
Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This avoids including irrelevant information when calculating the
license checksum.
License-Update: Trim the text part used for the license file checksum
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This avoids including irrelevant information when calculating the
license checksum.
License-Update: Trim the text part used for the license file checksum
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Change the default configuration so that it doesn't need GTK+ 2 to build, as
GTK+ 2 is obsolete.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Changelog:
http://alsa-project.org/main/index.php/Changes_v1.1.6_v1.1.7
The two patches have now been upstreamed. Apart from those changes, the
only thing that changed was the hwmixvolume tool, which got ported from
PyGTK to PyGObject, and from GTK 2 to GTK 3.
When testing hwmixvolume, I found that it depends on pyalsa, which has
not been packaged for OE. I believe hwmixvolume has never worked on OE.
It certainly didn't work before this patch, trying to build it failed
due to python-pygtk not being available. Even if python-pygtk was
available at some point in the past, hwmixvolume has always used pyalsa,
but the alsa-tools recipe has never had that dependency declared.
Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The ftp server has been flaky recently.
Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Changelogs:
http://alsa-project.org/main/index.php/Changes_v1.1.6_v1.1.7
http://alsa-project.org/main/index.php/Changes_v1.1.7_v1.1.8
There's a new program, axfer, which is a reimplementation of aplay (and
arecord). The purpose of the rewrite is to have code that is easier to
maintain. For now both implementations exist, and I decided to put both
in the aplay package.
The new 89-alsa-ucm.rules udev file initializes the mixer settings for
certain hardware. It's needed for making the hardware usable at boot, in
case there's no higher level software (such as PulseAudio) managing the
mixer settings. Shipping hardware specific configuration in alsa-utils
seems wrong, but I don't know what else to do. I added it to the alsaucm
package, because it's kind of tied to the alsaucm utility (the udev
rules execute the alsaucm program, and the build system installs the
rules file only when alsaucm is enabled). Ideally the UCM configuration
in alsa-lib would define the default UCM verb for each hardware, then
the udev rules file could just enable the default verb, and there would
be no hardware specific configuration in alsa-utils. But that requires
upstream development effort.
SRC_URI was changed to a more reliable source (at least currently the
ftp server is flaky).
Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Changelogs:
http://alsa-project.org/main/index.php/Changes_v1.1.6_v1.1.7
http://alsa-project.org/main/index.php/Changes_v1.1.7_v1.1.8
The --enable-avcodec configure option was renamed to --enable-libav, and
I renamed the respective packageconfig item too.
There's a new pcm plugin: aaf (AVTP Audio Format). I added a
packageconfig item for it, but I didn't test it, because libavtp doesn't
seem to be currently packaged for OpenEmbedded.
There are now configuration files for most of the plugins. I removed the
symlink creation for 50-pulseaudio.conf, because upstream now creates
the symlinks for us. 99-pulseaudio-default.conf is an exception, because
upstream ships it only as an example, and upstream doesn't install a
symlink for it (upstream actually installs it directly under /etc, but I
moved it back to /usr/share), so for that file we still have to create
the symlink ourselves.
The lavcrate plugin was converted to use libavresample (and renamed to
lavrate). Libavresample is provided by ffmpeg, but ffmpeg was by default
built with libavresample disabled. This patch now enables libavresample
by default in the ffmpeg recipe in order to not cause a regression in
alsa-plugins.
SRC_URI was changed to a more reliable source (at least currently the
ftp server is flaky).
Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Changelogs:
http://alsa-project.org/main/index.php/Changes_v1.1.6_v1.1.7
http://alsa-project.org/main/index.php/Changes_v1.1.7_v1.1.8
One significant change was that the search path of add-on configuration
files was changed from /usr/share/alsa/alsa.conf.d to /etc/alsa/conf.d.
Packages that install such files should still use the /usr/share
location, though. Symlinks need to be created from /etc to /usr/share.
The rationale for using /etc is that the system administrator can better
control the configuration that way, and the rationale for installing
files under /usr/share is that configuration snippets that are installed
by packages are not meant to be directly edited by the administrator.
alsa-plugins had to be modified to add symlinks for the configuration
snippets that it installs. I also added FILES_${PN} = "", because the
alsa-plugins package is supposed to be empty, but also because for some
reason that I don't understand the symlinks would otherwise go to the
alsa-plugins package rather than alsa-plugins-pulseaudio-conf.
SRC_URI was changed to a more reliable source (at least currently the
ftp server is flaky).
Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Fix handling of escape characters in regexs and hence fix python
Deprecation warnings which will be problematic in python 3.8.
Note that some show up as:
"""
meta/classes/package.bbclass:1293: DeprecationWarning: invalid escape sequence \.
"""
where the problem isn't on 1293 in package.bbclass but in some _prepend to a
package.bbclass function in a different file like mesa.inc, often from
do_package_split() calls.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Cleans up the packaging by moving libasound.so.2 back into the alsa-lib
package which was previously empty.
Previously, it was difficult to create an image that had libasound.so.2,
then create an SDK from that image that had the proper development
files, because the only way to get libasound.so.2 was to do:
IMAGE_INSTALL += "libasound"
This however caused a problem because all of the development files that
would be desired in the SDK were located in alsa-lib-dev, which wouldn't
be included because alsa-lib wasn't included, and it was impossible to
include alsa-lib because it was an empty package that was culled.
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
alsa-tools is actually a collection of 20 separate tools, each with their own
configure scripts. The dependencies are varied, old, and estoric (FLTK, GTK+ 1, 2,
and 3, PyGTK 2, Qt3).
Instead of maintaining patches to try and pick a subset that builds, use
PACKAGECONFIG and some magic to build what the user requests.
By default we build all the tools which have no dependencies, and the tools
which need GTK+ 2 or GTK+ 3 if the relevant DISTRO_FEATURES are enabled.
Add a patch to fix the build of ld10k1 with musl.
The ncurses build dependency doesn't seem to be checked for, so remove that.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Dropped 0001-alsactl-don-t-let-systemd-unit-restore-the-volume-wh.patch,
because an equivalent patch is included in the new release.
License-Update: FSF address updated
Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
License-Update: FSF address updated
Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
License-Update: FSF address updated
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
License-Update: FSF address updated in hdsploader/COPYING and ld10k1/COPYING.LIB
Fix built with clang along the way
Package python dependent tools into a separate package
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Merge historical .inc file into the only recipe which uses it.
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
If alsa-utils configure is not passed a --with-udev-rules-dir option then
it defaults to using /lib/udev/rules.d. This meant that the hard-coded use
of ${D}/lib in do_install in 262e69c9c7acf0beb7bb6b96299e3c993c906434
worked correctly to remove the unwanted rules.
Subsequently, 0a4372705a030ca54ed420cdfec33d46ab93499c changed do_install
to use ${nonarch_base_libdir}, claiming to fix this in the usrmerge case.
This means that if udev is not present in PACKAGECONFIG and usrmerge is
present in DISTRO_FEATURES then the alsa-utils build system will install
the rules in ${D}/lib/udev/rules.d but do_install will attempt to remove
${D}/usr/lib, resulting in something like:
rmdir: failed to remove '.../tmp-glibc/work/i586-oe-linux/alsa-utils/1.1.5-r0/image/usr/lib': No such file or directory
To fix this, let's just tell configure to install the rules in a specific
known location when udev is disabled. This location can then easily be
cleaned up in do_install without doing any harm if udev is enabled.
Tested both with and without usrmerge in DISTRO_FEATURES and with and
without udev in PACKAGECONFIG.
Signed-off-by: Mike Crowe <mac@mcrowe.com>
Cc: Phil Blundell <pb@pbcl.net>
Cc: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Changes:
http://www.alsa-project.org/main/index.php/Changes_v1.1.4_v1.1.5
Rebased 0001-alsactl-don-t-let-systemd-unit-restore-the-volume-wh.patch.
Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Changes:
http://www.alsa-project.org/main/index.php/Changes_v1.1.4_v1.1.5
Rebased autotools.patch and makefile_no_gtk.patch.
Dropped 0001-as10k1-Make-output_tram_line-static-inline.patch with the
assumption that it's not needed any more. The patch added a "static"
qualifier to a function. According to the commit message, this was done
to improve optimization. Upstream removed the "inline" qualifier from
that same function, because it caused some trouble with clang. My guess
is that the patch author actually ran into the same clang problem as
upstream, but came up with a different fix. It doesn't seem like a
function whose optimization anyone would really be interested in.
Cc: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Changes:
http://www.alsa-project.org/main/index.php/Changes_v1.1.4_v1.1.5
Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Changes:
http://www.alsa-project.org/main/index.php/Changes_v1.1.4_v1.1.5
Dropped all patches. The poll.h patch is included in the release, and
the wordexp patch is not needed any more, because the wordexp function
is replaced by an internal reimplementation.
It would still be possible to enable the use of wordexp with the
--with-wordexp configure option. The option exists, because the internal
reimplementation covers only part of what wordexp can do, so not using
wordexp can in theory cause regressions. However, it seems that
regressions are quite unlikely in practice. Here's some discussion about
the topic:
http://mailman.alsa-project.org/pipermail/alsa-devel/2017-July/122667.html
Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Use ${nonarch_base_libdir}/udev instead. This avoids problems when
usrmerge is enabled in DISTRO_FEATURES and udev support is disabled.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
uclibc support was removed a while ago and musl works much better. Start to
remove the various overrides and patches related to uclibc which are no longer
needed.
uclibc support in a layer would still be possible. I have strong reasons to
believe nobody is still using uclibc since patches are missing and I doubt
the metadata even parses anymore.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Changelogs:
http://alsa-project.org/main/index.php/Changes_v1.1.3_v1.1.4
http://alsa-project.org/main/index.php/Changes_v1.1.4_v1.1.4.1
Dropped backported patch 0001-ucm-parser-needs-limits.h.patch.
Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Changelog: http://alsa-project.org/main/index.php/Changes_v1.1.3_v1.1.4
Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Changelog: http://alsa-project.org/main/index.php/Changes_v1.1.3_v1.1.4
Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
bb.data.expand(x, d) is deprecated API.
[YOCTO #10678]
Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
As far as I can see, there's no benefit in having separate alsa-conf and
alsa-conf-base packages. libasound depended on both, so it was not
really possible to only install alsa-conf-base.
Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
EXTRA_OECONF = "--disable-python" overrode the previous EXTRA_OECONF
assignment, so softfloat didn't get enabled when needed. Fixed this by
replacing "=" with "+=".
Bitbake then complained about tabs in alsa-fpu.inc, changed them to
spaces.
Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Changelog: http://alsa-project.org/main/index.php/Changes_v1.1.2_v1.1.3
Added a patch to fix a build failure with musl (cherry-picked from
upstream).
The new release doesn't any more install the smixer modules when Python
support is disabled. The modules weren't usable without Python support
before either, so this change does not constitute a loss of
functionality [1].
alsa-lib-dev has automatic dependencies on alsa-lib and libasound, but
since the smixer modules were the only thing in the alsa-lib package,
the alsa-lib package doesn't get generated any more. alsa-lib-dev still
has an automatic dependency on alsa-lib, however, so I had to override
the RDEPENDS of alsa-lib-dev to only include libasound.
[1] http://mailman.alsa-project.org/pipermail/alsa-devel/2016-November/114682.html
Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Drop 0001-Cus428Midi-Explicitly-cast-constant-to-char-type.patch,
because the new release has an equivalent fix (and that's actually the
only change in the new release).
Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
installed
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
This patch is comparatively large and invasive. It does only do one thing, switching the
system to build using recipe specific sysroots and where changes could be isolated from it,
that has been done.
With the current single sysroot approach, its possible for software to find things which
aren't in their dependencies. This leads to a determinism problem and is a growing issue in
several of the market segments where OE makes sense. The way to solve this problem for OE is
to have seperate sysroots for each recipe and these will only contain the dependencies for
that recipe.
Its worth noting that this is not task specific sysroots and that OE's dependencies do vary
enormously by task. This did result in some implementation challenges. There is nothing stopping
the implementation of task specific sysroots at some later point based on this work but
that as deemed a bridge too far right now.
Implementation details:
* Rather than installing the sysroot artefacts into a combined sysroots, they are now placed in
TMPDIR/sysroot-components/PACKAGE_ARCH/PN.
* WORKDIR/recipe-sysroot and WORKDIR/recipe-sysroot-native are built by hardlinking in files
from the sysroot-component trees. These new directories are known as RECIPE_SYSROOT and
RECIPE_SYSROOT_NATIVE.
* This construction is primarily done by a new do_prepare_recipe_sysroot task which runs
before do_configure and consists of a call to the extend_recipe_sysroot function.
* Other tasks need things in the sysroot before/after this, e.g. do_patch needs quilt-native
and do_package_write_deb needs dpkg-native. The code therefore inspects the dependencies
for each task and adds extend_recipe_sysroot as a prefunc if it has populate_sysroot
dependencies.
* We have to do a search/replace 'fixme' operation on the files installed into the sysroot to
change hardcoded paths into the correct ones. We create a fixmepath file in the component
directory which lists the files which need this operation.
* Some files have "postinstall" commands which need to run against them, e.g. gdk-pixbuf each
time a new loader is added. These are handled by adding files in bindir with the name
prefixed by "postinst-" and are run in each sysroot as its created if they're present.
This did mean most sstate postinstalls have to be rewritten but there shouldn't be many of them.
* Since a recipe can have multiple tasks and these tasks can run against each other at the same
time we have to have a lock when we perform write operations against the sysroot. We also have
to maintain manifests of what we install against a task checksum of the dependency. If the
checksum changes, we remove its files and then add the new ones.
* The autotools logic for filtering the view of m4 files is no longer needed (and was the model
for the way extend_recipe_sysroot works).
* For autotools, we used to build a combined m4 macros directory which had both the native and
target m4 files. We can no longer do this so we use the target sysroot as the default and add
the native sysroot as an extra backup include path. If we don't do this, we'd have to build
target pkg-config before we could built anything using pkg-config for example (ditto gettext).
Such dependencies would be painful so we haven't required that.
* PKDDATA_DIR was moved out the sysroot and works as before using sstate to build a hybrid copy
for each machine. The paths therefore changed, the behaviour did not.
* The ccache class had to be reworked to function with rss.
* The TCBOOTSTRAP sysroot for compiler bootstrap is no longer needed but the -initial data
does have to be filtered out from the main recipe sysroots. Putting "-initial" in a normal
recipe name therefore remains a bad idea.
* The logic in insane needed tweaks to deal with the new path layout, as did the debug source
file extraction code in package.bbclass.
* The logic in sstate.bbclass had to be rewritten since it previously only performed search and
replace on extracted sstate and we now need this to happen even if the compiled path was
"correct". This in theory could cause a mild performance issue but since the sysroot data
was the main data that needed this and we'd have to do it there regardless with rss, I've opted
just to change the way the class for everything. The built output used to build the sstate output
is now retained and installed rather than deleted.
* The search and replace logic used in sstate objects also seemed weak/incorrect and didn't hold
up against testing. This has been rewritten too. There are some assumptions made about paths, we
save the 'proper' search and replace operations to fixmepath.cmd but then ignore this. What is
here works but is a little hardcoded and an area for future improvement.
* In order to work with eSDK we need a way to build something that looks like the old style sysroot.
"bitbake build-sysroots" will construct such a sysroot based on everything in the components
directory that matches the current MACHINE. It will allow transition of external tools and can
built target or native variants or both. It also supports a clean task. I'd suggest not relying on
this for anything other than transitional purposes though. To see XXX in that sysroot, you'd have
to have built that in a previous bitbake invocation.
* pseudo is run out of its components directory. This is fine as its statically linked.
* The hacks for wayland to see allarch dependencies in the multilib case are no longer needed
and can be dropped.
* wic needed more extensive changes to work with rss and the fixes are in a separate commit series
* Various oe-selftest tweaks were needed since tests did assume the location to binaries and the
combined sysroot in several cases.
* Most missing dependencies this work found have been sent out as separate patches as they were found
but a few tweaks are still included here.
* A late addition is that extend_recipe_sysroot became multilib aware and able to populate multilib
sysroots. I had hoped not to have to add that complexity but the meta-environment recipe forced my
hand. That implementation can probably be neater but this is on the list of things to cleanup later
at this point.
In summary, the impact people will likely see after this change:
* Recipes may fail with missing dependencies, particularly native tools like gettext-native,
glib-2.0-native and libxml2.0-native. Some hosts have these installed and will mask these errors
* Any recipe/class using SSTATEPOSTINSTFUNCS will need that code rewriting into a postinst
* There was a separate patch series dealing with roots postinst native dependency issues. Any postinst
which expects native tools at rootfs time will need to mark that dependency with PACKAGE_WRITE_DEPS.
There could well be other issues. This has been tested repeatedly against our autobuilders and oe-selftest
and issues found have been fixed. We believe at least OE-Core is in good shape but that doesn't mean
we've found all the issues.
Also, the logging is a bit chatty at the moment. It does help if something goes wrong and goes to the
task logfiles, not the console so I've intentionally left this like that for now. We can turn it down
easily enough in due course.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
getVar() now defaults to expanding by default, thus remove the True
option from getVar() calls with a regex search and replace.
Search made with the following regex: getVar ?\(( ?[^,()]*), True\)
Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|