Bug 1184381 - Review Request: meson - High productivity build system
Summary: Review Request: meson - High productivity build system
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Florian "der-flo" Lehner
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-01-21 09:21 UTC by Igor Gnatenko
Modified: 2016-03-20 10:16 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-03-20 10:16:11 UTC
Type: ---
dev: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Igor Gnatenko 2015-01-21 09:21:52 UTC
Spec URL: https://ignatenkobrain.fedorapeople.org/for-review/meson.spec
SRPM URL: https://ignatenkobrain.fedorapeople.org/for-review/meson-0.22.0-1.fc22.src.rpm
Description:
Meson is a build system designed to optimize programmer
productivity. It aims to do this by providing simple, out-of-the-box
support for modern software development tools and practices, such as
unit tests, coverage reports, Valgrind, CCache and the like.
Fedora Account System Username: ignatenkobrain

Comment 1 Florian "der-flo" Lehner 2015-01-22 18:26:21 UTC
Hi Igor!


There are three errors from rpmlint:

Checking: meson-0.22.0-1.fc22.x86_64.rpm
          meson-0.22.0-1.fc22.src.rpm
meson.x86_64: E: no-binary
meson.x86_64: E: non-executable-script /usr/share/meson/mparser.py 0644L /usr/bin/python3
meson.x86_64: E: non-executable-script /usr/share/meson/dependencies.py 0644L /usr/bin/env
2 packages and 0 specfiles checked; 3 errors, 0 warnings.

Please see https://fedoraproject.org/wiki/Packaging_tricks#Remove_shebang_from_Python_libraries for more.

Cheers,
 Flo

Comment 2 Igor Gnatenko 2015-01-22 18:50:27 UTC
> meson.x86_64: E: no-binary
don't know why it's happening. i have 3 binaries in /usr/bin/

New SPEC: https://ignatenkobrain.fedorapeople.org/for-review/meson.spec
New SRPM: https://ignatenkobrain.fedorapeople.org/for-review/meson-0.22.0-2.fc22.src.rpm

Comment 3 Florian "der-flo" Lehner 2015-01-22 19:30:00 UTC
Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed


===== MUST items =====

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.

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:
     "Apache (v2.0)", "Unknown or generated". 164 files have unknown license.
[-]: %build honors applicable compiler flags or justifies otherwise.
   ---> Nothing to build
[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]: Useful -debuginfo package or justification otherwise.
[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]: 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]: 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 do not use a name that already exist
[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]: 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]: 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.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
   ---> http://koji.fedoraproject.org/koji/taskinfo?taskID=8703062
[-]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[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]: Dist tag is present (not strictly required in GL).
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
     Note: Arch-ed rpms have a total of 1187840 bytes in /usr/share
[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: meson-0.22.0-2.fc22.x86_64.rpm
          meson-0.22.0-2.fc22.src.rpm
meson.x86_64: E: no-binary
2 packages and 0 specfiles checked; 1 errors, 0 warnings.

---> looks like this is a false positive. So it is not an issue


Rpmlint (installed packages)
----------------------------
Cannot parse rpmlint output:


Requires
--------
meson (rpmlib, GLIBC filtered):
    /usr/bin/env
    python3-qt5



Provides
--------
meson:
    meson
    meson(x86-64)



Source checksums
----------------
https://github.com/jpakkane/meson/archive/0.22.0/meson-0.22.0.tar.gz :
  CHECKSUM(SHA256) this package     : da50922fd3a652dfdc7eb85cdad7c0b8b8aaf52a72dfa8d4a3d2aeade2b4552b
  CHECKSUM(SHA256) upstream package : da50922fd3a652dfdc7eb85cdad7c0b8b8aaf52a72dfa8d4a3d2aeade2b4552b


Generated by fedora-review 0.5.2 (63c24cb) last change: 2014-07-14
Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -b 1184381
Buildroot used: fedora-rawhide-x86_64
Active plugins: Python, Generic, Shell-api, C/C++
Disabled plugins: Java, SugarActivity, fonts, Haskell, Ocaml, Perl, R, PHP, Ruby
Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG

===== Solution =====
      APPROVED

Comment 4 Igor Gnatenko 2015-01-25 09:12:26 UTC
New Package SCM Request
=======================
Package Name: meson
Short Description: High productivity build system
Upstream URL: https://jpakkane.github.io/meson/
Owners: ignatenkobrain
Branches: f21
InitialCC:

Comment 5 Gwyn Ciesla 2015-01-25 21:44:12 UTC
Git done (by process-git-requests).

Comment 6 Fedora Update System 2015-02-21 21:10:44 UTC
meson-0.22.0-3.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/meson-0.22.0-3.fc21

Comment 7 Fedora Update System 2015-02-23 07:59:48 UTC
meson-0.22.0-3.fc21 has been pushed to the Fedora 21 testing repository.

Comment 8 Ville Skyttä 2015-02-25 21:21:56 UTC
(In reply to Florian "der-flo" Lehner from comment #3)
> meson.x86_64: E: no-binary
> 2 packages and 0 specfiles checked; 1 errors, 0 warnings.
> 
> ---> looks like this is a false positive. So it is not an issue

It's not. Note that the message is about *binaries*, not executables.

$ rpmlint -I no-binary
no-binary:
The package should be of the noarch architecture because it doesn't contain
any binaries.

Looks to me indeed that the package should be noarch.

Also, an unrelated thing: meson-0.22.0-4.git.c6dbf98 does not follow the guidelines for snapshot naming:
missing snapshot date and there's an extra dot after "git".
http://fedoraproject.org/wiki/Packaging:NamingGuidelines#Snapshot_packages

Comment 9 Fedora Update System 2015-02-27 09:24:56 UTC
Package meson-0.22.0-5.gitc6dbf98.fc21:
* should fix your issue,
* was pushed to the Fedora 21 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing meson-0.22.0-5.gitc6dbf98.fc21'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2015-2428/meson-0.22.0-5.gitc6dbf98.fc21
then log in and leave karma (feedback).


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