https://bugzilla.redhat.com/show_bug.cgi?id=1353169
Bug ID: 1353169 Summary: Review Request: python-nikola - A static website and blog generator Product: Fedora Version: rawhide Component: Package Review Severity: medium Priority: medium Assignee: nobody@fedoraproject.org Reporter: jamatos@fc.up.pt QA Contact: extras-qa@fedoraproject.org CC: package-review@lists.fedoraproject.org
Spec URL: http://pkgs.fedoraproject.org/cgit/rpms/python-nikola.git/plain/python-nikol... SRPM URL: https://kojipkgs.fedoraproject.org//packages/python-nikola/7.7.9/2.fc24/src/... Description: Nikola is a static site and blog generator using Python. It generates sites with tags, feeds, archives, comments, and more from plain text files. Source can be unformatted, or formatted with reStructuredText or Markdown. It also automatically builds image galleries. Fedora Account System Username: jamatos
Note that this review is to unretire the package for rawhide, where it is orphaned.
The reason why it was retired was: This package has very dynamic dependencies on specific versions of libraries that it uses. These dependencies are prohibitively difficult to meet in Fedora, because the dependencies have their own life cycle and other packages depend on those libraries but may not work with the specific versions that Nikola needs.
Since it was retired things have improved a lot, now packages for Fedora 24 builds meeting every dependencies, while missing just one for testing (importing a wordpress site into nikola) and some extra functionality dependencies.
Note that this is an application that uses python and not a python library.
https://bugzilla.redhat.com/show_bug.cgi?id=1353169
Neal Gompa ngompa13@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |ngompa13@gmail.com
--- Comment #1 from Neal Gompa ngompa13@gmail.com --- Please update the spec to follow the current guidelines (python2 stuff in a python2 subpackage, unversioned binaries to use the python 3 version, etc.).
See https://fedoraproject.org/wiki/Packaging:Python
https://bugzilla.redhat.com/show_bug.cgi?id=1353169
Neal Gompa ngompa13@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Assignee|nobody@fedoraproject.org |ngompa13@gmail.com
https://bugzilla.redhat.com/show_bug.cgi?id=1353169
--- Comment #3 from José Matos jamatos@fc.up.pt --- (In reply to Neal Gompa from comment #1)
Please update the spec to follow the current guidelines (python2 stuff in a python2 subpackage, unversioned binaries to use the python 3 version, etc.).
Spec URL: https://jamatos.fedorapeople.org/python-nikola.spec SRPM URL: https://jamatos.fedorapeople.org/python-nikola-7.7.9-3.fc25.src.rpm
https://bugzilla.redhat.com/show_bug.cgi?id=1353169
--- Comment #4 from José Matos jamatos@fc.up.pt --- Ping...
I am updating the package to the latest version that is available at updates-testing for F24:
Spec URL: https://jamatos.fedorapeople.org/python-nikola.spec SRPM URL: https://jamatos.fedorapeople.org/python-nikola-7.7.11-3.fc24.src.rpm
https://bugzilla.redhat.com/show_bug.cgi?id=1353169
--- Comment #5 from José Matos jamatos@fc.up.pt --- Ping again. :-)
I have updated the package to 7.7.12:
http://koji.fedoraproject.org/koji/buildinfo?buildID=788779
and I have updated correspondingly:
Spec URL: https://jamatos.fedorapeople.org/python-nikola.spec SRPM URL: https://jamatos.fedorapeople.org/python-nikola-7.7.12-1.fc24.src.rpm
https://bugzilla.redhat.com/show_bug.cgi?id=1353169
--- Comment #6 from Neal Gompa ngompa13@gmail.com --- You've still not changed the /usr/bin/nikola link to point to /usr/bin/nikola3.
Please do so.
https://bugzilla.redhat.com/show_bug.cgi?id=1353169
--- Comment #7 from José Matos jamatos@fc.up.pt --- (In reply to Neal Gompa from comment #6)
You've still not changed the /usr/bin/nikola link to point to /usr/bin/nikola3.
Please do so.
Actually that was the first thing I did, in comment 3. :-)
Since I had no feedback I decided to continue with current F24 branch, since to make nikola default to nikola3 is a small change.
In any case it follows with the corresponding changes:
Spec URL: https://jamatos.fedorapeople.org/python-nikola.spec SRPM URL: https://jamatos.fedorapeople.org/python-nikola-7.7.12-2.fc24.src.rpm
python-nikola becomes python3-nikola for Fedora > 24 and it continues to be python2-nikola for previous versions.
https://bugzilla.redhat.com/show_bug.cgi?id=1353169
--- Comment #8 from Neal Gompa ngompa13@gmail.com --- If /usr/bin/nikola is functionally equivalent between py2 and py3, why not just switch it all to py3? Especially since upstream prefers py3 anyway?
https://bugzilla.redhat.com/show_bug.cgi?id=1353169
--- Comment #9 from José Matos jamatos@fc.up.pt --- (In reply to Neal Gompa from comment #8)
If /usr/bin/nikola is functionally equivalent between py2 and py3, why not just switch it all to py3? Especially since upstream prefers py3 anyway?
For historical reasons. :-)
Initially nikola was only available on python 2.
The python-2 packages allowed to use a set of tools that used the python-2 packages.
I did not want to change the main version during F24. But as soon as upstream drops support for python-2 the python2-nikola packages will be obsoleted by the corresponding python3.
https://bugzilla.redhat.com/show_bug.cgi?id=1353169
--- Comment #10 from Igor Gnatenko ignatenko@redhat.com ---
%if 0%{?fedora} <= 24 Provides: python-%{srcname} = %{version}-%{release} Obsoletes: python-%{srcname} < 7.7.11-1 %endif
no way, you should use %python_provide
https://bugzilla.redhat.com/show_bug.cgi?id=1353169
--- Comment #11 from José Matos jamatos@fc.up.pt ---
%if 0%{?fedora} <= 24 Provides: python-%{srcname} = %{version}-%{release} Obsoletes: python-%{srcname} < 7.7.11-1 %endif
no way, you should use %python_provide
This is an application that uses python and not a python library.
If, as been suggested in the mailing list, upstream drops support for python 2 do you suggest that python-nikola should provide python2-nikola even if it is using python3?
If this were a python library that I could use like "import nikola" I would wholeheartedly agree with you.(In reply to Igor Gnatenko from comment #10)
https://bugzilla.redhat.com/show_bug.cgi?id=1353169
--- Comment #12 from Igor Gnatenko ignatenko@redhat.com --- (In reply to José Matos from comment #11)
%if 0%{?fedora} <= 24 Provides: python-%{srcname} = %{version}-%{release} Obsoletes: python-%{srcname} < 7.7.11-1 %endif
no way, you should use %python_provide
This is an application that uses python and not a python library.
Then rename package to "nikola" and build only py3 version.
https://bugzilla.redhat.com/show_bug.cgi?id=1353169
--- Comment #13 from Neal Gompa ngompa13@gmail.com --- I agree with Igor here. If this can't be used as a Python module, then it shouldn't be packaged in such a manner.
https://bugzilla.redhat.com/show_bug.cgi?id=1353169
José Matos jamatos@fc.up.pt changed:
What |Removed |Added ---------------------------------------------------------------------------- Depends On| |1372345
Referenced Bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=1372345 [Bug 1372345] Review Request: python-piexif - Pure Python library to simplify exif manipulations with python
https://bugzilla.redhat.com/show_bug.cgi?id=1353169
--- Comment #14 from José Matos jamatos@fc.up.pt --- (In reply to Neal Gompa from comment #13)
I agree with Igor here. If this can't be used as a Python module, then it shouldn't be packaged in such a manner.
My first reaction was, oh no we are not getting one more time in the argument of python modules versus python applications... :-)
In the defense of the python- prefix in the name we can consider that:
* nikola is available through pypi.python.org https://pypi.python.org/pypi/Nikola
* the package consist mostly of a python module with a script on /usr/bin that is a wrapper that calls the nikola module: if __name__ == '__main__': sys.exit( load_entry_point('Nikola==7.7.12', 'console_scripts', 'nikola')() )
https://bugzilla.redhat.com/show_bug.cgi?id=1353169
--- Comment #15 from Igor Gnatenko ignatenko@redhat.com --- (In reply to José Matos from comment #14)
(In reply to Neal Gompa from comment #13)
I agree with Igor here. If this can't be used as a Python module, then it shouldn't be packaged in such a manner.
My first reaction was, oh no we are not getting one more time in the argument of python modules versus python applications... :-)
In the defense of the python- prefix in the name we can consider that:
- nikola is available through pypi.python.org
All python crap is distributed there ;)
- the package consist mostly of a python module with a script on /usr/bin
that is a wrapper that calls the nikola module: if __name__ == '__main__': sys.exit( load_entry_point('Nikola==7.7.12', 'console_scripts', 'nikola')() )
Actually question if there is documentation which says import nikola. If it doesn't it's better to name it nikola and ship only py3 version.
https://bugzilla.redhat.com/show_bug.cgi?id=1353169
Dominik 'Rathann' Mierzejewski dominik@greysector.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dominik@greysector.net
--- Comment #16 from Dominik 'Rathann' Mierzejewski dominik@greysector.net --- FYI, nikola-7.8.1 was released recently.
https://bugzilla.redhat.com/show_bug.cgi?id=1353169
Neal Gompa ngompa13@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jamatos@fc.up.pt Flags| |needinfo?(jamatos@fc.up.pt)
--- Comment #17 from Neal Gompa ngompa13@gmail.com --- @Jose:
Are you still interested in reviving nikola?
https://bugzilla.redhat.com/show_bug.cgi?id=1353169
Neal Gompa ngompa13@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags| |fedora-review?
https://bugzilla.redhat.com/show_bug.cgi?id=1353169
José Matos jamatos@fc.up.pt changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags|needinfo?(jamatos@fc.up.pt) |
--- Comment #18 from José Matos jamatos@fc.up.pt --- I am, but right now I am at a time where real live is getting in the way. Lots of exams and tests to assess. :-)
https://bugzilla.redhat.com/show_bug.cgi?id=1353169 Bug 1353169 depends on bug 1372345, which changed state.
Bug 1372345 Summary: Review Request: python-piexif - Pure Python library to simplify exif manipulations with python https://bugzilla.redhat.com/show_bug.cgi?id=1372345
What |Removed |Added ---------------------------------------------------------------------------- Status|ON_QA |CLOSED Resolution|--- |ERRATA
https://bugzilla.redhat.com/show_bug.cgi?id=1353169
Elliott Sales de Andrade quantum.analyst@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |quantum.analyst@gmail.com Flags| |needinfo?(jamatos@fc.up.pt)
--- Comment #19 from Elliott Sales de Andrade quantum.analyst@gmail.com --- Any more updates?
https://bugzilla.redhat.com/show_bug.cgi?id=1353169
José Matos jamatos@fc.up.pt changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags|needinfo?(jamatos@fc.up.pt) |
--- Comment #20 from José Matos jamatos@fc.up.pt --- (In reply to Elliott Sales de Andrade from comment #19)
Any more updates?
Hi Elliot, I was expecting for nikola 8.0.0 release to rebase the spec file.
Since it is taking longer than I was expecting, I decided to proceed with the latest stable release 7.8.15.
I have a working spec file and I have created rpms for all the remaining python packages that were not yet packaged in fedora. In one case I had to create another package because it was a dependency for one of the packages that nikola requires.
The final result is in copr: https://copr.fedorainfracloud.org/coprs/jamatos/nikola-playground/
The srpms are at https://jamatos.fedorapeople.org/python-nikola/
From the dependencies of nikola there is one that has problems building in Fedora 29/rawhide: python-ws4py because of async being a keyword in python 3.7. That is the only one that is commented in the Requires/BuildRequires.
Some others have issues with %check for several issues. I have disabled temporarily those tests to have a working prototype.
My only issue with python-nikola as it is is the bundling of several components, including themes and java script. For some of the fonts it is possible like it was done before to replace the contents with symbolic links (that is the purpose of the Requires glyphicons-halflings-fonts that is not yet used but that has at least 4 copies).
I will be busy in the next couple of weeks and I intend to proceed with the process, cleaning and submitting the other python packages until that finally python-nikola is ready for consideration.
https://bugzilla.redhat.com/show_bug.cgi?id=1353169
Neal Gompa ngompa13@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags| |needinfo?(jamatos@fc.up.pt)
--- Comment #21 from Neal Gompa ngompa13@gmail.com --- nikola 8.0rc1 is out: https://getnikola.com/blog/nikola-v800rc1-is-out.html
You might want to target this, as barring any grave issues, it'll become 8.0.
https://bugzilla.redhat.com/show_bug.cgi?id=1353169
José Matos jamatos@fc.up.pt changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags|needinfo?(jamatos@fc.up.pt) |
--- Comment #22 from José Matos jamatos@fc.up.pt --- (In reply to Neal Gompa from comment #21)
nikola 8.0rc1 is out: https://getnikola.com/blog/nikola-v800rc1-is-out.html
You might want to target this, as barring any grave issues, it'll become 8.0.
I saw that, but for the moment I am busy with other issues (traveling/conference).
In a cursory look it seems as if the requirements for ws4py was dropped replaced by python3-aiohttp that is already in python.
There is a new dependency for python-babel that is already in fedora.
So in terms of new dependencies this is good news. :-)
So it should be easy after the submission of some of the packages that are on copr to get nikola 8 ready for review.
Two points that may show later: 1) regarding the previous packaged version I removed the python?-nikola-extras because the dependencies size is very small when compared with the main package;
2) it would be nice to use the automatic python requirement generator:
%{?python_enable_dependency_generator}
as compared with the large list of Requires: but I am not sure how the package pinning that upstream uses will play with this. For some packages, sometimes the requirement specifies a particular version.
https://bugzilla.redhat.com/show_bug.cgi?id=1353169
--- Comment #23 from Neal Gompa ngompa13@gmail.com ---
as compared with the large list of Requires: but I am not sure how the package pinning that upstream uses will play with this. For some packages, sometimes the requirement specifies a particular version.
You'll have to edit that anyway, since the nikola executable is a setuptools wrapper that would validate dependencies anyway.
https://bugzilla.redhat.com/show_bug.cgi?id=1353169
--- Comment #24 from José Matos jamatos@fc.up.pt --- (In reply to Neal Gompa from comment #23)
as compared with the large list of Requires: but I am not sure how the package pinning that upstream uses will play with this. For some packages, sometimes the requirement specifies a particular version.
You'll have to edit that anyway, since the nikola executable is a setuptools wrapper that would validate dependencies anyway.
I does not that, at least for the version available in copr: python-nikola-7.8.15-2. It has been working without any complaints even although I changed the Requires field in spec but not the requirements.txt.
I have used the basic stuff:
nikola build nikola clean nikola new_page ...
FWIW what you say makes sense :-) but I do not see it.
package-review@lists.fedoraproject.org