Bug 846562
| Summary: | Review Request: nqp - Not Quite Perl (6) | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Gerd Pokorra <gp> |
| Component: | Package Review | Assignee: | Marcela Mašláňová <mmaslano> |
| Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | rawhide | CC: | notting, package-review |
| Target Milestone: | --- | Flags: | mmaslano:
fedora-review+
gwync: fedora-cvs+ |
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2012-09-17 17:35:57 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: | |||
|
Description
Gerd Pokorra
2012-08-08 06:58:29 UTC
A successful scratch build in rawhide is at: https://koji.fedoraproject.org/koji/taskinfo?taskID=4365294 I fixed an error in the description. I put the new spec file and new SRPM on our FTP-server. So the new URLs of it are: Spec: http://ftp.uni-siegen.de/review/nqp_2.spec SRPM: http://ftp.uni-siegen.de/review/nqp-0.0.2012.07-2.fc17.src.rpm During the review http://ftp.uni-siegen.de/review/nqp.spec will always be a link to the latest spec file version. Now my rpmlint output is: rpmlint /home/gz016/rpmbuild/SRPMS/nqp-0.0.2012.07-2.fc17.src.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings. rpmlint /home/gz016/rpmbuild/RPMS/x86_64/nqp-0.0.2012.07-2.fc17.x86_64.rpm nqp.x86_64: W: executable-stack /usr/lib64/parrot/4.6.0/dynext/nqp_dyncall_ops.so nqp.x86_64: W: no-manual-page-for-binary nqp 1 packages and 0 specfiles checked; 0 errors, 2 warnings. rpmlint /home/gz016/rpmbuild/RPMS/x86_64/nqp-debuginfo-0.0.2012.07-2.fc17.x86_64.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings. rpmlint nqp.spec 0 packages and 1 specfiles checked; 0 errors, 0 warnings.
Package Review
==============
Key:
- = N/A
x = Pass
! = Fail
? = Not evaluated
==== C/C++ ====
[x]: MUST Header files in -devel subpackage, if present.
[x]: MUST Package does not contain any libtool archives (.la)
[X]: MUST Package does not contain kernel modules.
[X]: MUST Package contains no static executables.
[x]: MUST Rpath absent or only used for internal libs.
[!]: MUST Development (unversioned) .so files in -devel subpackage, if
present.
Note: Unversioned so-files in non-devel package (fix or
explain):nqp-0.0.2012.07-2.fc18.x86_64.rpm :
/usr/lib64/parrot/4.6.0/dynext/nqp_bigint_ops.so
nqp-0.0.2012.07-2.fc18.x86_64.rpm :
/usr/lib64/parrot/4.6.0/dynext/nqp_dyncall_ops.so
nqp-0.0.2012.07-2.fc18.x86_64.rpm :
/usr/lib64/parrot/4.6.0/dynext/nqp_group.so
nqp-0.0.2012.07-2.fc18.x86_64.rpm :
/usr/lib64/parrot/4.6.0/dynext/nqp_ops.so
Couldn't you put those *.so files into nqp-devel package? If nqp needs them
for their essential work, then it could stay in one package.
http://fedoraproject.org/wiki/PackagingGuidelines#Devel_Packages
==== Generic ====
[x]: EXTRA Rpmlint is run on all installed packages.
Note: No rpmlint messages.
[x]: EXTRA Spec file according to URL is the same as in SRPM.
[!]: MUST Package is licensed with an open-source compatible license and meets
other legal requirements as defined in the legal section of Packaging
Guidelines.
[x]: MUST Package successfully compiles and builds into binary rpms on at
least one supported primary architecture.
[!]: MUST %build honors applicable compiler flags or justifies otherwise.
[x]: MUST All build dependencies are listed in BuildRequires, except for any
that are listed in the exceptions section of Packaging Guidelines.
[!]: MUST Buildroot is not present
Note: Buildroot is not needed unless packager plans to package for EPEL5
[!]: MUST Package contains no bundled libraries.
[x]: MUST Changelog in prescribed format.
[!]: MUST Package has no %clean section with rm -rf %{buildroot} (or
$RPM_BUILD_ROOT)
Note: Clean is needed only if supporting EPEL
[x]: MUST Sources contain only permissible code or content.
[!]: MUST Each %files section contains %defattr if rpm < 4.4
Note: defattr(....) present in %files section. This is OK if packaging
for EPEL5. Otherwise not needed
[x]: MUST Macros in Summary, %description expandable at SRPM build time.
[-]: MUST Package contains desktop file if it is a GUI application.
[!]: MUST Development files must be in a -devel package
[x]: MUST Package requires other packages for directories it uses.
[x]: MUST Package uses nothing in %doc for runtime.
[x]: MUST Package is not known to require ExcludeArch.
[x]: MUST Permissions on files are set properly.
[x]: MUST Package does not contain duplicates in %files.
[ ]: MUST Package complies to the Packaging Guidelines
[x]: MUST Spec file lacks Packager, Vendor, PreReq tags.
[!]: MUST Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
beginning of %install.
Note: rm -rf is only needed if supporting EPEL5
[-]: MUST Large documentation files are in a -doc subpackage, if required.
[x]: MUST 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 %doc.
[!]: MUST License field in the package spec file matches the actual license.
Note: Checking patched sources after %prep for licenses. Licenses found:
"GENERATED FILE", "*No copyright* UNKNOWN", "UNKNOWN", "*No copyright*
Public domain", "ISC", "*No copyright* GENERATED FILE"
[x]: MUST Package consistently uses macro is (instead of hard-coded directory
names).
[x]: MUST Package is named using only allowed ascii characters.
[x]: MUST Package is named according to the Package Naming Guidelines.
[x]: MUST Package does not generate any conflict.
Note: Package contains no Conflicts: tag(s)
[x]: MUST Package obeys FHS, except libexecdir and /usr/target.
[x]: MUST Package must own all directories that it creates.
[x]: MUST Package does not own files or directories owned by other packages.
[x]: MUST Package installs properly.
[x]: MUST Package is not relocatable.
[x]: MUST Requires correct, justified where necessary.
[x]: MUST Rpmlint is run on all rpms the build produces.
Note: There are rpmlint messages (see attachment).
[x]: MUST Sources used to build the package match the upstream source, as
provided in the spec URL.
[x]: MUST Spec file is legible and written in American English.
[x]: MUST Spec file name must match the spec package %{name}, in the format
%{name}.spec.
[-]: MUST Package contains systemd file(s) if in need.
[x]: MUST File names are valid UTF-8.
[x]: MUST Useful -debuginfo package or justification otherwise.
[x]: SHOULD Reviewer should test that the package builds in mock.
[x]: SHOULD 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]: SHOULD Dist tag is present.
[x]: SHOULD No file requires outside of /etc, /bin, /sbin, /usr/bin,
/usr/sbin.
[x]: SHOULD Final provides and requires are sane (rpm -q --provides and rpm -q
--requires).
[x]: SHOULD Package functions as described.
[x]: SHOULD Latest version is packaged.
[x]: SHOULD Package does not include license text files separate from
upstream.
[x]: SHOULD SourceX tarball generation or download is documented.
[x]: SHOULD SourceX / PatchY prefixed with %{name}.
[x]: SHOULD SourceX is a working URL.
[x]: SHOULD Description and summary sections in the package spec file contains
translations for supported Non-English languages, if available.
[x]: SHOULD Package should compile and build into binary rpms on all supported
architectures.
[x]: SHOULD %check is present and all tests pass.
[x]: SHOULD Packages should try to preserve timestamps of original installed
files.
[!]: SHOULD Spec use %global instead of %define.
Note: %define PAR_LIB_DIR %{_libdir}/parrot/%{parrot_version} %define
parrot_dynext %{PAR_LIB_DIR}/dynext
Issues:
[!]: MUST Buildroot is not present
Note: Buildroot is not needed unless packager plans to package for EPEL5
See: http://fedoraproject.org/wiki/Packaging/Guidelines#BuildRoot_tag
[!]: MUST Package has no %clean section with rm -rf %{buildroot} (or
$RPM_BUILD_ROOT)
Note: Clean is needed only if supporting EPEL
See: http://fedoraproject.org/wiki/Packaging/Guidelines#.25clean
[!]: MUST Each %files section contains %defattr if rpm < 4.4
Note: defattr(....) present in %files section. This is OK if packaging
for EPEL5. Otherwise not needed
See: http://fedoraproject.org/wiki/Packaging/Guidelines#FilePermissions
[!]: MUST Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
beginning of %install.
Note: rm -rf is only needed if supporting EPEL5
License is not Artistic 2.0. In directory 3rdparty are various licenses for example
Public Domain, BSD, ...
Compiler flags:
Please delete the flag if it doesn't work:
%{__make} # %{?_smp_mflags}
Rpmlint
-------
Checking: nqp-0.0.2012.07-2.fc18.x86_64.rpm
nqp-0.0.2012.07-2.fc18.src.rpm
nqp-debuginfo-0.0.2012.07-2.fc18.x86_64.rpm
nqp.x86_64: W: executable-stack /usr/lib64/parrot/4.6.0/dynext/nqp_dyncall_ops.so
nqp.x86_64: W: no-manual-page-for-binary nqp
3 packages and 0 specfiles checked; 0 errors, 2 warnings.
Rpmlint (installed packages)
----------------------------
# rpmlint nqp-debuginfo
1 packages and 0 specfiles checked; 0 errors, 0 warnings.
# echo 'rpmlint-done:'
Requires
--------
nqp-0.0.2012.07-2.fc18.x86_64.rpm (rpmlib, GLIBC filtered):
libc.so.6()(64bit)
libcrypt.so.1()(64bit)
libdl.so.2()(64bit)
libgmp.so.10()(64bit)
libicudata.so.49()(64bit)
libicuuc.so.49()(64bit)
libm.so.6()(64bit)
libnsl.so.1()(64bit)
libparrot.so.4.6.0()(64bit)
libpthread.so.0()(64bit)
libreadline.so.6()(64bit)
libresolv.so.2()(64bit)
librt.so.1()(64bit)
libutil.so.1()(64bit)
parrot >= 4.6.0
rtld(GNU_HASH)
nqp-debuginfo-0.0.2012.07-2.fc18.x86_64.rpm (rpmlib, GLIBC filtered):
Provides
--------
nqp-0.0.2012.07-2.fc18.x86_64.rpm:
nqp = 0.0.2012.07-2.fc18
nqp(x86-64) = 0.0.2012.07-2.fc18
nqp_bigint_ops.so()(64bit)
nqp_dyncall_ops.so()(64bit)
nqp_group.so()(64bit)
nqp_ops.so()(64bit)
nqp-debuginfo-0.0.2012.07-2.fc18.x86_64.rpm:
nqp-debuginfo = 0.0.2012.07-2.fc18
nqp-debuginfo(x86-64) = 0.0.2012.07-2.fc18
MD5-sum check
-------------
http://github.com/downloads/perl6/nqp/nqp-2012.07.tar.gz :
MD5SUM this package : 9162768357ff2f38267fb2bf9abf77b3
MD5SUM upstream package : 9162768357ff2f38267fb2bf9abf77b3
Generated by fedora-review 0.2.0 (2fb2447) last change: 2012-07-22
Command line :./try-fedora-review -b 846562
External plugins:
I used Fedora-Review for review, which check everything. Let's start with the biggest issues. License: the directory 3rdparty contains code under various licenses. There is also sha1.c file, which might be better use from system library. The license can't be Artistic 2.0 if some parts of code are under different license. -devel sub-package is missing. If you want to push this package into EPEL-5 you will need more changes in the specfile. - License: For the license I think I have to contact the developers of npq, that they will change it in the upstream and use sha1 from the system library. - devel sub-package: I made a build of NQP with the .so files in a -devel subpackage. Then nqp did not run any more. So I add a comment in the spec file to explain it. The new URLs are: Spec: http://ftp.uni-siegen.de/review/nqp_3.spec SRPM: http://ftp.uni-siegen.de/review/nqp-0.0.2012.07-3.fc17.src.rpm I do not want to push this package into EPEL-5. I tried to replace the included SHA1 with the SHA from openssl, but it is incompatible. What type of license could be used to accept the 3rdparty software? Would this be the correct license tag: License: Artistic 2.0 and Public Domain and WTFPL - change License tag - remove defattr The new URLs are: Spec: http://ftp.uni-siegen.de/review/nqp_4.spec SRPM: http://ftp.uni-siegen.de/review/nqp-0.0.2012.07-4.fc17.src.rpm successful scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=4386250 (In reply to comment #7) > I tried to replace the included SHA1 with the SHA from openssl, but it is > incompatible. What type of license could be used to accept the 3rdparty > software? I guess this is ok. Many applications are using their own implementation even if it's not the best thing to do. (In reply to comment #8) > Would this be the correct license tag: > > License: Artistic 2.0 and Public Domain and WTFPL I found in licensecheck.txt from Fedora-Review ISC. And some files don't have copyright, so I probably need to go through all files again and check them. (In reply to comment #9) > - change License tag > - remove defattr > > The new URLs are: > Spec: http://ftp.uni-siegen.de/review/nqp_4.spec > SRPM: http://ftp.uni-siegen.de/review/nqp-0.0.2012.07-4.fc17.src.rpm > > successful scratch build: > http://koji.fedoraproject.org/koji/taskinfo?taskID=4386250 You can also remove the clean section, it's used only for EL-5. %clean rm -rf $RPM_BUILD_ROOT Could you run tests during build or it doesn't work? I'm missing the check section, where could be make test executed. - added check section - removed clean section - added ISC to License tag The new URLs are: Spec: http://ftp.uni-siegen.de/review/nqp_5.spec SRPM: http://ftp.uni-siegen.de/review/nqp-0.0.2012.07-5.fc17.src.rpm scratch build URL: http://koji.fedoraproject.org/koji/taskinfo?taskID=4390564 License: Being in the public domain is not a license; rather, it means the material is not copyrighted and no license is needed. So, I would tag it as: Artistic 2.0 and ISC and WTFPL It would be nice if upstream have the part License in pir files like Perl 5 modules have. But the LICENSE file with Artistic 2.0 should be enough for files in src, t, and others. I guess everything is correct now. APPROVED New Package SCM Request ======================= Package Name: nqp Short Description: Not Quite Perl (6) Owners: gerd Branches: f17 f18 el6 InitialCC: Marcela, please set fedora-review flag to +. Thanks! New Package SCM Request ======================= Package Name: nqp Short Description: Not Quite Perl (6) Owners: gerd Branches: f17 f18 el6 InitialCC: Git done (by process-git-requests). nqp-0.0.2012.07-5.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/nqp-0.0.2012.07-5.fc18 nqp-0.0.2012.07-5.fc18 has been pushed to the Fedora 18 testing repository. nqp-0.0.2012.08.1-1.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/nqp-0.0.2012.08.1-1.fc17 nqp-0.0.2012.08.1-1.fc17 has been pushed to the Fedora 17 stable repository. |