From Fedora Project Wiki
 
(161 intermediate revisions by 5 users not shown)
Line 20: Line 20:
<!-- The actual name of your proposed change page should look something like: Changes/Your_Change_Proposal_Name.  This keeps all change proposals in the same namespace -->
<!-- The actual name of your proposed change page should look something like: Changes/Your_Change_Proposal_Name.  This keeps all change proposals in the same namespace -->


= Mono 3.2 <!-- The name of your change proposal --> =
= Mono 4 <!-- The name of your change proposal --> =


== Summary ==
== Summary ==
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. -->
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. -->


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


== Owner ==
== Owner ==
Line 45: Line 45:


== Current status ==
== Current status ==
* Targeted release: [[Releases/21 | Fedora 21 ]]  
* Targeted release: [[Releases/23 | Fedora 23 ]]  
* Last updated: (DATE)
* Last updated: Jul 29, 2015
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
Bugzilla states meaning as usual:
Bugzilla states meaning as usual:
Line 55: Line 55:
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
-->
-->
* Tracker bug: <will be assigned by the Wrangler>
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1221559 #1221559]


== Detailed Description ==
== Detailed Description ==
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
Support for Mono versions 3.0 and 2.10 is been discontinued. No further development of bug fixing is planned for those branches.  
Support for Mono versions 3.0 and 2.10 has been discontinued. No further development of bug fixing is planned for those branches.  
Mono 3.2 is the active branch an have many improvements . See upstream notes http://www.mono-project.com/Release_Notes_Mono_3.2
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:
* Upgrade mono to version 3.4, then to version 3.12 and then to version 4.0.1 on rawhide (3.4 now builds on rawhide: https://copr.fedoraproject.org/coprs/tpokorra/mono-3.4/monitor/)
* Make a one time exception of the rule for build mono 4.0.1-1 using monolite, later make mono depend again on it self and rebuild mono 4.0.1-2 using mono-4.0.1-1
** this is the favoured option, because there are new architectures anyway: armv7hl, aarch64, ppc64, ppc64l
** it would be best to bootstrap Mono 4 for all of the primary and secondary architectures at the same time (https://fedoraproject.org/wiki/Architectures#Structure)
** there is now an FPC ticket for this: https://fedorahosted.org/fpc/ticket/528
 
=== Steps for Bootstrapping ===
<!-- according to https://fedoraproject.org/wiki/Packaging:Guidelines#Exceptions and https://fedoraproject.org/wiki/Packaging:Guidelines#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 ==
== Benefit to Fedora ==
<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new functionality, what capabilities does it bring? Why will Fedora become a better distribution or project because of this proposal?-->
<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new functionality, what capabilities does it bring? Why will Fedora become a better distribution or project because of this proposal?-->
Fedora aims to showcase the latest in free and open source software - we should have the most recent release of Mono 3.2
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 ==
== Scope ==
Line 72: Line 93:
<!-- What work do the feature owners have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
<!-- What work do the feature owners have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->


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


* Other developers: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Other developers: <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- What work do other developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
<!-- What work do other developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->


* Release engineering: N/A (not a System Wide Change)  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
See Upgrade/compatibility impact and Dependencies section
 
* Release engineering: None <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)?  Is a mass rebuid required?  If a rel-eng ticket exists, add a link here.  -->
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)?  Is a mass rebuid required?  If a rel-eng ticket exists, add a link here.  -->


* Policies and guidelines: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Policies and guidelines: None <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- Do the packaging guidelines or other documents need to be updated for this feature?  If so, does it need to happen before or after the implementation is done?  If a FPC ticket exists, add a link here. -->
<!-- Do the packaging guidelines or other documents need to be updated for this feature?  If so, does it need to happen before or after the implementation is done?  If a FPC ticket exists, add a link here. -->


== Upgrade/compatibility impact ==
== Upgrade/compatibility impact ==
<!-- What happens to systems that have had a previous versions of Fedora installed and are updated to the version containing this change? Will anything require manual configuration or data migration? Will any existing functionality be no longer supported? -->
<!-- What happens to systems that have had a previous versions of Fedora installed and are updated to the version containing this change? Will anything require manual configuration or data migration? Will any existing functionality be no longer supported? -->
Mono 3.2 includes most of the features of Mono 2.10. Most applications that use Mono should continue to function properly after update.
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
 
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->


Line 104: Line 135:


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
Interested testers do not need special hardware. If you have a favorite Mono application, please test it with Mono 3.2 and verify that it still works as you expect.
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 Experience ==
<!-- If this change proposal is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice. -->
<!-- If this change proposal is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice. -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
N/A (not a System Wide Change)
User should note speedy improvement running Mono applications.
 
Some applications will have features only supported if used Mono 4


== Dependencies ==
== Dependencies ==
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this change depends?  In other words, completion of another change owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel change)? -->
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this change depends?  In other words, completion of another change owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel change)? -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
{|
! 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 [https://bugzilla.redhat.com/show_bug.cgi?id=1222982])
|-
|RepetierHost                  ||    ||0.90D-4.fc23 ||Build in kojiy http://koji.fedoraproject.org/koji/buildinfo?buildID=642106 ( was [https://bugzilla.redhat.com/show_bug.cgi?id=1222945])
|-
|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 [https://bugzilla.redhat.com/show_bug.cgi?id=1222937])
|-
|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 [https://bugzilla.redhat.com/show_bug.cgi?id=1224044]
|-
|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 [https://bugzilla.redhat.com/show_bug.cgi?id=1231276])
|-
|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 ==
Nuget and nunit are mandatory because monodevelop 5 depend on it and must be updated to work with mono 4.
Other packages are desirable to be packaged and included in Fedora, but are not mandatory to accomplish goal of Mono 4 Change.


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
{|
N/A (not a System Wide Change)
! 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 ||Review request || ||https://bugzilla.redhat.com/show_bug.cgi?id=1244899
|-
|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 Plan ==
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "Revert the shipped configuration".  Or it might not (e.g. rebuilding a number of dependent packages).  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "Revert the shipped configuration".  Or it might not (e.g. rebuilding a number of dependent packages).  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
* Contingency mechanism: (What to do?  Who will do it?) N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Contingency mechanism: Still in Mono 2.10 <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- When is the last time the contingency mechanism can be put in place?  This will typically be the beta freeze. -->
<!-- When is the last time the contingency mechanism can be put in place?  This will typically be the beta freeze. -->
* Contingency deadline: N/A (not a System Wide Change)  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Contingency deadline: Beta freeze <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? -->
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? -->
* Blocks release? N/A (not a System Wide Change), Yes/No <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Blocks release? No <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Blocks product? product <-- Applicable for Changes that blocks specific product release/Fedora.next -->
* Blocks product? Monodevelop >= 5 <!-- Applicable for Changes that blocks specific product release/Fedora.next -->


== Documentation ==
== Documentation ==
Line 130: Line 350:


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
N/A (not a System Wide Change)
https://fedoraproject.org/wiki/Packaging:Mono
 
https://github.com/mono/mono


== Release Notes ==
== Release Notes ==
Line 139: Line 361:
-->
-->


[[Category:ChangePageIncomplete]]
http://www.mono-project.com/docs/about-mono/releases/
 
 
[[Category:ChangeAcceptedF23]]
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
Line 146: Line 371:


<!-- Select proper category, default is Self Contained Change -->
<!-- Select proper category, default is Self Contained Change -->
[[Category:SelfContainedChange]]
<!-- [[Category:SelfContainedChange]] -->
<!-- [[Category:SystemWideChange]] -->
[[Category:SystemWideChange]]

Latest revision as of 14:41, 29 July 2015


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

Nuget and nunit are mandatory because monodevelop 5 depend on it and must be updated to work with mono 4. Other packages are desirable to be packaged and included in Fedora, but are not mandatory to accomplish goal of Mono 4 Change.

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 Review request https://bugzilla.redhat.com/show_bug.cgi?id=1244899
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/