Bug 846562 - Review Request: nqp - Not Quite Perl (6)
Review Request: nqp - Not Quite Perl (6)
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Marcela Mašláňová
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-08-08 02:58 EDT by Gerd Pokorra
Modified: 2012-09-17 13:35 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2012-09-17 13:35:57 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
mmaslano: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Gerd Pokorra 2012-08-08 02:58:29 EDT
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
Comment 1 Gerd Pokorra 2012-08-08 04:18:15 EDT
A successful scratch build in rawhide is at:

https://koji.fedoraproject.org/koji/taskinfo?taskID=4365294
Comment 2 Gerd Pokorra 2012-08-08 07:41:47 EDT
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.
Comment 3 Marcela Mašláňová 2012-08-10 07:25:16 EDT
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:
Comment 4 Marcela Mašláňová 2012-08-10 07:28:48 EDT
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.
Comment 5 Gerd Pokorra 2012-08-13 05:16:44 EDT
- 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
Comment 6 Gerd Pokorra 2012-08-13 05:18:35 EDT
I do not want to push this package into EPEL-5.
Comment 7 Gerd Pokorra 2012-08-13 09:07:28 EDT
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?
Comment 8 Gerd Pokorra 2012-08-13 09:19:45 EDT
Would this be the correct license tag:

License:        Artistic 2.0 and Public Domain and WTFPL
Comment 9 Gerd Pokorra 2012-08-13 15:26:21 EDT
- 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
Comment 10 Marcela Mašláňová 2012-08-14 11:43:39 EDT
(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.
Comment 11 Marcela Mašláňová 2012-08-14 11:48:35 EDT
(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.
Comment 12 Marcela Mašláňová 2012-08-14 11:54:22 EDT
(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.
Comment 13 Gerd Pokorra 2012-08-14 17:39:51 EDT
- 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
Comment 14 Marcela Mašláňová 2012-08-15 11:07:17 EDT
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
Comment 15 Marcela Mašláňová 2012-08-15 11:08:12 EDT
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.
Comment 16 Marcela Mašláňová 2012-08-15 11:31:14 EDT
I guess everything is correct now.

APPROVED
Comment 17 Gerd Pokorra 2012-08-17 04:21:59 EDT
New Package SCM Request
=======================
Package Name: nqp
Short Description: Not Quite Perl (6)
Owners: gerd
Branches: f17 f18 el6
InitialCC:
Comment 18 Gwyn Ciesla 2012-08-17 06:59:45 EDT
Marcela, please set fedora-review flag to +.  Thanks!
Comment 19 Gerd Pokorra 2012-08-29 03:54:14 EDT
New Package SCM Request
=======================
Package Name: nqp
Short Description: Not Quite Perl (6)
Owners: gerd
Branches: f17 f18 el6
InitialCC:
Comment 20 Gwyn Ciesla 2012-08-29 10:54:16 EDT
Git done (by process-git-requests).
Comment 21 Fedora Update System 2012-08-30 03:14:34 EDT
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
Comment 22 Fedora Update System 2012-08-30 14:20:02 EDT
nqp-0.0.2012.07-5.fc18 has been pushed to the Fedora 18 testing repository.
Comment 23 Fedora Update System 2012-09-03 10:27:13 EDT
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
Comment 24 Fedora Update System 2012-09-17 13:35:57 EDT
nqp-0.0.2012.08.1-1.fc17 has been pushed to the Fedora 17 stable repository.

Note You need to log in before you can comment on or make changes to this bug.