Age | Commit message (Collapse) | Author |
|
* mono-base: append dependencies instead of using the hard assignment op
* Remove extra space
Not needed when using the += operator.
Signed-off-by: Marc Ferland <ferlandm@amotus.ca>
* Fix build on aarch64 builds
When building for aarch64 targets, I get build failures like:
ERROR: msbuild-native-16.6-r0 do_prepare_recipe_sysroot: Manifest
/workdir/build/tmp/sstate-control/manifest-x86_64_x86_64-nativesdk-mono.populate_sysroot
not found in imx8mn_ddr4_evk cortexa53 armv8a-crc armv8a aarch64
allarch x86_64_x86_64-nativesdk (variant '')?
The problem comes from the fact that some include files (i.e.:
mono-6.xx.inc) are used in both the mono and mono-native
variants. This seems to confuse the native class in some way. Ideally
we would have a single mono recipe declaring BBCLASSEXTEND = "native"
and we'd let bitbake generate the recipe variant.
See: https://docs.yoctoproject.org/ref-manual/variables.html?highlight=bbclassextend#term-BBCLASSEXTEND
Signed-off-by: Marc Ferland <ferlandm@amotus.ca>
* Fix build error of CI-Build:
Error:
Problem 1: conflicting requests
- nothing provides mono-gac needed by mono-6.12.0.161-r0.core2_64
- nothing provides mono-libs-4.5 needed by mono-6.12.0.161-r0.core2_64
Problem 2: package msbuild-16.6-r0.core2_64 requires mono, but none of the providers can be installed
- conflicting requests
- nothing provides mono-gac needed by mono-6.12.0.161-r0.core2_64
- nothing provides mono-libs-4.5 needed by mono-6.12.0.161-r0.core2_64
Problem 3: package mono-helloworld-1.2-r0.core2_64 requires mono, but none of the providers can be installed
- conflicting requests
- nothing provides mono-gac needed by mono-6.12.0.161-r0.core2_64
- nothing provides mono-libs-4.5 needed by mono-6.12.0.161-r0.core2_64
(try to add '--skip-broken' to skip uninstallable packages)
Signed-off-by: Marc Ferland <ferlandm@amotus.ca>
Co-authored-by: Georg Gebauer <georg.gebauer@zeiss.com>
|
|
If a recipe uses "inherit mono" and later writes RDEPENDS:${PN} = "..."
then RDEPENDS:${PN} += "..." in mono.bbclass will not take effect.
It's documented somewhere in the Yocto manual.
Use the override :append syntax for other variables, too, not
just RDEPENDS.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
|
|
* Remove compatibility for sumo, thud, warrior and zeus
The next change (introduced by honister and backported back only to
dunfell) requires it.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
* Use ":" override syntax instead of "_"
Scripted change with oe-core/scripts/contrib/convert-overrides.py
The proposal for this was at
https://www.mail-archive.com/openembedded-architecture@lists.openembedded.org/msg00500.html
The necessary changes to bitbake to accept ":" along with "_" were
backported to bitbake 1.46 (Yocto 3.1 Dunfell), 1.48 (3.2 Gatesgarth)
and 1.50 (3.3 Hardknott).
Yocto 3.4 Honister will only accept ":"
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
* Add honister compatibility
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
|
|
To let NuGet restore (or msbuild restore) successfully run through, the
mono certificate store needs to be initialized. Currently, this is only
possible by contaminating the build host. To be more precise, the
directory '~/.config/.mono/certs' will be initialized on the build host.
Currently, there is no way to override the certificate store location
except for patching the mono source code, see issue mono/mono#6388.
|
|
Set NUGET_PACKAGES and NUGET_HTTP_CACHE_PATH instead of HOME.
Overriding the HOME environment variable clashes with RPM signing.
Signed-off-by: Böszörményi Zoltán <zboszor@pr.hu>
|
|
Packages using NuGet to download further pre-built dependencies
pollute the user's $HOME. Some build environments use designated
partitions outside /home and /home or / has limited amount of
disk space. NuGet may cause disk full errors.
It is also generally discouraged for cross-compiled packages to
reach outside the package $WORKDIR in Yocto.
Signed-off-by: Zoltán Böszörményi <zboszor@pr.hu>
|
|
Several mono package builds were observed to fail while cross-compiling
to arm in ways that, upon stracing, boiled down to not being able to
load the mono config file because mono was looking for it in
${STAGING_DIR_NATIVE}/usr/etc instead of
${STAGING_DIR_NATIVE}/etc (which is where it was being installed).
mono/mono/metadata/assembly.c:set_dirs() appears to be responsible for
guessing /usr/etc, by essentially computing $(dirname $0)/../etc.
There's a separate codepath that instead chooses $sysconfdir (cf
assembly.c:fallback(), mono-config-dirs.c:mono_config_get_cfg_dir(), and
the Makefile). Presumably that's what's usually used for native mono
builds, but for presently unknown reasons, it's not getting used here.
The workaround implemented here is to force setting MONO_CFG_DIR for all
builds to the correct location of /etc in the native sysroot.
(I had earlier worked around this by changing the mono-native build to
install to /usr/etc instead of /etc, but that's more complicated to
manage in the recipes, and violates the configuration symmetry between
architectures.)
Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
The DEPENDS_*, RDEPENDS_*, and FILES_* settings between C# packages
share a lot in common. We can refactor these bits into their own
bbclass:
- DEPEND on mono-native because we need it to compile stuff
- DEPEND on mono to have the native sysroot available
- RDEPEND on mono to make sure we can run the package
- ${PN} contains dlls, exes, and config bits thereof
- ${PN}-dbg contains mono debug (mdb) files
- ${PN}-dev contains:
- build response (rsp) files
- machine-readable assembly documentation (xml)
- xbuild-related files
- ${PN}-doc contains monodoc output
Some C# packages build native code, though, so don't set
PACKAGE_ARCH="all".
Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|