Spec URL: http://www.perl.uni-siegen.de/review/nqp_1.spec SRPM URL: http://www.perl.uni-siegen.de/review/nqp-0.0.2012.07-1.fc17.src.rpm Description: This is "Not Quite Perl" -- a compiler for quickly generating PIR routines from Perl6-like code. The key feature of NQP is that it's designed to be a very small compiler (as compared with, say, perl6 or Rakudo) and is focused on being a high-level way to create compilers and libraries for virtual machines (such as the Parrot Virtual Machine [1]). Unlike a full-fledged implementation of Perl 6, NQP strives to have as small a runtime footprint as it can, while still providing a Perl 6 object model and regular expression engine for the virtual machine. Fedora Account System Username: gerd
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!
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.