Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v6 0/2] Mono new package
@ 2014-10-22 20:22 Angelo Compagnucci
  2014-10-22 20:22 ` [Buildroot] [PATCH v6 1/2] package/monolite: " Angelo Compagnucci
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Angelo Compagnucci @ 2014-10-22 20:22 UTC (permalink / raw)
  To: buildroot

This patch adds mono and monolite packages.

Changes v5 -> v6:

- Fixed /etc/mono configs files installation

Changes v4 -> v5:

- Defaulting BR2_PACKAGE_MONO_45 now depends on select
- Minor formatting issues

[Thomas:

  - Merge mono-managed and mono-native as a single package. The
    mono-managed stuff is done by the host variant of the mono
    package, while the mono-native stuff is done as the target variant
    of the mono package.

  - Introduce a BR2_PACKAGE_MONO_ARCH_SUPPORTS blind Config.in option
    to make sure the IPv6 related comment is not displayed when the
    architecture being used anyway doesn't support Mono.

  - Add a patch to Mono to fix the C library path when uClibc and Musl
    is used. This is a better approach than the
    POST_INSTALL_TARGET_HOOKS because this approach can potentially be
    submitted upstreamed, which ultimately allows to simplify the
    Buildroot package.

  - Depend on a 'monolite' package, and use it instead of letting Mono
    download Monolite by itself, which circumvents Buildroot's
    download infrastructure.
    mono-managed stuff is done by the host variant of the mono
    package, while the mono-native stuff is done as the target variant
    of the mono package.

  - Introduce a BR2_PACKAGE_MONO_ARCH_SUPPORTS blind Config.in option
    to make sure the IPv6 related comment is not displayed when the
    architecture being used anyway doesn't support Mono.

  - Add a patch to Mono to fix the C library path when uClibc and Musl
    is used. This is a better approach than the
    POST_INSTALL_TARGET_HOOKS because this approach can potentially be
    submitted upstreamed, which ultimately allows to simplify the
    Buildroot package.

  - Depend on a 'monolite' package, and use it instead of letting Mono
    download Monolite by itself, which circumvents Buildroot's
    download infrastructure.

  - Move the installation of Mono libraries to the target Mono
    package, as a POST_INSTALL_TARGET_HOOKS.]

[Angelo:

  - Bump to the latest Mono version 3.10.0

  - Add selection for .Net runtime compilation and installation in
    target.]


Angelo Compagnucci (2):
  package/monolite: new package
  package/mono: new package

 package/Config.in                               |  1 +
 package/mono/Config.in                          | 40 +++++++++++++++
 package/mono/mono-001-gc-fix-uclibc.patch       | 16 ++++++
 package/mono/mono-002-support-uclibc-musl.patch | 25 ++++++++++
 package/mono/mono.mk                            | 65 +++++++++++++++++++++++++
 package/monolite/monolite.mk                    | 17 +++++++
 6 files changed, 164 insertions(+)
 create mode 100644 package/mono/Config.in
 create mode 100644 package/mono/mono-001-gc-fix-uclibc.patch
 create mode 100644 package/mono/mono-002-support-uclibc-musl.patch
 create mode 100644 package/mono/mono.mk
 create mode 100644 package/monolite/monolite.mk

-- 
2.1.1

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v6 1/2] package/monolite: new package
  2014-10-22 20:22 [Buildroot] [PATCH v6 0/2] Mono new package Angelo Compagnucci
@ 2014-10-22 20:22 ` Angelo Compagnucci
  2014-10-22 20:22 ` [Buildroot] [PATCH v6 2/2] package/mono: " Angelo Compagnucci
  2014-10-25  8:50 ` [Buildroot] [PATCH v6 0/2] Mono " Thomas Petazzoni
  2 siblings, 0 replies; 8+ messages in thread
From: Angelo Compagnucci @ 2014-10-22 20:22 UTC (permalink / raw)
  To: buildroot

This patch adds Monolite package. This package is a dependency of Mono
package.

Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
---
 package/monolite/monolite.mk | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 package/monolite/monolite.mk

diff --git a/package/monolite/monolite.mk b/package/monolite/monolite.mk
new file mode 100644
index 0000000..82eaf57
--- /dev/null
+++ b/package/monolite/monolite.mk
@@ -0,0 +1,17 @@
+#############################################################
+#
+# monolite
+#
+#############################################################
+
+MONOLITE_VERSION = 111
+MONOLITE_SITE = http://storage.bos.xamarin.com/mono-dist-master/latest/
+MONOLITE_SOURCE = monolite-$(MONOLITE_VERSION)-latest.tar.gz
+MONOLITE_LICENSE = Dual license LGPL, commercial
+
+define HOST_MONOLITE_INSTALL_CMDS
+	mkdir -p $(HOST_DIR)/usr/lib/monolite
+	cp $(@D)/* $(HOST_DIR)/usr/lib/monolite
+endef
+
+$(eval $(host-generic-package))
-- 
2.1.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v6 2/2] package/mono: new package
  2014-10-22 20:22 [Buildroot] [PATCH v6 0/2] Mono new package Angelo Compagnucci
  2014-10-22 20:22 ` [Buildroot] [PATCH v6 1/2] package/monolite: " Angelo Compagnucci
@ 2014-10-22 20:22 ` Angelo Compagnucci
  2014-10-25  8:50 ` [Buildroot] [PATCH v6 0/2] Mono " Thomas Petazzoni
  2 siblings, 0 replies; 8+ messages in thread
From: Angelo Compagnucci @ 2014-10-22 20:22 UTC (permalink / raw)
  To: buildroot

This patch adds the complete Mono implementation. This patch builds
both the native and managed parts.

Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
---
 package/Config.in                               |  1 +
 package/mono/Config.in                          | 40 +++++++++++++++
 package/mono/mono-001-gc-fix-uclibc.patch       | 16 ++++++
 package/mono/mono-002-support-uclibc-musl.patch | 25 ++++++++++
 package/mono/mono.mk                            | 65 +++++++++++++++++++++++++
 5 files changed, 147 insertions(+)
 create mode 100644 package/mono/Config.in
 create mode 100644 package/mono/mono-001-gc-fix-uclibc.patch
 create mode 100644 package/mono/mono-002-support-uclibc-musl.patch
 create mode 100644 package/mono/mono.mk

diff --git a/package/Config.in b/package/Config.in
index 89b46dc..8f738ea 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -437,6 +437,7 @@ menu "Lua libraries/modules"
 	source "package/xavante/Config.in"
 endmenu
 endif
+	source "package/mono/Config.in"
 	source "package/nodejs/Config.in"
 	source "package/perl/Config.in"
 if BR2_PACKAGE_PERL
diff --git a/package/mono/Config.in b/package/mono/Config.in
new file mode 100644
index 0000000..f8f4895
--- /dev/null
+++ b/package/mono/Config.in
@@ -0,0 +1,40 @@
+config BR2_PACKAGE_MONO_ARCH_SUPPORTS
+	bool
+	default y if (BR2_arm || BR2_armeb || BR2_i386 || BR2_mips || \
+		      BR2_mipsel || BR2_powerpc || BR2_sparc || BR2_x86_64)
+
+config BR2_PACKAGE_MONO
+	bool "mono"
+	depends on BR2_PACKAGE_MONO_ARCH_SUPPORTS
+	depends on BR2_INET_IPV6
+	select BR2_PACKAGE_MONO_45 if !BR2_PACKAGE_MONO_20 && !BR2_PACKAGE_MONO_40
+	help
+	  An open source, cross-platform, implementation of C#
+	  and the CLR that is binary compatible with Microsoft.NET.
+
+	  http://download.mono-project.com/sources/mono/
+
+if BR2_PACKAGE_MONO
+
+config BR2_PACKAGE_MONO_20
+	bool "2.0/3.5 .Net Runtime"
+	help
+	  This option enables the installation of the 2.0/3.5 version
+	  of the Mono .Net runtime to the target
+
+config BR2_PACKAGE_MONO_40
+	bool "4.0 .Net Runtime"
+	help
+	  This option enables the installation of the 4.0 version
+	  of the Mono .Net runtime to the target
+
+config BR2_PACKAGE_MONO_45
+	bool "4.5 .Net Runtime"
+	help
+	  This option enables the installation of the 4.5 version
+	  of the Mono .Net runtime to the target
+
+endif
+
+comment "mono needs a toolchain w/ IPv6"
+	depends on !BR2_INET_IPV6
diff --git a/package/mono/mono-001-gc-fix-uclibc.patch b/package/mono/mono-001-gc-fix-uclibc.patch
new file mode 100644
index 0000000..62b52cd
--- /dev/null
+++ b/package/mono/mono-001-gc-fix-uclibc.patch
@@ -0,0 +1,16 @@
+Disable backtrace on not supported uclibc.
+
+Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
+
+diff -purN mono-native-3.8.0.orig/libgc/include/gc.h mono-native-3.8.0/libgc/include/gc.h
+--- mono-native-3.8.0.orig/libgc/include/gc.h	2014-10-07 15:00:21.259466731 +0200
++++ mono-native-3.8.0/libgc/include/gc.h	2014-10-07 15:05:25.560975681 +0200
+@@ -500,7 +500,7 @@ GC_API GC_PTR GC_malloc_atomic_ignore_of
+ #ifdef __linux__
+ # include <features.h>
+ # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
+-     && !defined(__ia64__)
++     && !defined(__ia64__) && !defined(__UCLIBC__)
+ #   ifndef GC_HAVE_BUILTIN_BACKTRACE
+ #     define GC_HAVE_BUILTIN_BACKTRACE
+ #   endif
diff --git a/package/mono/mono-002-support-uclibc-musl.patch b/package/mono/mono-002-support-uclibc-musl.patch
new file mode 100644
index 0000000..48a3493
--- /dev/null
+++ b/package/mono/mono-002-support-uclibc-musl.patch
@@ -0,0 +1,25 @@
+Adjust libc.so path depending on C library being used
+
+By default, on Linux systems, Mono assumes that the C library is
+libc.so.6. While this is true for glibc, it is not true for uClibc and
+Musl based systems. This patch adds support for such systems.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: b/configure.ac
+===================================================================
+--- a/configure.ac
++++ b/configure.ac
+@@ -2973,6 +2973,12 @@
+         SQLITE="libsqlite.so"
+         SQLITE3="libsqlite3.so"
+ 	;;
++    *-*-*uclibc*)
++	LIBC="libc.so.0"
++	;;
++    *-*-*musl*)
++	LIBC="libc.so"
++	;;
+     *-*-*linux*)
+ 	AC_PATH_X
+ 	dlsearch_path=`(libtool --config ; echo eval echo \\$sys_lib_dlsearch_path_spec) | sh`
diff --git a/package/mono/mono.mk b/package/mono/mono.mk
new file mode 100644
index 0000000..3d11f87
--- /dev/null
+++ b/package/mono/mono.mk
@@ -0,0 +1,65 @@
+#############################################################
+#
+# mono
+#
+#############################################################
+
+MONO_VERSION = 3.10.0
+MONO_SITE = http://download.mono-project.com/sources/mono/
+MONO_SOURCE = mono-$(MONO_VERSION).tar.bz2
+MONO_LICENSE = LGPLv2 or commercial
+MONO_LICENSE_FILES = LICENSE COPYING.LIB mcs/COPYING.LIB mcs/COPYING \
+	eglib/COPYING external/Newtonsoft.Json/Tools/7-zip/copying.txt
+MONO_INSTALL_STAGING = YES
+
+## Mono native
+
+# patching configure.ac
+MONO_AUTORECONF = YES
+
+# Disable managed code (mcs folder) from building
+MONO_CONF_OPTS = --disable-gtk-doc \
+	--with-mcs-docs=no \
+	--with-moonlight=no \
+	--disable-libraries \
+	--with-ikvm-native=no \
+	--enable-minimal=aot,profiler,debug \
+	--disable-mcs-build
+
+define MONO_INSTALL_LIBS
+	rsync -av --exclude=*.so --exclude=*.mdb \
+		$(HOST_DIR)/usr/lib/mono $(TARGET_DIR)/usr/lib/
+	rsync -av $(HOST_DIR)/etc/mono $(TARGET_DIR)/etc
+endef
+
+MONO_DEPENDENCIES += host-mono
+
+MONO_POST_INSTALL_TARGET_HOOKS += MONO_INSTALL_LIBS
+
+## Mono managed
+
+HOST_MONO_CONF_OPTS = --disable-gtk-doc \
+	--with-mcs-docs=no \
+	--with-moonlight=no \
+	--disable-libraries \
+	--with-ikvm-native=no \
+	--enable-minimal=aot,profiler,debug \
+	--enable-static
+
+# These options refer to the target mono, not the host. We use the host
+# only to compile libraries, then we copy them to the target.
+HOST_MONO_CONF_OPTS += --with-profile2=$(if $(BR2_PACKAGE_MONO_20),yes,no)
+HOST_MONO_CONF_OPTS += --with-profile4=$(if $(BR2_PACKAGE_MONO_40),yes,no)
+HOST_MONO_CONF_OPTS += --with-profile4_5=$(if $(BR2_PACKAGE_MONO_45),yes,no)
+
+HOST_MONO_DEPENDENCIES = host-monolite
+
+define HOST_MONO_SETUP_MONOLITE
+	rm -rf $(@D)/mcs/class/lib/monolite
+	(cd $(@D)/mcs/class/lib; ln -s $(HOST_DIR)/usr/lib/monolite monolite)
+endef
+
+HOST_MONO_POST_CONFIGURE_HOOKS += HOST_MONO_SETUP_MONOLITE
+
+$(eval $(autotools-package))
+$(eval $(host-autotools-package))
-- 
2.1.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v6 0/2] Mono new package
  2014-10-22 20:22 [Buildroot] [PATCH v6 0/2] Mono new package Angelo Compagnucci
  2014-10-22 20:22 ` [Buildroot] [PATCH v6 1/2] package/monolite: " Angelo Compagnucci
  2014-10-22 20:22 ` [Buildroot] [PATCH v6 2/2] package/mono: " Angelo Compagnucci
@ 2014-10-25  8:50 ` Thomas Petazzoni
  2014-10-27 22:16   ` Luca Ceresoli
  2 siblings, 1 reply; 8+ messages in thread
From: Thomas Petazzoni @ 2014-10-25  8:50 UTC (permalink / raw)
  To: buildroot

Dear Angelo Compagnucci,

On Wed, 22 Oct 2014 22:22:08 +0200, Angelo Compagnucci wrote:

> Angelo Compagnucci (2):
>   package/monolite: new package
>   package/mono: new package

Thanks, both patches applied. On the second patch, there was a missing
dependency of host-mono on host-gettext (which you didn't see probably
because you have gettext installed on your machine). I also did some
improvements to the licensing description, even though some independent
review of this (Yann, Luca ?) would be good.

Thanks for getting through the review process for those not-so-trivial
packages!

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v6 0/2] Mono new package
  2014-10-25  8:50 ` [Buildroot] [PATCH v6 0/2] Mono " Thomas Petazzoni
@ 2014-10-27 22:16   ` Luca Ceresoli
  2014-10-28  7:21     ` Angelo Compagnucci
  0 siblings, 1 reply; 8+ messages in thread
From: Luca Ceresoli @ 2014-10-27 22:16 UTC (permalink / raw)
  To: buildroot

Dear Thomas, Angelo,

Thomas Petazzoni wrote:
> Dear Angelo Compagnucci,
>
> On Wed, 22 Oct 2014 22:22:08 +0200, Angelo Compagnucci wrote:
>
>> Angelo Compagnucci (2):
>>    package/monolite: new package
>>    package/mono: new package
>
> Thanks, both patches applied. On the second patch, there was a missing
> dependency of host-mono on host-gettext (which you didn't see probably
> because you have gettext installed on your machine). I also did some
> improvements to the licensing description, even though some independent
> review of this (Yann, Luca ?) would be good.

I don't use Mono and it's a fairly large package. I just gave it a
quick look, and it looks like it has a _very_ complex licensing
scheme...

The file LICENSE is there to clarify the licensing. The need to have
such a file is itself quite enlightening on how arcane the thing is.
And around the middle of the file I got a headache and gave up.

According to their website [1], the tools are released under the GPL (no
version specified). But in the tools/ subdirectory there is no mention
of GPL, only a BSD license.

Overall, if it were me, and if I were forced to use Mono at all, I'd
state:
   MONO_LICENSE = A fuzzy mix of LGPL (any version), MIT/X11 and \
                  others, or commercial

BTW, Angelo, Thomas, where did you get licensing info when
writing/committing the package?

[1] http://www.mono-project.com/docs/faq/licensing/

-- 
Luca

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v6 0/2] Mono new package
  2014-10-27 22:16   ` Luca Ceresoli
@ 2014-10-28  7:21     ` Angelo Compagnucci
  2014-10-28 13:41       ` Luca Ceresoli
  0 siblings, 1 reply; 8+ messages in thread
From: Angelo Compagnucci @ 2014-10-28  7:21 UTC (permalink / raw)
  To: buildroot

Dear Luca,

> BTW, Angelo, Thomas, where did you get licensing info when
> writing/committing the package?

Mono is a complex piece of software composed by several components, so
the licensing scheme is complex. I'll try to summarize here.

The file COPYING.LIB is quite explicative:

"The Mono runtime is licensed under the terms of the GNU
Library General Public License, version 2.

The eglib directory is licensed under the terms of the MIT
X11 license and is a drop-in replacement for Mono's use of
glib 2.0 (which was LGPL).

The Boehm licensing information is in the libgc directory

The SGen Garbage Collector is under the terms of the MIT X11
license

The class libraries under mono/mcs are unless otherwise stated
under the MIT X11 license.

Open source Microsoft code is licensed under the original terms
which is either MS-PL for older components, or dual licensed
MS-PL/Apache2 licensed."

* The C# compiler is dual-licensed under the MIT/X11 license and the
GNU General Public License (GPL).

Every file inside mcs/mcs folder has this preamble "Dual licensed
under the terms of the MIT X11 or GNU GPL"

* The tools are released under the terms of the GNU General Public
License (GPL).

Not every file has a license in it's preamble, but the most part show
a GPL preamble.

* The class libraries are released under the terms of the MIT X11 license.

Every file inside mcs/class show a MIT.X11 preamble

It's complex but it shows some sense!
For the practical point of view of using it, you should comply with
the license of the software you ship so the mono runtime and mono
class only (LGPL2, MIT)

Hope this clarify!

Sincerely, Angelo.


-- 
Profile: http://it.linkedin.com/in/compagnucciangelo

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v6 0/2] Mono new package
  2014-10-28  7:21     ` Angelo Compagnucci
@ 2014-10-28 13:41       ` Luca Ceresoli
  2014-10-30  8:35         ` Angelo Compagnucci
  0 siblings, 1 reply; 8+ messages in thread
From: Luca Ceresoli @ 2014-10-28 13:41 UTC (permalink / raw)
  To: buildroot

Dear Angelo,

thank you for the follow-up.

Angelo Compagnucci wrote:
> Dear Luca,
>
>> BTW, Angelo, Thomas, where did you get licensing info when
>> writing/committing the package?
>
> Mono is a complex piece of software composed by several components, so
> the licensing scheme is complex. I'll try to summarize here.

Yes, it's very complex. If I were the Mono developer I'd probably split
each part in a different package. But this is not a Buildroot issue of
course.

Back in topic, I don't use Mono, hence I don't know the meaning of
"mcs", "gmcs", "jay", "boehm" etc, which doesn't help.

>
> The file COPYING.LIB is quite explicative:

Oops, I looked in LICENSE. The fact that there are at least 3 different
explanations (website, LICENSE and COPYING.LIB) does not help me either.

>
> "The Mono runtime is licensed under the terms of the GNU
> Library General Public License, version 2.

This is coherent with the website, while LICENSE states LGPL, without
specifying a version. So LGPLv2 should be correct.

>
> The eglib directory is licensed under the terms of the MIT
> X11 license and is a drop-in replacement for Mono's use of
> glib 2.0 (which was LGPL).
>
> The Boehm licensing information is in the libgc directory
>
> The SGen Garbage Collector is under the terms of the MIT X11
> license
>
> The class libraries under mono/mcs are unless otherwise stated
> under the MIT X11 license.

So eglib, boehm and the garbage collector are part of the runtime,
correct?

>
> Open source Microsoft code is licensed under the original terms
> which is either MS-PL for older components, or dual licensed
> MS-PL/Apache2 licensed."

But we have no mention of MS-PL nor Apache2 in MONO_LICENSE.

Where is the Microsoft code used? In the runtime?

>
> * The C# compiler is dual-licensed under the MIT/X11 license and the
> GNU General Public License (GPL).
>
> Every file inside mcs/mcs folder has this preamble "Dual licensed
> under the terms of the MIT X11 or GNU GPL"
>
> * The tools are released under the terms of the GNU General Public
> License (GPL).
>
> Not every file has a license in it's preamble, but the most part show
> a GPL preamble.

Uh, where are these "tools" located?
In the tools/ subdir I can't find any evidence of a GPL license:

   $ git grep -i -C3 licens -- tools/ | grep -i general
   $

Maybe you refer to another subdir?

>
> * The class libraries are released under the terms of the MIT X11 license.
>
> Every file inside mcs/class show a MIT.X11 preamble
>
> It's complex but it shows some sense!
> For the practical point of view of using it, you should comply with
> the license of the software you ship so the mono runtime and mono
> class only (LGPL2, MIT)

That's correct if you ship a target, not if you ship an SDK (which is
basically the stuff that is produced by Buildroot in output/host/).
If you do, you have host-mono in the SDK and this pulls in GPL and other
licenses.

Is my understanding correct?

>
> Hope this clarify!

Yes, it is less fuzzy now, thanks.

But unfortunately, due to my poor knowledge of the Mono project, I can't
build myself a strong opinion on what the correct MONO_LICENSE value
should be. But maybe you can further improve the current value starting
from my questions above (or clarify that the current value is ok).

Regards,
-- 
Luca

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v6 0/2] Mono new package
  2014-10-28 13:41       ` Luca Ceresoli
@ 2014-10-30  8:35         ` Angelo Compagnucci
  0 siblings, 0 replies; 8+ messages in thread
From: Angelo Compagnucci @ 2014-10-30  8:35 UTC (permalink / raw)
  To: buildroot

Hi Luca,


> So eglib, boehm and the garbage collector are part of the runtime,
> correct?

I've not this understanding of Mono internals, probably they are used
to compile mono runtime executable.

> Where is the Microsoft code used? In the runtime?

The most part is in the class: part of the libraries you can use in a
mono application are based on microsoft code. However this note is
probably outdated because it was that way at the beginning, now most
(if not all) libraries are written by the mono team or contributed
externally under an OSS license.

> Uh, where are these "tools" located?
> In the tools/ subdir I can't find any evidence of a GPL license:
>
>   $ git grep -i -C3 licens -- tools/ | grep -i general
>   $
>
> Maybe you refer to another subdir?

Most (if not all) files in tool doesn't have a license at all,
probably that note was added just to inform you that the tools are GPL
also if they haven't a GPL note on their files.

> That's correct if you ship a target, not if you ship an SDK (which is
> basically the stuff that is produced by Buildroot in output/host/).
> If you do, you have host-mono in the SDK and this pulls in GPL and other
> licenses.
>
> Is my understanding correct?

Unfortunately I'm not a lawyer, nor one of the mono core developer,
nor a xamarin employee, and I really don't want to express my personal
opinion, someone could read this email in future and misunderstanding
my point of view.

I think that redistributing something based on a certain number of
packages, with or without mono, should be object of a severe license
review if your company wants to be safe.

> But unfortunately, due to my poor knowledge of the Mono project, I can't
> build myself a strong opinion on what the correct MONO_LICENSE value
> should be. But maybe you can further improve the current value starting
> from my questions above (or clarify that the current value is ok).

I think that clearly stating all the license files distributed with
mono is the only correct way. Again, you should make a license review
of your code and what you distribute to be safe.
I don't think that buildroot is useful in any way more than saying you
where to look for license files.

Sicerely, Angelo.


-- 
Profile: http://it.linkedin.com/in/compagnucciangelo

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2014-10-30  8:35 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-22 20:22 [Buildroot] [PATCH v6 0/2] Mono new package Angelo Compagnucci
2014-10-22 20:22 ` [Buildroot] [PATCH v6 1/2] package/monolite: " Angelo Compagnucci
2014-10-22 20:22 ` [Buildroot] [PATCH v6 2/2] package/mono: " Angelo Compagnucci
2014-10-25  8:50 ` [Buildroot] [PATCH v6 0/2] Mono " Thomas Petazzoni
2014-10-27 22:16   ` Luca Ceresoli
2014-10-28  7:21     ` Angelo Compagnucci
2014-10-28 13:41       ` Luca Ceresoli
2014-10-30  8:35         ` Angelo Compagnucci

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox