A Python3 compatible version of Sugar (0.116) was recently released, however it is an unstable release, and while the core work has been done to Sugar itself, many, if not most, of the Sugar activities are not yet ported to Python 3. While we are most of the way towards Python 3 compatibility, we are not yet where we want to be, and therefore request a FESCO exception for all sugar-* packages and dependencies, for Fedora 32. We believe we will have our act sufficiently together for F33.
The Sugar desktop has a decade-plus long history with Fedora, and removal of these packages would also mean the death of the Sugar on a Stick (SoaS) Fedora spin. These builds are and have been, for years, the primary way most people try out Sugar, and run it on modern devices.
Could you please explicitly include the entire list of packages meant by "all sugar-* packages and dependencies"?
For example, currently, sugar-toolkit-gtk3 uses python-dateutil uses python-setuptools_scm uses python2-pytest.
As a maintainer of python2-pytest, I was planning to drop it. There are more packages like that currently listed at https://fedora.portingdb.xyz/grp/olpc/
Metadata Update from @churchyard: - Issue tagged with: python 2 exception
For example, currently, sugar-toolkit-gtk3 uses python-dateutil uses python-setuptools_scm uses python2-pytest. As a maintainer of python2-pytest, I was planning to drop it. There are more packages like that currently listed at https://fedora.portingdb.xyz/grp/olpc/
I'll add this list based on what was shipped in F-31 shortly, the aim will be to reduce the dependencies as quick as possible as things get moved over.
Metadata Update from @pbrobinson: - Issue untagged with: python 2 exception
I trimmed the unused deps to the ones I believe have python deps but the list is basically as follows in the installed F-31 SoaS image:
Any of the activities that aren't ported to sugar-toolkit-gtk3 and with a release built in Fedora by Jan I'm going to retire which will in turn remove the older sugar-toolkit and a bunch of it's older dependencies too.
Dependencies resolved. ================================================================================ Package Arch Version Repo Size ================================================================================ Removing: python2 x86_64 2.7.16-4.fc31 @anaconda 76 k python2-abiword x86_64 1:3.0.2-20.fc30 @anaconda 616 python2-beautifulsoup noarch 1:3.2.1-20.fc31 @anaconda 149 k python2-cairo x86_64 1.18.1-2.fc31 @anaconda 325 k python2-dateutil noarch 1:2.8.0-3.fc31 @anaconda 763 k python2-dbus x86_64 1.2.8-6.fc31 @anaconda 511 k python2-decorator noarch 4.4.0-2.fc31 @anaconda 64 k python2-elements noarch 0.13-20.20100110svn.fc31 @anaconda 193 k python2-gobject x86_64 3.34.0-3.fc31 @anaconda 24 k python2-gobject-base x86_64 3.34.0-3.fc31 @anaconda 1.3 M python2-gwebsockets noarch 0.6-1.fc31 @anaconda 39 k python2-hippo-canvas x86_64 0.3.0-29.fc31 @anaconda 139 k python2-libs x86_64 2.7.16-4.fc31 @anaconda 26 M python2-numpy x86_64 1:1.16.4-5.fc31 @anaconda 19 M python2-olpcgames noarch 1.6-21.fc31 @anaconda 282 k python2-pip noarch 19.1.1-4.fc31 @anaconda 8.4 M python2-pybox2d x86_64 2.3.2-8.fc31 @anaconda 3.8 M python2-pygame x86_64 1.9.6-1.fc31 @anaconda 8.6 M python2-setuptools noarch 41.2.0-1.fc31 @anaconda 3.1 M python2-simplejson x86_64 3.16.0-3.fc31 @anaconda 1.0 M python2-six noarch 1.12.0-2.fc31 @anaconda 107 k python2-telepathy noarch 0.15.19-20.fc31 @anaconda 1.1 M python2-xapian x86_64 1.4.12-1.fc31 @anaconda 2.5 M Removing dependent packages: sugar-abacus noarch 60-4.fc31 @anaconda 712 k sugar-browse noarch 203.1-1.fc31 @anaconda 1.6 M sugar-calculator noarch 44-6.fc30 @anaconda 2.5 M sugar-chat noarch 85-2.fc31 @anaconda 2.2 M sugar-clock noarch 21-2.fc31 @anaconda 1.4 M sugar-countries noarch 33-17.fc31 @anaconda 5.1 M sugar-cp-all noarch 0.114-1.fc31 @anaconda 0 sugar-finance noarch 14-4.fc31 @anaconda 1.1 M sugar-fototoon noarch 23-6.fc31 @anaconda 717 k sugar-getiabooks noarch 18.2-2.fc31 @anaconda 1.0 M sugar-imageviewer noarch 64-3.fc31 @anaconda 470 k sugar-infoslicer noarch 25-7.fc31 @anaconda 4.6 M sugar-jukebox noarch 34-4.fc31 @anaconda 479 k sugar-labyrinth noarch 16-12.fc31 @anaconda 696 k sugar-log noarch 40-2.fc31 @anaconda 495 k sugar-maze noarch 28-3.fc31 @anaconda 390 k sugar-memorize noarch 55-3.fc31 @anaconda 1.8 M sugar-moon noarch 19-3.fc31 @anaconda 648 k sugar-paint x86_64 68-2.fc30 @anaconda 1.6 M sugar-physics noarch 34-3.fc31 @anaconda 1.4 M sugar-pippy x86_64 72-5.fc31 @anaconda 1.1 M sugar-portfolio noarch 51-3.fc31 @anaconda 964 k sugar-read noarch 122-2.fc31 @anaconda 969 k sugar-record noarch 200.2-3.fc31 @anaconda 745 k sugar-speak noarch 57-3.fc31 @anaconda 20 M sugar-stopwatch noarch 20.1-3.fc31 @anaconda 313 k sugar-story noarch 19-3.fc31 @anaconda 583 k sugar-terminal noarch 46-2.fc31 @anaconda 527 k sugar-turtleart noarch 218-3.fc31 @anaconda 13 M sugar-typing-turtle noarch 31-11.fc31 @anaconda 2.8 M sugar-visualmatch noarch 49-12.fc31 @anaconda 1.6 M sugar-words noarch 23-5.fc31 @anaconda 74 M sugar-write noarch 100-2.fc31 @anaconda 860 k sugar-xoirc noarch 12-11.fc31 @anaconda 221 k Removing unused dependencies: gnome-python2 x86_64 2.28.1-30.fc31 @anaconda 155 k gnome-python2-gconf x86_64 2.28.1-30.fc31 @anaconda 152 k gnome-python2-rsvg x86_64 2.32.0-38.fc31 @anaconda 20 k guile22 x86_64 2.2.6-2.fc31 @anaconda 44 M hippo-canvas x86_64 0.3.0-29.fc31 @anaconda 260 k pygobject2 x86_64 2.28.7-6.fc31 @anaconda 923 k pygtk2 x86_64 2.24.0-26.fc31 @anaconda 4.0 M sugar noarch 0.114-1.fc31 @anaconda 5.0 M sugar-artwork x86_64 0.114-1.fc31 @anaconda 1.7 M sugar-base x86_64 0.98.0-17.fc31 @anaconda 154 k sugar-cp-background noarch 0.114-1.fc31 @anaconda 20 k sugar-cp-backup noarch 0.114-1.fc31 @anaconda 63 k sugar-cp-datetime noarch 0.114-1.fc31 @anaconda 16 k sugar-cp-frame noarch 0.114-1.fc31 @anaconda 24 k sugar-cp-keyboard noarch 0.114-1.fc31 @anaconda 46 k sugar-cp-language noarch 0.114-1.fc31 @anaconda 48 k sugar-cp-modemconfiguration noarch 0.114-1.fc31 @anaconda 50 k sugar-cp-network noarch 0.114-1.fc31 @anaconda 84 k sugar-cp-updater noarch 0.114-1.fc31 @anaconda 32 k sugar-cp-webaccount noarch 0.114-1.fc31 @anaconda 11 k sugar-datastore x86_64 0.114-1.fc31 @anaconda 150 k sugar-toolkit x86_64 0.112-8.fc31 @anaconda 1.3 M sugar-toolkit-gtk3 x86_64 0.114-1.fc31 @anaconda 2.1 M xapian-bindings x86_64 1.4.12-1.fc31 @anaconda 158 k xapian-core-libs x86_64 1.4.12-1.fc31 @anaconda 2.6 M
Are all the packages maintainers of all the listed packages aware of this exception request?
A quick peek gives me for example python2-six, maintained by me.
The reason we've opened https://bugzilla.redhat.com/show_bug.cgi?id=1737929 3 months ago was that we would know your plans and coordinate with you about all the dependent packages. You've decided to dump a dnf output on us instead :(
sugar* packages skipped python2 subpackages skipped python2-pip skipped (no longer available in Fedora 32)
pygtk2 has exception pycairo has exception pygobject2 has exception python2-numpy has an existing exception request, @limb is on board python2-setuptools has an existing exception request, I'm on board
gnome-python2 maintained by you gnome-python2 maintained by you hippo-canvas maintained by you python-elements maintained by you gwebsockets maintained by you hippo-canvas maintained by you python-olpcgames maintained by you pybox2d maintained by you python-telepathy maintained by you xapian-bindings maintained by you xapian-bindings maintained by you xapian-core maintained by you
gnome-python2-desktop maintained by @rstrode @rhughes @johnp @alexl @caolanm @ssp @moezroy @limb @caillon @walters guile22 maintained by @mlichvar @jdulaney abiword maintained by @huzaifas @uwog @herrold python-BeautifulSoup maintained by @kwizart @terjeros python-dateutil maintained by @hguemar @jspaleta @tomspur @pjp @limb dbus-python maintained by @rstrode @rhughes @phuang @besser82 @johnp @alexl @caolanm @ssp @rdieter @mbarnes @stefanok @caillon python-decorator maintained by @ralph @fale @kevin pygobject3 maintained by @johnp @nacho @walters pygame maintained by @limb @jskarvad python-simplejson maintained by @kylev @ignatenkobrain @bowlofeggs @mrunge python-six maintained by @bkabrda @pviktori @churchyard @apevec @mrunge
What about olpc-update, olpc-utils, olpc-switch-desktop, olpc-netutils?
I will retire sugar-toolkit before F-32 branches in Jan and any of the Activities that haven't been ported (currently 12) and that will drop the following out of the dep chain:
As part of that sugar-base and hippo-canvas will also be retired.
Removing: sugar-toolkit x86_64 0.112-8.fc31 @anaconda 1.3 M Removing unused dependencies: gnome-python2 x86_64 2.28.1-30.fc31 @anaconda 155 k gnome-python2-gconf x86_64 2.28.1-30.fc31 @anaconda 152 k gnome-python2-rsvg x86_64 2.32.0-38.fc31 @anaconda 20 k hippo-canvas x86_64 0.3.0-29.fc31 @anaconda 260 k pygobject2 x86_64 2.28.7-6.fc31 @anaconda 923 k pygtk2 x86_64 2.24.0-26.fc31 @anaconda 4.0 M python2-decorator noarch 4.4.0-2.fc31 @anaconda 64 k python2-hippo-canvas x86_64 0.3.0-29.fc31 @anaconda 139 k python2-simplejson x86_64 3.16.0-3.fc31 @anaconda 1.0 M sugar-base x86_64 0.98.0-17.fc31 @anaconda 154 k
I'll add them to the review list.
I'm OK with maintaining python2-six for one more Fedora release.
python2-six
python2-six is totally fine. the rest is unknown. there seem to have been no coordination here at all.
After 7 days, this exception request is still not complete.
It's awaiting for @aperezbios but what's missing?
The exact list of packages with their maintainers being aware about this.
@churchyard , @pbrobinson said he would "add this list based on what was shipped in F-31 shortly, the aim will be to reduce the dependencies as quick as possible as things get moved over." and I thought he did so seven days ago.
When you ask "Are all the packages maintainers of all the listed packages aware of this exception request?" I don't think they are, as most of the packages that aren't already owned by @pbrobinson or myself have not changed or been updated in a significant amount of time, and many of those packages themselves are effectively abandoned, with the original packagers AWOL for the most part. Are you sure what you are asking for is reasonable, given that?
Where is the list? I see a dnf output from Fedora 31. Do we parse that dnf ouput, take all listed packages from that and consider them for the exception, but no other packages?
I've explicitly asked about olpc-update, olpc-utils, olpc-switch-desktop, olpc-netutils and @pbrobinson said he will add them to the "review list". They were not added anywhere.
You have listed no buildrequired packages, so some of the packages on the list might get an exception, but will fail to build.
Can I please ask for a structured list of package names, for example one package name on a line, either "binary" package names (such as python2-simplejson) or source package names (such as python-simplejson), so everybody knows what list we are actually voting about?
I'm sure that contacting the dependent package owners to keep their Python 2 packages is reasonable ask, yes.
When the list is provided, FESCo can certainly vote whether the packages get exception, but if the package owners have not been told, they might very well just remove their Python 2 packages. If you are OK with that, we will proceed with voting after that list is provided.
These are now either fixed or retired so no longer on this list.
I'm sure that contacting the dependent package owners to keep their Python 2 packages is reasonable ask, yes. When the list is provided, FESCo can certainly vote whether the packages get exception, but if the package owners have not been told, they might very well just remove their Python 2 packages. If you are OK with that, we will proceed with voting after that list is provided.
That just happened with python2-simplejson for example.
I don't think they are, as most of the packages that aren't already owned by @pbrobinson or myself have not changed or been updated in a significant amount of time, and many of those packages themselves are effectively abandoned, with the original packagers AWOL for the most part.
This means that they may go away at any time, for example based on the FTBFS policy, or is somebody opens a non-responsive maintainer ticket. Buidling
Like @churchyard said, a full list of package names is necessary. We need that to make people aware, and to plug it into various scripts that retire python2 packages so that they don't get lost through the automatic processes.
This was discussed during today's meeting: AGREED: "Python 2 exception: sugar desktop environment" close the request, and ask the submitters to reopen with a concrete list of packages. (+7,0,0)
Note: please resubmit the request before the end of the year, packages will be retired after that.
Metadata Update from @zbyszek: - Issue close_status updated to: Rejected - Issue status updated to: Closed (was: Open)
Log in to comment on this ticket.