From Fedora Project Wiki
(Change Proposal ready for 2014-04-16 FESCo meeting (#1284))
No edit summary
(34 intermediate revisions by 3 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.4 <!-- 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.4
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: April 03, 2014
* Last updated: April 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=1089278 #1089278]


== 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 is been discontinued. No further development of bug fixing is planned for those branches.  
Mono 3.4 is the active branch an have many improvements . See upstream notes http://www.mono-project.com/Release_Notes_Mono_3.4
Mono 4 is the active branch an have many improvements . See upstream notes http://www.mono-project.com/docs/about-mono/releases/4.0.0/
 
Mono require it self to build. Actual version 2.10.8 is to old to build version 4 that require at less 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 option to upgrade:
* Upgrade mono to version 3.4, then to version 3.12 and then to version 4.0.1 on rawhide (actually 3.4 don't build on rawhide this need fixed)
* 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


== 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.4
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
It will have the ability to run cross-platform applications that require compatibility with Microsoft. Net Framework 4.5
Line 74: Line 81:
<!-- 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?-->


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


* Other developers: <!-- 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?-->


Some packages may need to be revised, updated or rebuilt, see Dependencies section
See Upgrade/compatibility impact and Dependencies section


* Release engineering: None <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Release engineering: None <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
Line 89: Line 96:
== 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.4 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 108: Line 123:


<!-- 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.4 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:


People using F19, F20 or Rawhide can use http://copr.fedoraproject.org/coprs/elsupergomez/mono/ to install and test
* http://copr.fedoraproject.org/coprs/tpokorra/mono/


Can download srpm and rpm from koji http://koji.fedoraproject.org/koji/taskinfo?taskID=6703706 to install and test
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 ==
Line 119: Line 134:
User should note speedy improvement running Mono applications.
User should note speedy improvement running Mono applications.


Some applications will have features only supported if used Mono 3.4.
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 -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
{| class="wikitable"
The current status of the fixes for build and run on Mono 4 is in https://github.com/elsupergomez/lbs-mono-fedora/blob/master/README.md
! Package
 
! Status
* OpenTK
|-
* RepetierHost
|OpenTK || Need Test
* avahi-sharp
|-
* banshee
|RepetierHost || Need Test
* banshee-community-extensions
|-
* bareftp
|avahi || Need Test
* bless
|-
* boo
|banshee || Tested
* cdcollect
|-
* dbus-sharp
|banshee-community-extensions || Need Test
* dbus-sharp-glib
|-
* docky
|bareftp || Need Test
* gbrainy
|-
* gdata-sharp
|bless || Need Test
* gecko-sharp2
|-
* gio-sharp
|boo || Need Test
* giver
|-
* gkeyfile-sharp
|cdcollect || Need Test
* gmime
|-
* gnome-desktop-sharp
|dbus-sharp || Need Test
* gnome-do
|-
* gnome-guitar
|dbus-sharp-glib || Need Test
* gnome-keyring-sharp
|-
* gnome-rdp
|docky || Need Test
* gnome-sharp
|-
* gnome-subtitles
|f-spot || Tested
* graphviz
|-
* gsf-sharp
|flickrnet || Need Test
* gtk-sharp-beans
|-
* gtk-sharp2
|gbrainy || Need Test
* gtksourceview-sharp
|-
* gudev-sharp
|gdata-sharp || Need Test
* hyena
|-
* keepass
|gecko-sharp2 || Need Test
* kimono
|-
* libappindicator
|gio-sharp || Need Test
* libgpod
|-
* log4net
|giver || Need Test
* mono-addins
|-
* mono-basic
|gkeyfile-sharp || Need Test
* mono-bouncycastle
|-
* mono-cecil-flowanalysis
|gmime || Need Test
* mono-debugger
|-
* mono-reflection
|gnome-desktop-sharp || Need Test
* mono-tools
|-
* mono-zeroconf
|gnome-do || Need Test
* monobristol
|-
* monodevelop
|gnome-do-plugins || Need Test
* monodevelop-debugger-gdb
|-
* monosim
|gnome-guitar || Need Test
* nant
|-
* ndesk-dbus
|gnome-keyring-sharp || Need Test
* ndesk-dbus-glib
|-
* nini
|gnome-rdp || Need Test
* notify-sharp
|-
* pdfmod
|gnome-sharp || Need Test
* pinta
|-
* poppler-sharp
|gnome-subtitles || Tested
* python-elasticsearch
|-
* qyoto
|graphviz || Need Test
* rescene
|-
* shogun
|gsf-sharp || Need Test
* sparkleshare
|-
* syntastic
|gtk-sharp-beans || Need Test
* taglib-sharp
|-
* themonospot-base
|gtk-sharp2 || Test
* themonospot-console
|-
* themonospot-gui-gtk
|gtksourceview-sharp || Need Test
* themonospot-gui-qt
|-
* themonospot-plugin-avi
|gudev-sharp || Need Test
* themonospot-plugin-mkv
|-
* thrift
|hyena || Need Test
* tomboy
|-
* uwsgi
|ice || Need Test
* webkit-sharp
|-
* xsp
|kimono || Need Test
 
|-
== New packages for mono stack ==
|libappindicator || Need Test
 
|-
* gtk-sharp3 https://bugzilla.redhat.com/show_bug.cgi?id=1192059
|libgdiplus || Need Update & Test
* monodevelop-database
|-
* mysql-connector-net
|libgpod || Need Test
* notify-sharp3
|-
* npgsql
|log4net || Need Test
* nuget
|-
* nunit
|mono-addins || Tested
|-
|mono-basic || Need Test
|-
|mono-bouncycastle || Need Test
|-
|mono-cecil-flowanalysis || Need Test
|-
|mono-debugger || Need Revision
|-
|mono-reflection || Need Test
|-
|mono-tools || Need Test
|-
|mono-zeroconf || Need Test
|-
|monobristol || Need Test
|-
|monodevelop || Tested
|-
|monodevelop-debugger-gdb || Tested
|-
|monodevelop-vala || Need Test
|-
|monosim || Need Test
|-
|nant || Need Test
|-
|ndesk-dbus || Need Test
|-
|ndesk-dbus-glib || Need Test
|-
|notify-sharp || Tested
|-
|pdfmod || Tested
|-
|pinta || Need Test
|-
|poppler-sharp || Need Test
|-
|qyoto || Need Test
|-
|rescene || Need Test
|-
|sparkleshare || Tested
|-
|taglib-sharp || Need Test
|-
|taoframework || Need Test
|-
|themonospot-base || Need Test
|-
|themonospot-console || Need Test
|-
|themonospot-gui-gtk || Need Test
|-
|themonospot-gui-qt || Need Test
|-
|themonospot-plugin-avi || Need Test
|-
|themonospot-plugin-mkv || Need Test
|-
|thrift || Need Test
|-
|tomboy || Tested
|-
|webkit-sharp || Need Test
|-
|xsp || Need Test
|}


== Contingency Plan ==
== Contingency Plan ==
Line 290: Line 235:
<!-- 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? No <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Blocks release? No <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Blocks product? Monodevelop 4 <!-- 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 306: Line 251:
Release Notes are not required for initial draft of the Change Proposal but has to be completed by the Change Freeze.  
Release Notes are not required for initial draft of the Change Proposal but has to be completed by the Change Freeze.  
-->
-->
http://www.mono-project.com/Release_Notes_Mono_3.2


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


[[Category:ChangeReadyForFesco]]
[[Category:ChangeAnnounced]]
<!-- 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 -->

Revision as of 09:09, 4 May 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 is been discontinued. No further development of bug fixing is planned for those branches. Mono 4 is the active branch an have many improvements . See upstream notes http://www.mono-project.com/docs/about-mono/releases/4.0.0/

Mono require it self to build. Actual version 2.10.8 is to old to build version 4 that require at less 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 option to upgrade:

  • Upgrade mono to version 3.4, then to version 3.12 and then to version 4.0.1 on rawhide (actually 3.4 don't build on rawhide this need fixed)
  • 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

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

The current status of the fixes for build and run on Mono 4 is in https://github.com/elsupergomez/lbs-mono-fedora/blob/master/README.md

  • OpenTK
  • RepetierHost
  • avahi-sharp
  • banshee
  • banshee-community-extensions
  • bareftp
  • bless
  • boo
  • cdcollect
  • dbus-sharp
  • dbus-sharp-glib
  • docky
  • gbrainy
  • gdata-sharp
  • gecko-sharp2
  • gio-sharp
  • giver
  • gkeyfile-sharp
  • gmime
  • gnome-desktop-sharp
  • gnome-do
  • gnome-guitar
  • gnome-keyring-sharp
  • gnome-rdp
  • gnome-sharp
  • gnome-subtitles
  • graphviz
  • gsf-sharp
  • gtk-sharp-beans
  • gtk-sharp2
  • gtksourceview-sharp
  • gudev-sharp
  • hyena
  • keepass
  • kimono
  • libappindicator
  • libgpod
  • log4net
  • mono-addins
  • mono-basic
  • mono-bouncycastle
  • mono-cecil-flowanalysis
  • mono-debugger
  • mono-reflection
  • mono-tools
  • mono-zeroconf
  • monobristol
  • monodevelop
  • monodevelop-debugger-gdb
  • monosim
  • nant
  • ndesk-dbus
  • ndesk-dbus-glib
  • nini
  • notify-sharp
  • pdfmod
  • pinta
  • poppler-sharp
  • python-elasticsearch
  • qyoto
  • rescene
  • shogun
  • sparkleshare
  • syntastic
  • taglib-sharp
  • themonospot-base
  • themonospot-console
  • themonospot-gui-gtk
  • themonospot-gui-qt
  • themonospot-plugin-avi
  • themonospot-plugin-mkv
  • thrift
  • tomboy
  • uwsgi
  • webkit-sharp
  • xsp

New packages for mono stack

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/