Bug 1379651
Summary: | Review Request: python-feedgenerator - Standalone version of Django's feedgenerator module | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Ankur Sinha (FranciscoD) <sanjay.ankur> | ||||
Component: | Package Review | Assignee: | Germano Massullo <germano.massullo> | ||||
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
Severity: | medium | Docs Contact: | |||||
Priority: | urgent | ||||||
Version: | rawhide | CC: | bunnyapocalypse, fedora, germano.massullo, jean-baptiste, mrunge, package-review, quantum.analyst, sanjay.ankur | ||||
Target Milestone: | --- | Flags: | germano.massullo:
fedora-review+
|
||||
Target Release: | --- | ||||||
Hardware: | All | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | If docs needed, set a value | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2018-08-14 20:17:35 UTC | Type: | --- | ||||
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: | 1379149, 1480922 | ||||||
Attachments: |
|
Description
Ankur Sinha (FranciscoD)
2016-09-27 10:34:43 UTC
please use https://files.pythonhosted.org/packages/source/f/feedgenerator/feedgenerator-1.9.tar.gz instead of your source0 url. upstream provides tests, please provide a check section Ankur, could you please: 1) replace %global srcname feedgenerator with %global pypi_name feedgenerator and all srcname occurrencies in the spec file 2) replace URL: https://pypi.python.org/pypi/%{srcname} with URL: https://github.com/getpelican/feedgenerator 3) replace Source0: https://pypi.python.org/packages/eb/02/7069b3dbc6ea92f034e07f9f9adc2193cd02d1aedf2cf9ec71150102a964/%{srcname}-%{version}.tar.gz with Source0: https://files.pythonhosted.org/packages/source/%(n=%{pypi_name}; echo ${n:0:1})/%{pypi_name}/%{pypi_name}-%{version}.tar.gz Thank you Done. Updated spec/srpm: https://ankursinha.fedorapeople.org/feedgenerator/python-feedgenerator-1.9-2.fc24.src.rpm https://ankursinha.fedorapeople.org/feedgenerator/python-feedgenerator.spec The py2 test runs properly, but the py3 test fails. I'm investigating, but have disabled it for the time being. Would you folks have any hints? + /usr/bin/python3 setup.py test running test running egg_info writing top-level names to feedgenerator.egg-info/top_level.txt [10/6237] writing dependency_links to feedgenerator.egg-info/dependency_links.txt writing feedgenerator.egg-info/PKG-INFO writing requirements to feedgenerator.egg-info/requires.txt reading manifest file 'feedgenerator.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'feedgenerator.egg-info/SOURCES.txt' running build_ext Traceback (most recent call last): File "setup.py", line 58, in <module> zip_safe=False, File "/usr/lib64/python3.5/distutils/core.py", line 148, in setup dist.run_commands() File "/usr/lib64/python3.5/distutils/dist.py", line 955, in run_commands self.run_command(cmd) File "/usr/lib64/python3.5/distutils/dist.py", line 974, in run_command cmd_obj.run() File "/usr/lib/python3.5/site-packages/setuptools/command/test.py", line 159, in run self.with_project_on_sys_path(self.run_tests) File "/usr/lib/python3.5/site-packages/setuptools/command/test.py", line 140, in with_project_on_sys_path func() File "/usr/lib/python3.5/site-packages/setuptools/command/test.py", line 180, in run_tests testRunner=self._resolve_as_ep(self.test_runner), File "/usr/lib64/python3.5/unittest/main.py", line 93, in __init__ self.parseArgs(argv) File "/usr/lib64/python3.5/unittest/main.py", line 140, in parseArgs self.createTests() File "/usr/lib64/python3.5/unittest/main.py", line 147, in createTests self.module) File "/usr/lib64/python3.5/unittest/loader.py", line 219, in loadTestsFromNames suites = [self.loadTestsFromName(name, module) for name in names] File "/usr/lib64/python3.5/unittest/loader.py", line 219, in <listcomp> suites = [self.loadTestsFromName(name, module) for name in names] File "/usr/lib64/python3.5/unittest/loader.py", line 190, in loadTestsFromName return self.loadTestsFromModule(obj) File "/usr/lib/python3.5/site-packages/setuptools/command/test.py", line 38, in loadTestsFromModule tests.append(self.loadTestsFromName(submodule)) File "/usr/lib64/python3.5/unittest/loader.py", line 153, in loadTestsFromName module = __import__(module_name) File "/builddir/build/BUILD/feedgenerator-1.9/tests_feedgenerator/usage_example.py", line 36, in <module> feed.write(fh, 'utf-8') File "/builddir/build/BUILD/feedgenerator-1.9/feedgenerator/django/utils/feedgenerator.py", line 223, in write self.add_root_elements(handler) File "/builddir/build/BUILD/feedgenerator-1.9/feedgenerator/django/utils/feedgenerator.py", line 241, in add_root_elements handler.addQuickElement("description", self.feed['description']) File "/builddir/build/BUILD/feedgenerator-1.9/feedgenerator/django/utils/xmlutils.py", line 15, in addQuickElement self.characters(contents) File "/usr/lib64/python3.5/xml/sax/saxutils.py", line 214, in characters self._write(escape(content)) I tried it in a clean virtual env and it seemed to work properly, so I may have messed something up in the spec. Cheers, Ankur feedgenerator is a fork of django. You Django's unit tests are fine in koji: http://pkgs.fedoraproject.org/cgit/rpms/python-django.git/tree/python-django.spec#n229 Created attachment 1205204 [details] sample spec file License file is missing. 1) Go to upstream Github website, fill a bugreport ticket saying that in Pypi package the LICENSE file is missing. 2) Download https://raw.githubusercontent.com/getpelican/feedgenerator/master/LICENSE and include it into SOURCES folder when you make the src rpm file. 3) Add to the spec file Source1: https://raw.githubusercontent.com/getpelican/feedgenerator/master/LICENSE then fill the missing macros that allows you to correctly include the license file into. Take as example attached python-django-jsonfield.spec file line numbers 62, 87, 93 And sorry if I seemed to be rude but I was doing 3 different things at the same time :D (In reply to Germano Massullo from comment #5) > Created attachment 1205204 [details] > sample spec file > > License file is missing. > 1) Go to upstream Github website, fill a bugreport ticket saying that in > Pypi package the LICENSE file is missing. I did that before I submitted the package review request already ;) https://github.com/getpelican/feedgenerator/issues/10 > 2) Download > https://raw.githubusercontent.com/getpelican/feedgenerator/master/LICENSE > and include it into SOURCES folder when you make the src rpm file. Will do and update the spec. Any clues over the failed test? :/ (In reply to Matthias Runge from comment #4) > feedgenerator is a fork of django. You > > Django's unit tests are fine in koji: > http://pkgs.fedoraproject.org/cgit/rpms/python-django.git/tree/python-django. > spec#n229 I'll check this up, Matthias. Must be something tiny. (hopefully, rather) maybe we should backport the fix they did in django-1.10 to django-1.9 rather than creating a new package, that is basically a (half) duplicate of django? I still don't see much value in this package (compared to django itself) (In reply to Matthias Runge from comment #9) > maybe we should backport the fix they did in django-1.10 to django-1.9 > rather than creating a new package, that is basically a (half) duplicate of > django? I still don't see much value in this package (compared to django > itself) Sure, if you're willing to carry the patch? :D (In reply to Ankur Sinha (FranciscoD) from comment #10) > > Sure, if you're willing to carry the patch? :D Provide it ;-) The diff between django and feedparser is quite minimal. Ha! I'll provide it by the weekend hopefully. Should just be the one diff that carries the feedparser fix between the two django versions, or should I check the differences between feedparser and django too? Ankur, since the issue was only about feedparser, I would accept a backport of the fix in feedparser from a later django version. The pelican package explicitly requires a module called 'feedgenerator' now, so either that needs patching or this needs packaging. (In reply to Matthias Runge from comment #9) > maybe we should backport the fix they did in django-1.10 to django-1.9 > rather than creating a new package, that is basically a (half) duplicate of > django? I still don't see much value in this package (compared to django > itself) concrete value: if the pelican package would use the pelican-feedgenerator package as intended and tested by the pelican developers those 2 bugs would have been prevented from happening: - Random attribute order in generated feeds (Bug 421185) - python-pelican is shipped with an old version of feedgenerator.py which leads to unexpected behaviour (Bug 1480922) I did my best to review the spec in Comment #3, but bare with me because that's the first time I'm doing this. The package builds successfully, and if python-pelican is rebuilt with the django substitution removed, python-pelican works as expected. The only problem I caught is the lack of LICENSE file, which is something already reported. Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed ===== MUST items ===== Generic: [!]: License file installed when any subpackage combination is installed. [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [x]: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %license. [It doesn't contain LICENSE] [x]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "Unknown or generated". 23 files have unknown license. Detailed output of licensecheck in /home/blob/Desktop/pelican-feedparser /review-python-feedgenerator/licensecheck.txt [?]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [-]: Package contains desktop file if it is a GUI application. [-]: Development files must be in a -devel package [?]: Package uses nothing in %doc for runtime. [x]: Package consistently uses macros (instead of hard-coded directory names). [?]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. [?]: Package obeys FHS, except libexecdir and /usr/target. [-]: If the package is a rename of another package, proper Obsoletes and Provides are present. [?]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [-]: Package contains systemd file(s) if in need. [x]: Package is not known to require an ExcludeArch tag. [-]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 20480 bytes in 2 files. [?]: Package complies to the Packaging Guidelines [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: Package requires other packages for directories it uses. [x]: Package must own all directories that it creates. [x]: Package does not own files or directories owned by other packages. [x]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Dist tag is present. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Package use %makeinstall only when make install DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: Package does not use a name that already exists. [x]: Package is not relocatable. [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: File names are valid UTF-8. [x]: Packages must not store files under /srv, /opt or /usr/local Python: [x]: Python eggs must not download any dependencies during the build process. [x]: A package which is used by another package via an egg interface should provide egg info. [?]: Package meets the Packaging Guidelines::Python [x]: Package contains BR: python2-devel or python3-devel [x]: Binary eggs must be removed in %prep ===== SHOULD items ===== Generic: [x]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: Final provides and requires are sane (see attachments). [?]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in python2-feedgenerator , python3-feedgenerator [x]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [-]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [-]: Package should compile and build into binary rpms on all supported architectures. [Is noarch] [x]: %check is present and all tests pass. [python2 tests] [?]: Packages should try to preserve timestamps of original installed files. [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [x]: Rpmlint is run on all installed packages. Note: No rpmlint messages. [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: python2-feedgenerator-1.9-2.fc26.noarch.rpm python3-feedgenerator-1.9-2.fc26.noarch.rpm python-feedgenerator-1.9-2.fc26.src.rpm python-feedgenerator.src:57: W: macro-in-comment %{__python3} 3 packages and 0 specfiles checked; 0 errors, 1 warnings. Rpmlint (installed packages) ---------------------------- sh: /usr/bin/python: No such file or directory 2 packages and 0 specfiles checked; 0 errors, 0 warnings. Requires -------- python3-feedgenerator (rpmlib, GLIBC filtered): python(abi) python2-feedgenerator (rpmlib, GLIBC filtered): python(abi) Provides -------- python3-feedgenerator: python3-feedgenerator python3.6dist(feedgenerator) python3dist(feedgenerator) python2-feedgenerator: python-feedgenerator python2-feedgenerator python2.7dist(feedgenerator) python2dist(feedgenerator) Source checksums ---------------- https://files.pythonhosted.org/packages/source/f/feedgenerator/feedgenerator-1.9.tar.gz : CHECKSUM(SHA256) this package : 5ae05daa9cfa47fa406ee4744d0b7fa1c8a05a7a47ee0ad328ddf55327cfb106 CHECKSUM(SHA256) upstream package : 5ae05daa9cfa47fa406ee4744d0b7fa1c8a05a7a47ee0ad328ddf55327cfb106 Generated by fedora-review 0.6.1 (f03e4e7) last change: 2016-05-02 Command line :/usr/bin/fedora-review -n python-feedgenerator Buildroot used: fedora-26-x86_64 Active plugins: Python, Generic, Shell-api Disabled plugins: Java, C/C++, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6 Licence issue is fixed: https://github.com/getpelican/feedgenerator/issues/10 This thread explains the reason why the Pelican maintainer created a new project for a standalone feedgenerator: https://github.com/getpelican/pelican/issues/2202 Here is copy/paste for history: > Pelican already uses feedgenerator in a way that produces correct output. > Pelican needed, and still needs, a standalone Pip-installable package for feedgenerator. No such package existed, so we created one years ago. When doing so, we needed a source code repository from which to build said package — a repo that isn't burdened by all the rest of Django, none of which applies to Pelican. That's why feedgenerator exists. > When issues came up that needed fixing for Pelican's purposes, we fixed them in feedgenerator. As is the nature of open source, anyone is welcome to submit pull requests containing those fixes to Django's repository. > Hopefully that clears up some of the history. I'm open to suggestions and would like to help if I can, but so far I have not yet heard anything sensible/actionable from the perspective of Pelican's project management. Please help us to have blogs that includes the whole content, I really dislike forcing my readers to go on my website to access information. Have a nice day, and thanks for your actions! Upstream issues are resolved, including LICENSE, and the spec file works correctly. Is anything else stopping inclusion at the moment? Can you provide an update Ankur? Hiya! Sorry, missed this one. I'll have the updated spec/srpm up in a few! Cheers! Here are the updated spec/srpm: https://ankursinha.fedorapeople.org/feedgenerator/python-feedgenerator.spec https://ankursinha.fedorapeople.org/feedgenerator/python-feedgenerator-1.9-2.fc24.src.rpm I've fetched the license file from the repo and added it to the package manualy here. When a new release is made, this will no longer be required. I've also fixed the tests which now run successfully. Test scratch build here: https://koji.fedoraproject.org/koji/taskinfo?taskID=23970114 Germano, please do take a look when you have a few cycles to spare :) Cheers! Ankur (In reply to Ankur Sinha (FranciscoD) from comment #21) > Here are the updated spec/srpm: > > https://ankursinha.fedorapeople.org/feedgenerator/python-feedgenerator.spec > > https://ankursinha.fedorapeople.org/feedgenerator/python-feedgenerator-1.9-2. > fc24.src.rpm spec file in the SRPM is not the same of https://ankursinha.fedorapeople.org/feedgenerator/python-feedgenerator.spec Could you please regenerate the SRPM file? Updated spec/srpm: https://ankursinha.fedorapeople.org/python-feedgenerator/python-feedgenerator.spec https://ankursinha.fedorapeople.org/python-feedgenerator/python-feedgenerator-1.9-3.fc28.src.rpm Just FYI I am not able to actually review your package as I am not yet sponsored so this is an unofficial review. LGTM but I do not see the license files anywhere, despite you saying that was fixed and the change that seems to have happened upstream. The MANIFEST.in file does not reflect the changes here https://github.com/getpelican/feedgenerator/commit/6582cd4bb3949aad2d1aa7d96c2c90c1ba9cf954, maybe the source0 is outdated or I made a mistake? Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed ===== MUST items ===== Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [!]: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %license. [!]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "Unknown or generated". 23 files have unknown license. Detailed output of licensecheck in /home/christopher/1379651-python- feedgenerator/licensecheck.txt [!]: License file installed when any subpackage combination is installed. [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [-]: Package contains desktop file if it is a GUI application. [-]: Development files must be in a -devel package [-]: Package uses nothing in %doc for runtime. [x]: Package consistently uses macros (instead of hard-coded directory names). [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. [x]: Package obeys FHS, except libexecdir and /usr/target. [-]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [-]: Package contains systemd file(s) if in need. [x]: Package is not known to require an ExcludeArch tag. [x]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 20480 bytes in 2 files. [x]: Package complies to the Packaging Guidelines [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: No rpmlint messages. [x]: Package requires other packages for directories it uses. [x]: Package must own all directories that it creates. [x]: Package does not own files or directories owned by other packages. [x]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Dist tag is present. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Package use %makeinstall only when make install DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: Package does not use a name that already exists. [x]: Package is not relocatable. [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: File names are valid UTF-8. [x]: Packages must not store files under /srv, /opt or /usr/local Python: [x]: Python eggs must not download any dependencies during the build process. [x]: A package which is used by another package via an egg interface should provide egg info. [x]: Package meets the Packaging Guidelines::Python [x]: Package contains BR: python2-devel or python3-devel [x]: Binary eggs must be removed in %prep ===== SHOULD items ===== Generic: [x]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: Final provides and requires are sane (see attachments). [x]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in python2-feedgenerator , python3-feedgenerator [x]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [-]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [-]: Package should compile and build into binary rpms on all supported architectures. [-]: %check is present and all tests pass. [x]: Packages should try to preserve timestamps of original installed files. [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: python2-feedgenerator-1.9-3.fc29.noarch.rpm python3-feedgenerator-1.9-3.fc29.noarch.rpm python-feedgenerator-1.9-3.fc29.src.rpm 3 packages and 0 specfiles checked; 0 errors, 0 warnings. Rpmlint (installed packages) ---------------------------- sh: /usr/bin/python: No such file or directory python3-feedgenerator.noarch: W: invalid-url URL: https://github.com/getpelican/feedgenerator <urlopen error [Errno -2] Name or service not known> python2-feedgenerator.noarch: W: invalid-url URL: https://github.com/getpelican/feedgenerator <urlopen error [Errno -2] Name or service not known> 2 packages and 0 specfiles checked; 0 errors, 2 warnings. Requires -------- python3-feedgenerator (rpmlib, GLIBC filtered): python(abi) python2-feedgenerator (rpmlib, GLIBC filtered): python(abi) Provides -------- python3-feedgenerator: python3-feedgenerator python3.7dist(feedgenerator) python3dist(feedgenerator) python2-feedgenerator: python-feedgenerator python2-feedgenerator python2.7dist(feedgenerator) python2dist(feedgenerator) Source checksums ---------------- https://files.pythonhosted.org/packages/source/f/feedgenerator/feedgenerator-1.9.tar.gz : CHECKSUM(SHA256) this package : 5ae05daa9cfa47fa406ee4744d0b7fa1c8a05a7a47ee0ad328ddf55327cfb106 CHECKSUM(SHA256) upstream package : 5ae05daa9cfa47fa406ee4744d0b7fa1c8a05a7a47ee0ad328ddf55327cfb106 Generated by fedora-review 0.6.1 (f03e4e7) last change: 2016-05-02 Command line :/usr/bin/fedora-review -b 1379651 Buildroot used: fedora-rawhide-x86_64 Active plugins: Python, Generic, Shell-api Disabled plugins: Java, C/C++, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6 > python3-feedgenerator.noarch: W: invalid-url URL:
> https://github.com/getpelican/feedgenerator <urlopen error [Errno -2] Name
> or service not known>
> python2-feedgenerator.noarch: W: invalid-url URL:
> https://github.com/getpelican/feedgenerator <urlopen error [Errno -2] Name
> or service not known>
I don't know why my rpmlint is complaining about this link, it is a perfectly valid URL.
Hi Chris! Thank you for the review! Unfortunately upstream have not made a new release since updating the Manifest, so the pypi tar does not include the License file yet. I've used the tarball from github now, and that includes all the required files. Update spec/srpm: https://ankursinha.fedorapeople.org/python-feedgenerator/python-feedgenerator.spec https://ankursinha.fedorapeople.org/python-feedgenerator/python-feedgenerator-1.9-4.fc28.src.rpm Cheers! Ankur With the added license it LGTM. If I were able to, I'd approve this package. Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed ===== MUST items ===== Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [x]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "BSD 3-clause "New" or "Revised" License", "Unknown or generated". 16 files have unknown license. Detailed output of licensecheck in /home/christopher/1379651-python- feedgenerator/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [-]: Package contains desktop file if it is a GUI application. [x]: Development files must be in a -devel package [x]: Package uses nothing in %doc for runtime. [x]: Package consistently uses macros (instead of hard-coded directory names). [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. [x]: Package obeys FHS, except libexecdir and /usr/target. [x]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [-]: Package contains systemd file(s) if in need. [x]: Package is not known to require an ExcludeArch tag. [x]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 20480 bytes in 2 files. [x]: Package complies to the Packaging Guidelines [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: No rpmlint messages. [x]: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %license. [x]: Package requires other packages for directories it uses. [x]: Package must own all directories that it creates. [x]: Package does not own files or directories owned by other packages. [x]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Dist tag is present. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Package use %makeinstall only when make install DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: Package does not use a name that already exists. [x]: Package is not relocatable. [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: File names are valid UTF-8. [x]: Packages must not store files under /srv, /opt or /usr/local Python: [x]: Python eggs must not download any dependencies during the build process. [x]: A package which is used by another package via an egg interface should provide egg info. [x]: Package meets the Packaging Guidelines::Python [x]: Package contains BR: python2-devel or python3-devel [x]: Binary eggs must be removed in %prep ===== SHOULD items ===== Generic: [x]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: Final provides and requires are sane (see attachments). [x]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in python2-feedgenerator , python3-feedgenerator [?]: Package functions as described. [x]: Latest version is packaged. [!]: Package does not include license text files separate from upstream. [x]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [x]: Package should compile and build into binary rpms on all supported architectures. [-]: %check is present and all tests pass. [x]: Packages should try to preserve timestamps of original installed files. [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: python2-feedgenerator-1.9-4.fc29.noarch.rpm python3-feedgenerator-1.9-4.fc29.noarch.rpm python-feedgenerator-1.9-4.fc29.src.rpm 3 packages and 0 specfiles checked; 0 errors, 0 warnings. Rpmlint (installed packages) ---------------------------- sh: /usr/bin/python: No such file or directory python3-feedgenerator.noarch: W: invalid-url URL: https://github.com/getpelican/feedgenerator <urlopen error [Errno -2] Name or service not known> python2-feedgenerator.noarch: W: invalid-url URL: https://github.com/getpelican/feedgenerator <urlopen error [Errno -2] Name or service not known> 2 packages and 0 specfiles checked; 0 errors, 2 warnings. Requires -------- python3-feedgenerator (rpmlib, GLIBC filtered): python(abi) python2-feedgenerator (rpmlib, GLIBC filtered): python(abi) Provides -------- python3-feedgenerator: python3-feedgenerator python3.7dist(feedgenerator) python3dist(feedgenerator) python2-feedgenerator: python-feedgenerator python2-feedgenerator python2.7dist(feedgenerator) python2dist(feedgenerator) Source checksums ---------------- https://github.com/getpelican/feedgenerator/archive/6b6572cfd3e7f40993204af5aa70aab443a5b63c/feedgenerator-6b6572c.tar.gz : CHECKSUM(SHA256) this package : 8381f02c05b0bad4bb2d26188f4dc6e4082874c69e2b2237d4e19e34675e9ec8 CHECKSUM(SHA256) upstream package : 8381f02c05b0bad4bb2d26188f4dc6e4082874c69e2b2237d4e19e34675e9ec8 Generated by fedora-review 0.6.1 (f03e4e7) last change: 2016-05-02 Command line :/usr/bin/fedora-review -b 1379651 Buildroot used: fedora-rawhide-x86_64 Active plugins: Python, Generic, Shell-api Disabled plugins: Java, C/C++, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6 I'm not sure if assigning this to me is a sign that I've been sponsored or simply an accident... Just to clarify again, I am not yet (to my knowledge) sponsored, so I don't believe that I should have been assigned here. Hi Chris, That's OK. Just an oversight. You can look at your FAS account to see the status of your sponsorship. You can also use zodbot in #fedora-devel to get information on your account: https://fedoraproject.org/wiki/Zodbot Germano: I've reset the assignee field (since it cannot be assigned to Chris) and cleared the review flag too. If you have the time to continue the review, please re-assign them, otherwise someone else can take it up. I expect it should be a rather short review now that Chris has checked the package up already. Thanks, everyone! Ankur The package ships a bundled python-six library, version 1.1.0 (from year 2011!) Could you please try unbundling it and check if feedgenerator works using the Fedora python-six package? Hi Germano, I missed that! I've unbundled it and it builds just fine: https://ankursinha.fedorapeople.org/python-feedgenerator/python-feedgenerator.spec https://ankursinha.fedorapeople.org/python-feedgenerator/python-feedgenerator-1.9-5.fc28.src.rpm Thanks! Ankur (In reply to Ankur Sinha (FranciscoD) from comment #31) > I missed that! I've unbundled it and it builds just fine: Ok, now you must add python-six (use the proper Python 2 and 3 macros) as runtime requirement with tag Requires: (In reply to Germano Massullo from comment #32) > (In reply to Ankur Sinha (FranciscoD) from comment #31) > > I missed that! I've unbundled it and it builds just fine: > > Ok, now you must add python-six (use the proper Python 2 and 3 macros) as > runtime requirement with tag Requires: This is a bit obsolete example, but it's just to let you know where "Requires:" should go https://src.fedoraproject.org/rpms/python-netdiff/blob/master/f/python-netdiff.spec Added: https://ankursinha.fedorapeople.org/python-feedgenerator/python-feedgenerator.spec https://ankursinha.fedorapeople.org/python-feedgenerator/python-feedgenerator-1.9-6.fc28.src.rpm Package approved Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed ===== MUST items ===== Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [x]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "BSD (3 clause)", "Unknown or generated". 15 files have unknown license. [x]: License file installed when any subpackage combination is installed. [x]: Package must own all directories that it creates. Note: Directories without known owners: /usr/lib/python3.7/site- packages, /usr/lib/python3.7 [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [-]: Package contains desktop file if it is a GUI application. [-]: Development files must be in a -devel package [x]: Package uses nothing in %doc for runtime. [x]: Package consistently uses macros (instead of hard-coded directory names). [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. [x]: Package obeys FHS, except libexecdir and /usr/target. [-]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [-]: Package contains systemd file(s) if in need. [x]: Package is not known to require an ExcludeArch tag. [-]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 20480 bytes in 2 files. [x]: Package complies to the Packaging Guidelines [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: No rpmlint messages. [x]: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %license. [x]: Package requires other packages for directories it uses. [x]: Package does not own files or directories owned by other packages. [x]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Dist tag is present. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Package use %makeinstall only when make install DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: Package does not use a name that already exists. [x]: Package is not relocatable. [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: File names are valid UTF-8. [x]: Packages must not store files under /srv, /opt or /usr/local Python: [x]: Python eggs must not download any dependencies during the build process. [-]: A package which is used by another package via an egg interface should provide egg info. [x]: Package meets the Packaging Guidelines::Python [x]: Package contains BR: python2-devel or python3-devel [x]: Binary eggs must be removed in %prep ===== SHOULD items ===== Generic: [-]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: Final provides and requires are sane (see attachments). [x]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in python2-feedgenerator , python3-feedgenerator [x]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [x]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [x]: Package should compile and build into binary rpms on all supported architectures. [x]: %check is present and all tests pass. [x]: Packages should try to preserve timestamps of original installed files. [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). Rpmlint ------- Checking: python2-feedgenerator-1.9-6.fc29.noarch.rpm python3-feedgenerator-1.9-6.fc29.noarch.rpm python-feedgenerator-1.9-6.fc29.src.rpm 3 packages and 0 specfiles checked; 0 errors, 0 warnings. Rpmlint (installed packages) ---------------------------- sh: /usr/bin/python: No such file or directory python3-feedgenerator.noarch: W: invalid-url URL: https://github.com/getpelican/feedgenerator <urlopen error [Errno -2] Name or service not known> python2-feedgenerator.noarch: W: invalid-url URL: https://github.com/getpelican/feedgenerator <urlopen error [Errno -2] Name or service not known> 2 packages and 0 specfiles checked; 0 errors, 2 warnings. Requires -------- python3-feedgenerator (rpmlib, GLIBC filtered): python(abi) python3dist(pytz) python3dist(six) python2-feedgenerator (rpmlib, GLIBC filtered): python(abi) python2dist(pytz) python2dist(six) Provides -------- python3-feedgenerator: python3-feedgenerator python3.7dist(feedgenerator) python3dist(feedgenerator) python2-feedgenerator: python-feedgenerator python2-feedgenerator python2.7dist(feedgenerator) python2dist(feedgenerator) Source checksums ---------------- https://github.com/getpelican/feedgenerator/archive/6b6572cfd3e7f40993204af5aa70aab443a5b63c/feedgenerator-6b6572c.tar.gz : CHECKSUM(SHA256) this package : 8381f02c05b0bad4bb2d26188f4dc6e4082874c69e2b2237d4e19e34675e9ec8 CHECKSUM(SHA256) upstream package : 8381f02c05b0bad4bb2d26188f4dc6e4082874c69e2b2237d4e19e34675e9ec8 Generated by fedora-review 0.6.1 (f03e4e7) last change: 2016-05-02 Command line :/usr/bin/fedora-review -rn /home/user/rpmbuild/SRPMS/python-feedgenerator-1.9-6.fc28.src.rpm -m fedora-rawhide-x86_64 Buildroot used: fedora-rawhide-x86_64 Active plugins: Python, Generic, Shell-api Disabled plugins: Java, C/C++, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6 (fedscm-admin): The Pagure repository was created at https://src.fedoraproject.org/rpms/python-feedgenerator python-feedgenerator-1.9-6.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2018-99c6bab44c python-feedgenerator-1.9-6.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-0d2c427d03 python-feedgenerator-1.9-6.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-99c6bab44c python-feedgenerator-1.9-6.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-0d2c427d03 python-feedgenerator-1.9-6.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report. python-feedgenerator-1.9-6.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report. |