Elsupergomez (talk | contribs) |
Elsupergomez (talk | contribs) |
||
(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 | = 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 | Update the Mono stack in Fedora from 2.10 to 4.* | ||
== Owner == | == Owner == | ||
Line 45: | Line 45: | ||
== Current status == | == Current status == | ||
* Targeted release: [[Releases/ | * Targeted release: [[Releases/23 | Fedora 23 ]] | ||
* Last updated: | * 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: | * 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 | Support for Mono versions 3.0 and 2.10 has been discontinued. No further development of bug fixing is planned for those branches. | ||
Mono | 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 | 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?--> | ||
Update mono spec and build in copr and/or koji until is ready. | |||
* Other developers: | * 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: | 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: | * 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 | 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. | 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 --> | ||
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. | |||
{| | |||
! 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: | * 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: | * 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? | * Blocks release? No <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
* Blocks product? | * 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 --> | ||
https://fedoraproject.org/wiki/Packaging:Mono | |||
https://github.com/mono/mono | |||
== Release Notes == | == Release Notes == | ||
Line 139: | Line 361: | ||
--> | --> | ||
[[Category: | 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]] |
Latest revision as of 14:41, 29 July 2015
Mono 4
Summary
Update the Mono stack in Fedora from 2.10 to 4.*
Owner
- Name: Claudio Rodrigo Pereyra Diaz
- Email: <elsupergomez@fedoraproject.org>
- Release notes 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:
- 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
- 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
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