Age | Commit message (Collapse) | Author |
|
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
Newer versions of bitbake require each layer to explicitely state
their OE/Yocto release compatibility. The consensus is for each layer
to use the latest released version codename for the master branch.
Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com>
|
|
|
|
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
as it has been removed from poky/meta-oe and thus prevents builds
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
Packages executing nuget during their build need it.
Signed-off-by: Zoltán Böszörményi <zboszor@pr.hu>
|
|
The Microsoft Build Engine (MSBuild) is the build platform for .NET
and Visual Studio. Although the engine itself is included in Mono,
the binary MSBUILD.EXE is not. Add it and an msbuild script to call it.
Signed-off-by: Zoltán Böszörményi <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>
|
|
libgdiplus/src/Makefile.am contains -Wno-format and this prevents
enabling conf/distro/include/security_flags.inc because the new
flags, especially:
SECURITY_STRINGFORMAT ?= "-Wformat -Wformat-security -Werror=format-security"
plus libgdiplus adding its own -Wno-format flag causes a build error:
cc1: error: -Wformat-security ignored without -Wformat [-Werror=format-security]
Removing -Wno-format from ligbdiplus allows passing the secure
CFLAGS externally and such a patch was shipped by Fedora for
a long time, since their libgdiplus 2.10.9 package.
Signed-off-by: Zoltán Böszörményi <zboszor@pr.hu>
|
|
Yocto 2.3 (Pyro) added per-recipe sysroots. Previously a common
sysroot was used for every package installed. See:
https://www.yoctoproject.org/docs/2.3/ref-manual/ref-manual.html#moving-to-the-yocto-project-2.3-release
By default, ${libdir}/mono is not included in recipe-sysroot-native
for dependant packages which prevents running the native mono
binary that looks for DLLs relative to itself.
This patch should be backported to Pyro and Rocko from master.
Signed-off-by: Zoltán Böszörményi <zboszor@pr.hu>
|
|
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
"I'm trying to upgrade from mono 4.6.x to 5.2.x. I see resulting image size
increases by about 10 MB in my usage. It appears that a significant
contributing factor is the presence of *.pdb files in 5.2.x which weren't in
4.6.x.
* Are the *.pdb files necessary?
* What can be done to exclude them?
Seeing how the recipe handles *.mdb files, I made a bbappend file containing:
FILES_${PN}-dbg += "${libdir}/mono/*/*.pdb ${libdir}/mono/*/*/*.pdb ${libdir}/mono/gac/*/*/*.pdb"
That seems to do it. This should probably be added to the mono recipe files for mono >= 5.0.x."
@see: https://www.mail-archive.com/yocto@yoctoproject.org/msg37614.html
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
For setup details see: https://wiki.yoctoproject.org/wiki/Image_tests
i.e.
- Add INHERIT += "testimage" in local.conf
- bitbake core-image-mono
- bitbake core-image-mono -c testimage
This will run some simple tests in QEmu
- helloworld (command line executable)
- helloworldform (WinForms executable)
- helloworldgtk (GTK# executable
Python tests are defined in lib/oeqa/runtime/cases/mono.py
Currently only core-image-mono is working.
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
The do_install_append task copies files originating from the mono-native
package to the mono package. But since it copies the entire mono directory,
this causes problem if other mono related native packages are also installing
files into the same directory. In that case those files are not packaged, and
yocto complains with the QA Error "mono: Files/directories were installed but
not shipped in any package".
To workaround this problem, copy only those subdirectories that are actually
packaged.
Signed-off-by: Jef Driesen <jef.driesen@niko.eu>
|
|
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
|
|
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
Error: Transaction check error:
file /usr/lib/mono conflicts between attempted installs of nuget-3.5.0-r0.noarch and mono-libs-4.5-5.2.0.175-r0.i586
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
NuGet is the package manager for dotNet / Mono and is used to
download already built 3rd party modules.
Two stable versions are provided: 3.5.0 and 4.1.0.
Preferred version is 3.5.0.
A nuget script is provided both for the package and
a cross-script to execute the native mono binary.
NuGet absolutely needs the SSL certificate store to be populated.
Either as root for the system-wide store under /usr/share/.mono:
$ sudo mozroots --import --machine --sync
$ sudo certmgr -ssl -m https://go.microsoft.com
$ sudo certmgr -ssl -m https://nugetgallery.blob.core.windows.net
$ sudo certmgr -ssl -m https://nuget.org
or for the Bitbake build user under $HOME/.config/.mono:
$ mozroots --import --sync
$ certmgr -ssl https://go.microsoft.com
$ certmgr -ssl https://nugetgallery.blob.core.windows.net
$ certmgr -ssl https://nuget.org
Since these commands don't populate the SSL certificate store
for BoringTLS introduced in Mono 4.8, either build Mono with
--disable-btls (like it's done for Mono 5.x in meta-mono) or
find out yourself how to populate the BTLS certificate store.
Signed-off-by: Zoltán Böszörményi <zboszor@pr.hu>
|
|
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
Build was failing with
Running transaction check
Transaction check succeeded.
Running transaction test
Error: Transaction check error:
file /usr/lib/mono conflicts between attempted installs of gtk-sharp-2.12.21-r0.i586 and mono-libs-4.5-5.0.1.1-r0.i586
file /usr/lib/mono/gac conflicts between attempted installs of gtk-sharp-2.12.21-r0.i586 and mono-gac-5.0.1.1-r0.i586
It appears this is related to an issue with the way the RPM
package manager deals with ownership of directories under pyro
From Zoltan Boszormenyi:
haven't Pyro replaced the RPM 5.x version with the more Fedora /
Red Hat / SuSE compatible 4.1x?
I vaguely remember that ownership of identical directories are not
allowed in two different RPM packages, it would be a problem on
Fedora, too.
RPM specfiles in Fedora can list empty directories with the %{dir}
directive (this is what different *filesystem* packages are for in
Fedora and RHEL/CentOS) but as far as I can see the Bitbake FILES_*
directives don't make a difference between file patterns and directories.
In Yocto, I only have experience with packaging IPKs. They list all
the parent directories of a file, too. E.g. for something like this:
FILES_${PN} += "${libdir}/package/somefile.bin"
the resulting IPK will contains these:
./usr
./usr/lib
./usr/lib/package
./usr/lib/package/somefile.bin
When you specify file patterns in an RPM specfile, the resulting RPM will
only contain the last one, i.e. the file with the full path. Only this
file will be owned by the RPM. Installing relies on the fact that the
whole path will be created anyway.
The installation conflict may come from RPM being stricter about directory
ownership and two packages can only list the same directories if both
the permissions and the creation date are the same. The latter would be
identical for two sub-packages of the same recipe but different for
different packages.
The problem seems to be inherent to how Bitbake creates the list of
packaged files.
...
The question is: how can we convince Bitbake to avoid adding
parent directories explicitly into the packages?
I think this is what you need to be aware of [...]
https://github.com/openembedded/openembedded-core/commit/0e33d232916125ba5305ced7200cc00f8b5f7b22
...
I suspect there is a deeper underlying issue as other recipes don't appear
to need to make use of DIRFILES=1. But this works as an interim solution
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
as otherwise build fails under yocto pyro:
checking for cmake... no
configure: error: "cmake not found"
WARNING: exit code 1 from a shell command.
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
Mono provides pkg-config descriptor files with
prefix=${pcfiledir}/../..
but this causes a problem with Yocto setting PKG_CONFIG_SYSROOT_DIR,
causing -L and -I options passed to GCC containing the build prefix
concatenated twice in the compiler command line both for native and
target builds of recipes using Mono.
Replace "${pcfiledir}/../.." with "@prefix@" in do_configure_prepend()
to fix this problem.
Same fix as before but for Mono 5.x.
Signed-off-by: Zoltán Böszörményi <zboszor@pr.hu>
|
|
prefix=${pcfiledir}/../..
but this causes a problem with Yocto setting PKG_CONFIG_SYSROOT_DIR,
causing -L and -I options passed to GCC containing the build
prefix concatenated twice in the compiler command line both for
native and target builds of recipes using Mono.
Replace "${pcfiledir}/../.." with "@prefix@" in do_configure_prepend()
to fix this problem.
Signed-off-by: Zoltán Böszörményi <zboszor@pr.hu>
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|