Bug 867958

Summary: Create Python 3 package
Product: [Fedora] Fedora Reporter: Joanmarie Diggs <jdiggs>
Component: speech-dispatcherAssignee: Peter Robinson <pbrobinson>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 19CC: kalevlember, pbrobinson
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-08-07 03:33:24 EDT Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 914972    
Attachments:
Description Flags
[PATCH 1/5] Minor spec file cleanup
none
[PATCH 2/5] Rename the Python 2 package to python-speechd
none
[PATCH 3/5] Backport Python 3 bindings
none
[PATCH 4/5] Drop the sysv -> systemd init script conversion
none
[PATCH 5/5] Update the systemd scriptlets to the macroized versions
none
[PATCH 3/5] Backport Python 3 bindings (v2) none

Description Joanmarie Diggs 2012-10-18 12:57:21 EDT
There is a GNOME Goal candidate to migrate to Python 3:
https://live.gnome.org/GnomeGoals/Python3Porting

And at least some indication that we'll do it for GNOME 3.8:
https://mail.gnome.org/archives/release-team/2012-September/msg00140.html

Orca depends upon speech-dispatcher's python 3 bindings. The current speech-dispatcher is ready for Python 3. So we just need a python 3 speech-dispatcher package in Fedora. (Please, and thank you in advance.)
Comment 1 Joanmarie Diggs 2012-10-18 12:58:30 EDT
(Related aside: Bonus points if you also include the svox/pico voices. Debian has a branch, the voices work in Fedora, and they sounds way better than espeak.)
Comment 2 Peter Robinson 2012-10-23 04:22:32 EDT
I'll review and try and get it done in rawhide for you shortly
Comment 3 Peter Robinson 2013-01-07 16:23:26 EST
We need an upstream release for py3. Support is there, awaiting the release.
Comment 4 Joanmarie Diggs 2013-01-07 17:08:11 EST
(In reply to comment #3)
> We need an upstream release for py3. Support is there, awaiting the release.

In the great minds think alike dept, I asked on the 3rd:
http://lists.freebsoft.org/pipermail/speechd/2013q1/004443.html

:)

Thanks for the ping. If I don't hear back soon, I'll poke them again.
Comment 5 Joanmarie Diggs 2013-02-23 16:00:54 EST
I have just privately poked (via email) the most responsive dev at Brailcom I know begging and pleading for a stable release. ;) Hopefully I will hear something by Monday.

Having said that.... The beta release is Python 3 compatible and works in Fedora 18 *now*. (And has for some time.) It is what I use. Since the initial live media go through the unstable release process, perhaps Fedora could package the beta of speech-dispatcher now and then just update the package to the stable version once it comes out?
Comment 6 Kalev Lember 2013-02-27 07:52:58 EST
I had an IRC conversation with Peter Robinson a few days ago and he wanted to proceed very carefully with the new package. It seems very unlikely we'd see a speech-dispatcher 0.8 in time for F19.

As a workaround, I came up with a hack that backports the Python 3 support to the old speech-dispatcher rpm.

Peter, I'll attach a series of patches here, can you review them please? (A few are just drive-by cleanups, not related to the Python 3 support.)
Comment 7 Kalev Lember 2013-02-27 07:54:31 EST
Created attachment 703420 [details]
[PATCH 1/5] Minor spec file cleanup

Remove sections that are no longer needed with current rpmbuild.
Comment 8 Kalev Lember 2013-02-27 07:55:34 EST
Created attachment 703421 [details]
[PATCH 2/5] Rename the Python 2 package to python-speechd

This makes the Python module naming consistent with other distros;
I've checked Debian, openSUSE, and Mageia and they all use
python-speechd for the Python subpackage name.

Having less differences between distros makes it easier for upstream
projects that use this (Orca) specify the deps in their documentation.

The new naming is also blessed by the Fedora Packaging Naming Guidelines
(http://fedoraproject.org/wiki/Packaging:NamingGuidelines).
Comment 9 Kalev Lember 2013-02-27 07:56:26 EST
Created attachment 703422 [details]
[PATCH 3/5] Backport Python 3 bindings

Extracted from speech-dispatcher-0.8-beta1.tar.gz. It seems unlikely
that we get an updated speech-dispatcher package in time for F19, but we
need the Python 3 support for Orca.
Comment 10 Kalev Lember 2013-02-27 07:57:11 EST
Created attachment 703424 [details]
[PATCH 4/5] Drop the sysv -> systemd init script conversion

The speech-dispatcher systemd support was introduced in F16 and we are
now at F19. Drop the sysv conversion; direct F16 -> F19 upgrades are
unsupported.
Comment 11 Kalev Lember 2013-02-27 07:57:36 EST
Created attachment 703425 [details]
[PATCH 5/5] Update the systemd scriptlets to the macroized versions
Comment 12 Kalev Lember 2013-02-27 09:19:49 EST
... and we have a new 0.8 release as well now, hot off the press:

http://devel.freebsoft.org/pub/projects/speechd/speech-dispatcher-0.8.tar.gz
Comment 13 Peter Robinson 2013-02-27 09:38:07 EST
Will update to 0.8 this evening and add the python3 subpackage
Comment 14 Joanmarie Diggs 2013-02-27 09:41:10 EST
(In reply to comment #13)
> Will update to 0.8 this evening and add the python3 subpackage

Sweet! Thanks much Peter!!
Comment 15 Kalev Lember 2013-02-28 06:29:36 EST
Created attachment 703882 [details]
[PATCH 3/5] Backport Python 3 bindings (v2)

You probably don't need this any more if you are updating to 0.8 proper -- but in any case, I've updated the Python 3 backport patch. Just in case you don't have time for work on 0.8 now; in that case we can stay on 0.7.1 and only add the backported Py3 bindings, without breaking any existing users.

(I got a bit too trigger-happy yesterday and backported a few extra chunks. I've now tested the updated patch properly, and it works nicely here with Orca and Python 3.)
Comment 16 Kalev Lember 2013-03-04 09:43:22 EST
Peter, it would be awesome if you could look through the patches I've posted here and say if they are okay. Thanks!
Comment 17 Peter Robinson 2013-03-05 09:03:41 EST
(In reply to comment #16)
> Peter, it would be awesome if you could look through the patches I've posted
> here and say if they are okay. Thanks!

All the patches have either been applied or already had the equivalent functionality applied. The only outstanding issue preventing me from pushing the build is py2/py3 support which has caused me issue and I need to sort out building bindings together.
Comment 18 Fedora End Of Life 2013-04-03 15:37:48 EDT
This bug appears to have been reported against 'rawhide' during the Fedora 19 development cycle.
Changing version to '19'.

(As we did not run this process for some time, it could affect also pre-Fedora 19 development
cycle bugs. We are very sorry. It will help us with cleanup during Fedora 19 End Of Life. Thank you.)

More information and reason for this action is here:
https://fedoraproject.org/wiki/BugZappers/HouseKeeping/Fedora19