Bug 1207737

Summary: [RFE] There is no python3 version of websockify
Product: [Fedora] Fedora Reporter: Alberto Ruiz <aruizrui>
Component: python-websockifyAssignee: Miro Hrončok <mhroncok>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 23CC: apevec, dkrejci, eglynn, jberan, michal.skrivanek, nsantos, p, torsava
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-websockify-0.8.0-3.fc26 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-09-07 10:37:43 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1285816, 1333770    
Attachments:
Description Flags
Spec file patch to provide Python 3 subpackage
none
Updated spec file
none
Spec file patch to provide Python 3 subpackage none

Description Alberto Ruiz 2015-03-31 15:15:07 UTC
There is no python3 version of websockify, trying to use websockify as a library from a Python3 module is not possible due to this variant of the package missing.

Comment 1 Fedora End Of Life 2015-11-04 12:47:23 UTC
This message is a reminder that Fedora 21 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 21. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '21'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 21 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 2 Fedora End Of Life 2015-12-02 10:42:21 UTC
Fedora 21 changed to end-of-life (EOL) status on 2015-12-01. Fedora 21 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.

Comment 3 Alberto Ruiz 2015-12-02 13:30:19 UTC
This bug is still valid in Fedora 23

Comment 4 Tomas Orsava 2016-04-13 13:54:48 UTC
Upstream, this software supports Python 3. Please provide a Python 3
package for Fedora.


According to the Python packaging guidelines [0], software must be
packaged for Python 3 if upstream supports it.
The guidelines give detailed information on how to do this, and even
provide an example spec file [1].

The current best practice is to provide subpackages for the two Python
versions (called "Common SRPM" in the guidelines). Alternatively, if
nothing depends on your Python2 package, you can just switch to Python 3
entirely.

It's ok to do this in Rawhide only, however, it would be greatly
appreciated if you could push it to Fedora 24 as well.


If anything is unclear, or if you need any kind of assistance with the
porting, you can ask on IRC (#fedora-python on Freenode), or reply here.
We'll be happy to help!


[0] https://fedoraproject.org/wiki/Packaging:Python
[1] https://fedoraproject.org/wiki/Packaging:Python#Example_common_spec_file

Comment 5 Dominika Krejčí 2016-05-06 15:44:49 UTC
Hello Pádraig,

Do you need any help adding Python 3 support to the RPM?

If you need more instructions, a [guide] for porting Python-based RPMs is available.

[guide] http://python-rpm-porting.readthedocs.org/en/latest/index.html

Comment 6 Jan Beran 2016-08-25 19:38:45 UTC
Created attachment 1194115 [details]
Spec file patch to provide Python 3 subpackage

The attached spec file contains
- Python 3 subpackage,
- doc subpackage,
- correction in changelog because the original spec file contains this error:

$ rpmlint python-websockify.spec
python-websockify.spec: E: specfile-error warning: bogus date in %changelog: Thu Sep 10 2013 Nikola Đipanov <ndipanov> - 0.5.1-1
0 packages and 1 specfiles checked; 1 errors, 0 warnings.

Comment 7 Tomas Orsava 2016-08-26 14:54:10 UTC
Hi Jan!

I've noticed that you have placed the binary only in the Python 3 submodule. However, the Python guidelines specify that you should only package the Python 2 binary in the Python 2 submodule. (Unless the binaries differ in functionality, which I believe they don't in this case.)

To make sure that only the Python 2 binary is placed in /usr/bin, I refer you to the %install section of this type of package on Python RPM Porting Guide:

http://python-rpm-porting.readthedocs.io/en/latest/application-modules.html#install

In addition, the man page should always be in the package(s) that contain binaries. Unlike docs, man pages don't take much space at all. Therefore in this case the man page should be in the Python 2 subpackage as well.

Comment 8 Tomas Orsava 2016-08-26 15:18:02 UTC
Now I'll have to eat a big piece of humble pie, because I was completely wrong.

In cases where only one binary is being packaged, it should indeed be the one for Python 3! I apologise Jan!

Nevertheless, please take a look at the link to the Python RPM Porting Guide, as the %install section should still be amended.

Comment 9 Jan Beran 2016-08-26 20:39:47 UTC
Created attachment 1194460 [details]
Updated spec file

Hi Tomáš,

thanks for your review. I made the correction related to man pages in the attached file. May I ask you to review the new spec file?

Comment 10 Tomas Orsava 2016-08-29 09:52:55 UTC
Hi Jan!
The man pages are now correct!

However, the %install section still needs to be amended so that we can be sure that only the Python 3 binary remains and the Python 2 binary is deleted:

Here's the relevant section of the Python RPM Porting guide:

http://python-rpm-porting.readthedocs.io/en/latest/application-modules.html#install

Comment 11 Jan Beran 2016-08-29 10:52:33 UTC
Created attachment 1195327 [details]
Spec file patch to provide Python 3 subpackage

Hi Tomáš,

thanks for your review. I have made the adjustment that I forgot to include last time.

Comment 12 Tomas Orsava 2016-08-29 11:09:39 UTC
Looks good to me, Jan, thank you!

Comment 13 Tomas Orsava 2016-08-29 11:10:08 UTC
Hi Pádraig,
as this is a bit of a time sensitive issue, we would really appreciate if you could take a look at the patch as soon as possible.
If you are time constrained right now, I hope you won't mind if we do the review and push the changes ourselves in case you are unable.

Thank you!

Comment 14 Alan Pevec 2016-08-30 11:42:30 UTC
> If you are time constrained right now, I hope you won't mind if we do the
> review and push the changes ourselves in case you are unable.

Please go ahead.