Spec URL: https://fedorapeople.org/~totol/prewikka-updatedb.spec SRPM URL: https://kojipkgs.fedoraproject.org//work/tasks/3346/52553346/prewikka-updatedb-5.2.0-1.fc34.src.rpm Description: Database update scripts for prewikka. Needed to update from a previous version of prewikka to an upstream version of prewikka Fedora Account System Username: totol
Here are some preliminary questions and observations. - The name of the package/spec file should be python-prewikka-updatedb; see https://docs.fedoraproject.org/en-US/packaging-guidelines/Naming/#_python_source_package_naming - Why does the spec file contain this: # Since mass rebuild, debugpackage wont works for prelude-correlator %define debug_package %{nil} instead of this? BuildArch: noarch - Where did you get the license tag? The only mention of a license that I see is in prewikkaupdatedb/filter/update310.py, where the Converter class is declared to be in the public domain. PKG-INFO says that the license is UNKNOWN. - The text at the top of /usr/lib/rpm/macros.d/macros.python-srpm indicates that %{python3} should be used instead of %{__python3} when invoking the interpreter in a spec file. On the other hand, is there a reason why %install doesn't just invoke %py3_install? - Isn't line 22 of the spec file: Requires: python3-prewikka >= %{version} backwards? That is, doesn't prewikka require prewikka-updatedb, not the other way around? - Line 23 of the spec file: %{?python_provide:%python_provide python3-%{name}} is no longer needed in Fedora 33 and later. If you do not plan to build for EPEL or Fedora <= 32, then you can omit this line. - The empty %files on line 37 of the spec file is wrong. It leads to the creation of an empty and unnecessary prewikka-updatedb binary package. Once that is removed, the Requires on lines 11 and 21 are also not needed. If you want the python3 package to be installable via the name prewikka-updatedb, then add "Provides: prewikka-updatedb = %{version}-%{release}" to the python3 subpackage. - Line 40 of the spec file has an extraneous /: %{python3_sitelib}//prewikkaupdatedb/ ^^
Hello Thanks for your review New Spec URL: https://fedorapeople.org/~totol/prewikka-updatedb.spec New SRPM URL: https://kojipkgs.fedoraproject.org//work/tasks/1810/53611810/prewikka-updatedb-5.2.0-1.fc34.src.rpm Please make a new review. Thanks ! > >Here are some preliminary questions and observations. > >- The name of the package/spec file should be python-prewikka-updatedb; see > https://docs.fedoraproject.org/en-US/packaging-guidelines/Naming/#_python_source_package_naming The prewikka package is like this. I prefer to keep prewikka-updatedb. See https://src.fedoraproject.org/rpms/prewikka > >- Why does the spec file contain this: > > # Since mass rebuild, debugpackage wont works for prelude-correlator > %define debug_package %{nil} > > instead of this? > > BuildArch: noarch Done > >- Where did you get the license tag? The only mention of a license that I see > is in prewikkaupdatedb/filter/update310.py, where the Converter class is > declared to be in the public domain. PKG-INFO says that the license is > UNKNOWN. I know the developers and they told me it is like Prewikka. > >- The text at the top of /usr/lib/rpm/macros.d/macros.python-srpm indicates > that %{python3} should be used instead of %{__python3} when invoking the > interpreter in a spec file. On the other hand, is there a reason why > %install doesn't just invoke %py3_install? Done > >- Isn't line 22 of the spec file: > > Requires: python3-prewikka >= %{version} > > backwards? That is, doesn't prewikka require prewikka-updatedb, not the > other way around? Prewikka can works without prewikka-updatedb but installing prewikka-updatedb without prewikka is a nonsense. So it is OK I think > >- Line 23 of the spec file: > > %{?python_provide:%python_provide python3-%{name}} > > is no longer needed in Fedora 33 and later. If you do not plan to build for > EPEL or Fedora <= 32, then you can omit this line. Done > >- The empty %files on line 37 of the spec file is wrong. It leads to the > creation of an empty and unnecessary prewikka-updatedb binary package. Once > that is removed, the Requires on lines 11 and 21 are also not needed. If you > want the python3 package to be installable via the name prewikka-updatedb, > then add "Provides: prewikka-updatedb = %{version}-%{release}" to the python3 > subpackage. Done > >- Line 40 of the spec file has an extraneous /: > > %{python3_sitelib}//prewikkaupdatedb/ Done
Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated Issues ====== - The source RPM name should have "python-" prefixed to it, regardless of how the prewikka package is named. See the Naming Guidelines: https://docs.fedoraproject.org/en-US/packaging-guidelines/Naming/#_python_source_package_naming However, since this is a SHOULD rather than a MUST, I will not block the review on this point. - I cannot verify that the license tag is correct. Unlike you, I don't know the developers. Please ask them to put the license in writing somewhere, even if it is in an email to you (which you would then includes as a source file). Please also point out to them that term 1 of the GPL version 2 requires us to pass on the copy of the GPL we received from them ... only they didn't give us one: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html At the very least, they should set the License field in PKG-INFO. Note that it is not enough for them to simply add a file containing the license text to the package. See the comment in the "GPL+" entry in this table: https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#Good_Licenses - Remove line 11 of the spec file: Requires: python3-%{name} >= %{version} That accomplishes nothing, since there is no binary RPM for the main package, so the dependency doesn't appear anywhere. - Remove line 18 of the spec file: Requires: %{name} = %{version}-%{release} Since the package also Provides that name, this is a self-dependency, which accomplishes nothing useful. ===== MUST items ===== Generic: [!]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. I am unable to verify this. See above. [-]: 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. I am unable to verify this. See above. [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). [!]: Package is named according to the Package Naming Guidelines. The source package name should have a "python-" prefix. See above. [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. [!]: Requires correct, justified where necessary. There are two unnecessary Requires. See above. [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]: 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]: 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 must not depend on deprecated() packages. [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]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 0 bytes in 0 files. [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]: Packages MUST NOT have dependencies (either build-time or runtime) on packages named with the unversioned python- prefix unless no properly versioned package exists. Dependencies on Python packages instead MUST use names beginning with python2- or python3- as appropriate. [x]: Python packages must not contain %{pythonX_site(lib|arch)}/* in %files [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. Upstream should be asked to provide license text and information. See above. [!]: Final provides and requires are sane (see Two Requires are unnecessary. See above. [?]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [-]: Sources are verified with gpgverify first in %prep if upstream publishes signatures. Note: gpgverify is not used. [-]: 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. Upstream did not provide any tests, so this is okay. [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: python3-prewikka-updatedb-5.2.0-1.fc34.noarch.rpm prewikka-updatedb-5.2.0-1.fc34.src.rpm python3-prewikka-updatedb.noarch: W: no-documentation 2 packages and 0 specfiles checked; 0 errors, 1 warnings. Rpmlint (installed packages) ---------------------------- python3-prewikka-updatedb.noarch: W: no-documentation 1 packages and 0 specfiles checked; 0 errors, 1 warnings. Source checksums ---------------- https://www.prelude-siem.org/pkg/src/5.2.0/prewikka-updatedb-5.2.0.tar.gz : CHECKSUM(SHA256) this package : bc409278d3404117a840193df3dbfd63ecc59b1fcdeb9bc974833ca45e94e8db CHECKSUM(SHA256) upstream package : bc409278d3404117a840193df3dbfd63ecc59b1fcdeb9bc974833ca45e94e8db Requires -------- python3-prewikka-updatedb (rpmlib, GLIBC filtered): prewikka-updatedb python(abi) python3-prewikka Provides -------- python3-prewikka-updatedb: prewikka-updatedb python-prewikka-updatedb python3-prewikka-updatedb python3.9-prewikka-updatedb python3.9dist(prewikka-updatedb) python3dist(prewikka-updatedb) Generated by fedora-review 0.7.5 (5fa5b7e) last change: 2020-02-16 Command line :/usr/bin/fedora-review -b 1884085 -m fedora-rawhide-x86_64 Buildroot used: fedora-rawhide-x86_64 Active plugins: Generic, Python, Shell-api Disabled plugins: SugarActivity, fonts, Perl, Haskell, R, PHP, Ocaml, C/C++, Java, Ruby Disabled flags: EPEL6, EPEL7, DISTTAG, BATCH, EXARCH
Hello Thanks for your review. > Issues > ====== > - The source RPM name should have "python-" prefixed to it, regardless of how > the prewikka package is named. See the Naming Guidelines: > https://docs.fedoraproject.org/en-US/packaging-guidelines/Naming/#_python_source_package_naming > However, since this is a SHOULD rather than a MUST, I will not block the > review on this point. OK, thanks, I think this is the best > > - I cannot verify that the license tag is correct. Unlike you, I don't know > the developers. Please ask them to put the license in writing somewhere, > even if it is in an email to you (which you would then includes as a source > file). Please also point out to them that term 1 of the GPL version 2 > requires us to pass on the copy of the GPL we received from them ... only > they didn't give us one: > > https://www.gnu.org/licenses/old-licenses/gpl-2.0.html > > At the very least, they should set the License field in PKG-INFO. Note that > it is not enough for them to simply add a file containing the license text > to the package. See the comment in the "GPL+" entry in this table: > > https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#Good_Licenses I may wrong explain myself. I'm in the developer team :). Nonetheless, the wiki has been updated : https://www.prelude-siem.org/projects/prelude/wiki/SourceOrganization , now it is clear that prewikka-updatedb is GPL v2. In the next release, we will add COPYING file and update the PKG-INFO. What is your advice to include this into the package ? > > - Remove line 11 of the spec file: > > Requires: python3-%{name} >= %{version} > > That accomplishes nothing, since there is no binary RPM for the main package, > so the dependency doesn't appear anywhere. > > - Remove line 18 of the spec file: > > Requires: %{name} = %{version}-%{release} > > Since the package also Provides that name, this is a self-dependency, which > accomplishes nothing useful. Done. See: New Spec URL: https://fedorapeople.org/~totol/prewikka-updatedb.spec New SRPM URL: https://kojipkgs.fedoraproject.org//work/tasks/1810/53611810/prewikka-updatedb-5.2.0-1.fc34.src.rpm Thanks Regards
Sorry, wrong link for new SRPM. Good link: https://kojipkgs.fedoraproject.org//work/tasks/1458/54591458/prewikka-updatedb-5.2.0-1.fc34.src.rpm
(In reply to Thomas Andrejak from comment #4) > I may wrong explain myself. I'm in the developer team :). Nonetheless, the > wiki has been updated : > https://www.prelude-siem.org/projects/prelude/wiki/SourceOrganization , now > it is clear that prewikka-updatedb is GPL v2. In the next release, we will > add COPYING file and update the PKG-INFO. Ah, I see. The wiki just says "GPL v2", but you've set the License field to GPLv2+. Does the "or any later version" language appear anywhere? > What is your advice to include this into the package ? Please add a comment above the License field in the spec file pointing to the wiki as justification. That comment can be removed when updating to a release that contains license information. I will go ahead and approve this package. Please add that comment before importing the package.
Hello Thanks for your final review > Ah, I see. The wiki just says "GPL v2", but you've set the License field to GPLv2+. Does the "or any later version" language appear anywhere? You are right, it was missing. I updated the wiki page > Please add a comment above the License field in the spec file pointing to the wiki as justification. That comment can be removed when updating to a release that contains license information. Done New Spec URL: https://fedorapeople.org/~totol/prewikka-updatedb.spec New SRPM URL: https://kojipkgs.fedoraproject.org//work/tasks/3776/54973776/prewikka-updatedb-5.2.0-1.fc34.src.rpm Thanks Regards
(fedscm-admin): The Pagure repository was created at https://src.fedoraproject.org/rpms/prewikka-updatedb