From Fedora Project Wiki


Mono 4

Summary

Update the Mono stack in Fedora from 2.10 to 4.*

Owner

Current status

Detailed Description

Support for Mono versions 3.0 and 2.10 has been discontinued. No further development of bug fixing is planned for those branches. Mono 4 is the active branch and has many improvements. See upstream notes http://www.mono-project.com/docs/about-mono/releases/4.0.0/

Mono requires itself to build. The Mono version 2.10.8 currently included in Fedora is too old to build version 4 that requires at least version 3.4. At the moment on copr we use monolite, a little version of mono compiler shipped in the tarball for first build time.

We have two options to upgrade:

Steps for Bootstrapping

  • The Monolite binaries are included in the Mono tarball which is provided by upstream. see also http://www.mono-project.com/docs/advanced/monolite/
    • Monolite is a minimal binary distribution of mcs. This is the compiler that is able to build the rest of Mono.
  • In the spec file, we usually delete all dlls and executables before the build section.
  • For the bootstrap, we would once keep the monolite binaries.
  • After Mono has been built for all primary and secondary architectures, and for Epel, we enable the deletion of the monolite binaries again in the spec file.

Benefit to Fedora

Fedora aims to showcase the latest in free and open source software - we should have the most recent release of Mono 4.0.1

It will have the ability to run cross-platform applications that require compatibility with Microsoft. Net Framework 4.5

Scope

  • Proposal owners:

Update mono spec and build in copr and/or koji until is ready.

  • Other developers:

See Upgrade/compatibility impact and Dependencies section

  • Release engineering: None
  • Policies and guidelines: None

Upgrade/compatibility impact

Mono 4 includes most of the features of Mono 2.10 and Mono 3 branch.

The profiles 2.0, 3.5 and 4.0 will not be build any more in favor of profile 4.5

Many packages may need to be revised, updated or rebuilt because Mono 4 require that all application use target 4.5. In general is a simple task to sed .sln, .cproj, configure, configure.in, configure.am, Makefile, Makefile.in, Makefile.am for use mcs instead gmcs and change profile < 4.5 to 4.5. The files to sed change depending in what form is distributed the sources. In most off the cases only configure files need sed. A few package work without changes like gnome-subtitle or pinta

The fixes is work in progress on https://github.com/elsupergomez/lbs-mono-fedora and https://github.com/tpokorra/lbs-mono-fedora


How To Test

Interested testers do not need special hardware. Take a given Mono application and test it against the Mono at this copr repo and verify it works:

* http://copr.fedoraproject.org/coprs/tpokorra/mono/

Any issue will be reported in github https://github.com/elsupergomez/lbs-mono-fedora or https://github.com/tpokorra/lbs-mono-fedora

User Experience

User should note speedy improvement running Mono applications.

Some applications will have features only supported if used Mono 4

Dependencies

Package In copr In Rawhide Notes
OpenTK Yes 1.1-2.4c.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637636 (was [1])
RepetierHost 0.90D-4.fc23 Build in kojiy http://koji.fedoraproject.org/koji/buildinfo?buildID=642106 ( was [2])
avahi 0.6.31-33.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637529
avahi-sharp 0.6.31-33.fc23 Need fix requires avahi-libs
banshee Yes 2.6.2-11.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=639123
banshee-community-extensions 2.4.0-10.fc23 Fedora package work without changes if Copr is configured
bareftp Yes 0.3.9-9.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637654
bless 0.6.0-16.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=642055 (was [3])
boo Yes 0.9.7.0-1.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=652567
cdcollect Yes 0.6.0-22.fc23 Build in http://koji.fedoraproject.org/koji/buildinfo?buildID=637697
dbus-sharp Yes 1:0.7.0-13.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637535
dbus-sharp-glib Yes 0.5.0-11.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637598
docky Yes 2.2.0-5.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637641
gbrainy 2.2.5-1.fc23 http://koji.fedoraproject.org/koji/buildinfo?buildID=667238
gdata-sharp Yes 1.4.0.2-15.fc23 Build in http://koji.fedoraproject.org/koji/buildinfo?buildID=637551
gecko-sharp2 0.13-28.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637633
gio-sharp Yes 0.3-12.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637541
giver 0.1.8-15.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637700
gkeyfile-sharp Yes 0.1-17.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637609
gmime 2.6.20-4.fc23 Build in [koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637667
gnome-desktop-sharp Yes 2.26.0-25.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637547
gnome-do Yes 0.95.3-1.fc23 Build in koji https://koji.fedoraproject.org/koji/buildinfo?buildID=639058
gnome-guitar 0.8.1-18.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637679
gnome-keyring-sharp Yes 1.0.1-0.19.133722svn.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637615
gnome-rdp 0.3.1.0-11.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637699
gnome-sharp Yes 2.24.2-9.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637538
gnome-subtitles 1.3-6.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637701
gsf-sharp 0.8.1-24.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637661
gtk-sharp-beans Yes 2.14.0-15.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637622
gtk-sharp2 Yes 2.12.26-1.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637531
gtksourceview-sharp 2.0.12-23.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637666
graphviz 2.38.0-23.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637540
gudev-sharp Yes 0.1-16.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637553
hyena Yes 0.5-10.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637653
keepass Yes 2.29-1.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637862
kimono 4.14.3-5.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637723
libappindicator 12.10.0-9.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637662
libgdiplus Yes 3.12-1.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637589
libgpod Yes 0.8.3-9.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637552
libyui-bindings (mono-yui) 1.1.0-8.fc23 https://bugzilla.redhat.com/show_bug.cgi?id=1223059
log4net Yes 1.2.13-4.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637559
mono Yes 4.0.1-7.fc23
mono-addins Yes 1.1-1.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637575
mono-basic Yes 4.0.1-1.fc23 Updated to 4.0.1. Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637854
mono-bouncycastle 1.8.0-0.1.rc1.fc23 Need move to 4.5 profile
mono-cecil Yes 0.9.6-2.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637639
mono-cecil-flowanalysis 0.1-0.23.20110512svn100264.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637725
mono-debugger 2.10-10.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637985
mono-reflection 0.1-0.10.20110613git304d1d.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637736
mono-tools Yes 3.10-2.fc23 Build in koji http://koji.fedoraproject.org/koji/taskinfo?taskID=9855556 (was https://bugzilla.redhat.com/show_bug.cgi?id=1223449)
mono-zeroconf Yes 0.9.0-14.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637550
monobristol 0.60.3.1-5.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637740
monodevelop Yes 5.9.4-2.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=670202
monodevelop-debugger-gdb Fedora package install without changes if Copr is configured
monosim 1.5.2-10.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637734
nant Yes 1:0.92-1.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637570. Boostrapped into Rawhide. TODO: Next run without bootstrap requires nunit 2.6.3
ndesk-dbus Yes 0.6.1a-18.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637549
ndesk-dbus-glib Yes 0.4.1-19.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637632
nini Yes 1.1.0-7.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637716
notify-sharp Yes 0.4.0-0.24.20100411svn.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637624
pdfmod 0.9.1-10.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637668
pinta 1.6-3.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637640
poppler-sharp Yes 0.0.3-7.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637545
qyoto 4.14.3-4.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637692
rescene 1.2-11.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=658776; was [4]
shogun https://bugzilla.redhat.com/show_bug.cgi?id=1223446
smuxi 1.0-0.4.rc3.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=645709 (was [5])
sparkleshare 1.2.0-4.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=667152
taglib-sharp Yes 2.0.3.7-13.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637613
themonospot-base 0.8.2-14.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637758
themonospot-console 0.1.1-13.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637777
themonospot-gui-gtk 0.2.2-14.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637774
themonospot-gui-qt 0.1.3-17.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637776
themonospot-plugin-avi 0.1.1-13.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637775
themonospot-plugin-mkv 0.1.1-13.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637778
tomboy Yes 1.15.4-6.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=663926
uwsgi (uwsgi-plugin-mono) 2.0.9-8.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637721
webkit-sharp Yes 0.3-15.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637607
xsp Yes 3.8-1.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637970 (was https://bugzilla.redhat.com/show_bug.cgi?id=1222992)

New packages for mono stack

Package In Copr Status In Rawhide Notes
gtk-sharp3 Yes Done 2.99.3-11.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=637565
monodevelop-database Yes
mysql-connector-net Yes Review request https://bugzilla.redhat.com/show_bug.cgi?id=1223455
notify-sharp3 Yes Review request https://bugzilla.redhat.com/show_bug.cgi?id=1222662
npgsql Yes Review request https://bugzilla.redhat.com/show_bug.cgi?id=1223442
nuget Yes Done 2.8.5-2.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=669053
nunit Yes Done 2.6.4-8.fc23 Build in koji http://koji.fedoraproject.org/koji/buildinfo?buildID=669729

Contingency Plan

  • Contingency mechanism: Still in Mono 2.10
  • Contingency deadline: Beta freeze
  • Blocks release? No
  • Blocks product? Monodevelop >= 5

Documentation

https://fedoraproject.org/wiki/Packaging:Mono

https://github.com/mono/mono

Release Notes

http://www.mono-project.com/docs/about-mono/releases/