Bug 1315193 - (epel-cmake3) Review Request (EPEL): cmake3 - Cross-platform make system
Review Request (EPEL): cmake3 - Cross-platform make system
Status: CLOSED ERRATA
Product: Fedora EPEL
Classification: Fedora
Component: Package Review (Show other bugs)
epel7
All Linux
medium Severity medium
: ---
: ---
Assigned To: Antonio Trande
Fedora Extras Quality Assurance
:
: 1290199 (view as bug list)
Depends On: epel6-jsoncpp epel6-libarchive3
Blocks:
  Show dependency treegraph
 
Reported: 2016-03-07 03:36 EST by Björn 'besser82' Esser
Modified: 2016-04-10 09:25 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-04-02 03:56:05 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
anto.trande: fedora‑review+


Attachments (Terms of Use)

  None (edit)
Description Björn 'besser82' Esser 2016-03-07 03:36:47 EST
Description:

  CMake is used to control the software compilation process using simple
  platform and compiler independent configuration files. CMake generates
  native makefiles and workspaces that can be used in the compiler
  environment of your choice. CMake is quite sophisticated: it is possible
  to support complex environments requiring system configuration, preprocessor
  generation, code generation, and template instantiation.


Issues:

  fedora-review shows no obvious issues.  AFAIK there might be some false
  positives from rpmlint.


FAS-User:

  besser82


Urls:

  Spec URL:  https://besser82.fedorapeople.org/review/cmake3.spec
  SRPM URL:  https://besser82.fedorapeople.org/review/cmake3-3.5.0-0.1.rc3.el7.src.rpm


Additional Information:

  This is a compat-package for epel6 and epel7 to build software, which
  requires a CMake-version > 2.8.  It's not intended to be build on any
  release of Fedora.

  The spec-file is (except for a few naming-changes taken from Fedora's
  CMake master-branch.  This will be updated to the final-release of
  CMake 3.5 as soon as it is available.


Thanks for review in advance!
Comment 1 Björn 'besser82' Esser 2016-03-07 04:08:11 EST
Scratch-build (epel7):  https://koji.fedoraproject.org/koji/taskinfo?taskID=13256476
Comment 2 Björn 'besser82' Esser 2016-03-07 04:15:01 EST
*** Bug 1290199 has been marked as a duplicate of this bug. ***
Comment 3 Antonio Trande 2016-03-07 04:32:50 EST
> This is a compat-package for epel6 and epel7 to build software, which
>  requires a CMake-version > 2.8.  It's not intended to be build on any
>  release of Fedora.

It cannot be built on epel6 because missing BR package: 'jasoncpp'.
I'm going to review against epel7 build.
Comment 4 Björn 'besser82' Esser 2016-03-07 04:47:39 EST
(In reply to Antonio Trande from comment #3)
> It cannot be built on epel6 because missing BR package: 'jasoncpp'.
> I'm going to review against epel7 build.

I know.  Already asked the maintainers of jsoncpp to provide a package for epel6.  See:  rhbz#1315097
Comment 5 Björn 'besser82' Esser 2016-03-07 06:49:29 EST
epel6 would need libarchive >= 3.0.0 in addition, too.  I'm going to prepare a compat-package for this, too…
Comment 6 Antonio Trande 2016-03-07 08:35:40 EST
Package Review
==============

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


Issues:
=======
- Have you considered this comment?
  https://bugzilla.redhat.com/show_bug.cgi?id=1290199#c7

- Fix this line, please:
  BuildRequires:  /usr/bin/sphinx-build

- License files are not marked with %license

- -doc sub-package is NOT noarched, also contains
  license files only. Missing documentation files.
  It shouldn't requires main package:

Requires: %{name} = %{version}-%{release}

  If it just provides documentation files, should be a
  stand-alone package.

- appdata is not validated.
  https://fedoraproject.org/wiki/Packaging:AppData#app-data-validate_usage

  Also it points to a bad .desktop file. I suggest to rename these files as
  cmake3 (package name):

  cmake3.desktop
  cmake3.appdata.xml
  -->   <id type="desktop">cmake3.desktop</id>
  --> <application> tags are obsoleted
  See https://fedoraproject.org/wiki/Packaging:AppData#.appdata.xml_file_creation

- This package contains emacs related files. I guess we can apply emacs packaging guidelines (Case 2).
  http://fedoraproject.org/wiki/Packaging:Emacs#Important_notes_on_these_Guidelines

- %{_libdir}/%{name} is empty.

- BuildRoot is just for EPEL5.

- Use %global

  %define qt_gui --qt-gui

- Some minor warnings in rpmlint's outputs
  (non-executable-script, incoherent-version-in-changelog).

===== Additional issues ======

- All binary files are Partial Relro and with PIE disabled.


===== 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)", "Public domain", "GPL (v2 or later)", "GPL (v3
     or later)", "Unknown or generated", "BSD (4 clause)", "MIT/X11 (BSD
     like)", "*No copyright* Public domain", "ISC", "GPL (v2 or later)
     (with incorrect FSF address)", "BSD (3 clause)", "BSD (2 clause)",
     "zlib/libpng", "*No copyright* Apache (v2.0)". 2543 files have unknown
     license. Detailed output of licensecheck in
     /home/sagitter/FedoraReview/1315193-cmake3/licensecheck.txt
[!]: License file installed when any subpackage combination is installed.
[!]: If the package is under multiple licenses, the licensing breakdown
     must be documented in the spec.
[x]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/lib/rpm/fileattrs,
     /usr/share/mime/packages, /usr/share/icons/hicolor/32x32/apps,
     /usr/share/mime, /usr/share/icons/hicolor/128x128/apps,
     /usr/share/icons/hicolor/128x128, /usr/share/icons/hicolor/32x32,
     /usr/share/icons/hicolor
[x]: Package does not own files or directories owned by other packages.
     Note: Dirs in package are owned also by: /usr/share/bash-
     completion(npm, kmod, rfpkg, cmake, rpmdevtools, python-pip,
     mercurial, rpmlint, dnf, subversion, gvfs-client, tracker, yum, bash-
     completion, python3-pip, source-highlight, glib2, git-core),
     /usr/share/bash-completion/completions(npm, kmod, rfpkg, cmake,
     rpmdevtools, python-pip, mercurial, rpmlint, bash-completion,
     firewalld, dnf, subversion, gvfs-client, tracker, yum, libappstream-
     glib, python3-pip, source-highlight, glib2, git-core)
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Development files must be in a -devel package
[?]: 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.
[?]: 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.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: update-desktop-database is invoked in %post and %postun if package
     contains desktop file(s) with a MimeType: entry.
     Note: desktop file(s) with MimeType entry in cmake3-gui
[x]: gtk-update-icon-cache is invoked in %postun and %posttrans if package
     contains icons.
     Note: icons in cmake3-gui
[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[?]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 30720 bytes in 9 files.
[!]: 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]: 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 contains desktop file if it is a GUI application.
[x]: Package installs a %{name}.desktop using desktop-file-install or
     desktop-file-validate if there is such a file.
[x]: Dist tag is present.
[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 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]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

Generic:
[x]: update-mime-database is invoked in %post and %postun if package stores
     mime configuration in /usr/share/mime/packages.
     Note: mimeinfo files in: cmake3-gui
     See:
     http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#mimeinfo
[?]: Buildroot is not present
     Note: Buildroot: present but not needed
[-]: If the source package does not include license text(s) as a separate
     file from upstream, the packager SHOULD query upstream to include it.
[!]: Final provides and requires are sane (see attachments).
[!]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in
     cmake3-doc , cmake3-gui , cmake3-debuginfo
[ ]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Patches link to upstream bugs/comments/lists or are otherwise
     justified.
[x]: Scriptlets must be sane, if 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.
[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed
     files.
[x]: Spec use %global instead of %define unless justified.
     Note: %define requiring justification: %define qt_gui --qt-gui
[x]: Reviewer should test that the package builds in mock.
[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]: Uses parallel make %{?_smp_mflags} macro.
[x]: Sources can be downloaded from URI in Source: tag
[x]: SourceX is a working URL.

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

Generic:
[ ]: Large data in /usr/share should live in a noarch subpackage if package
     is arched.
     Note: Arch-ed rpms have a total of 6574080 bytes in /usr/share
[x]: Rpmlint is run on debuginfo package(s).
     Note: There are rpmlint messages (see attachment).
[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: cmake3-3.5.0-0.1.rc3.el7.centos.x86_64.rpm
          cmake3-doc-3.5.0-0.1.rc3.el7.centos.x86_64.rpm
          cmake3-gui-3.5.0-0.1.rc3.el7.centos.x86_64.rpm
          cmake3-debuginfo-3.5.0-0.1.rc3.el7.centos.x86_64.rpm
          cmake3-3.5.0-0.1.rc3.el7.centos.src.rpm
cmake3.x86_64: W: spelling-error %description -l en_US CMake -> C Make, Cake, Make
cmake3.x86_64: W: spelling-error %description -l en_US makefiles -> make files, make-files, filmmakers
cmake3.x86_64: W: spelling-error %description -l en_US workspaces -> work spaces, work-spaces, works paces
cmake3.x86_64: W: spelling-error %description -l en_US preprocessor -> processor, predecessor, process's
cmake3.x86_64: W: spelling-error %description -l en_US instantiation -> instantiate, substantiation, installation
cmake3.x86_64: W: incoherent-version-in-changelog 3.5.0-0.1.rc3 ['3.5.0-0.1.rc3.el7.centos', '3.5.0-0.1.rc3.centos']
cmake3.x86_64: W: only-non-binary-in-usr-lib
cmake3.x86_64: W: manual-page-warning /usr/share/man/man7/cmake3-modules.7.gz 8605: warning: macro `/configure' not defined
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/TestForAnsiForScope.cxx
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/TestForSTDNamespace.cxx
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/include/cmCPluginAPI.h
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/CMakeTestGNU.c
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/FortranCInterface/my_module_.c
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/CheckForPthreads.c
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/CMakeCCompilerABI.c
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/TestForSSTREAM.cxx
cmake3.x86_64: E: non-executable-script /usr/share/cmake3/Modules/SquishRunTestCase.sh 644 /bin/sh
cmake3.x86_64: E: zero-length /usr/share/cmake3/Modules/IntelVSImplicitPath/hello.f
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/CMakeCompilerABI.h
cmake3.x86_64: E: non-executable-script /usr/share/cmake3/Modules/CPack.RuntimeScript.in 644 /bin/sh
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/TestForANSIStreamHeaders.cxx
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/CMakeTestWatcomVersion.c
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/CheckFunctionExists.c
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/FortranCInterface/mymodule_.c
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/CheckVariableExists.c
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/FortranCInterface/Verify/main.c
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/FortranCInterface/Verify/VerifyC.c
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/CMakeCXXCompilerABI.cpp
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/DummyCXXFile.cxx
cmake3.x86_64: E: non-executable-script /usr/share/cmake3/Modules/Squish4RunTestCase.sh 644 /bin/sh
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/FortranCInterface/Verify/VerifyCXX.cxx
cmake3.x86_64: W: manual-page-warning /usr/share/man/man7/cmake3-commands.7.gz 5215: warning: macro `..' not defined
cmake3.x86_64: E: non-executable-script /usr/share/cmake3/Modules/CPack.STGZ_Header.sh.in 644 /bin/sh
cmake3-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/cmake-3.5.0-rc3/Source/cmExprParser.cxx
cmake3.src: W: spelling-error %description -l en_US CMake -> C Make, Cake, Make
cmake3.src: W: spelling-error %description -l en_US makefiles -> make files, make-files, filmmakers
cmake3.src: W: spelling-error %description -l en_US workspaces -> work spaces, work-spaces, works paces
cmake3.src: W: spelling-error %description -l en_US preprocessor -> processor, predecessor, process's
cmake3.src: W: spelling-error %description -l en_US instantiation -> instantiate, substantiation, installation
cmake3.src:6: W: macro-in-comment %{nil}
cmake3.src:83: W: unversioned-explicit-provides bundled(md5-deutsch)
cmake3.src:86: W: unversioned-explicit-provides bundled(kwsys)
5 packages and 0 specfiles checked; 6 errors, 36 warnings.




Rpmlint (debuginfo)
-------------------
Checking: cmake3-debuginfo-3.5.0-0.1.rc3.el7.centos.x86_64.rpm
cmake3-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/cmake-3.5.0-rc3/Source/cmExprParser.cxx
1 packages and 0 specfiles checked; 1 errors, 0 warnings.





Rpmlint (installed packages)
----------------------------
cmake3-debuginfo.x86_64: W: only-non-binary-in-usr-lib
cmake3-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/cmake-3.5.0-rc3/Source/cmExprParser.cxx
cmake3.x86_64: W: incoherent-version-in-changelog 3.5.0-0.1.rc3 ['3.5.0-0.1.rc3.el7.centos', '3.5.0-0.1.rc3.centos']
cmake3.x86_64: W: only-non-binary-in-usr-lib
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/FortranCInterface/mymodule_.c
cmake3.x86_64: E: non-executable-script /usr/share/cmake3/Modules/SquishRunTestCase.sh 0644L /bin/sh
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/TestForANSIStreamHeaders.cxx
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/FortranCInterface/Verify/VerifyCXX.cxx
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/FortranCInterface/Verify/main.c
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/CMakeCXXCompilerABI.cpp
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/TestForSTDNamespace.cxx
cmake3.x86_64: E: non-executable-script /usr/share/cmake3/Modules/CPack.STGZ_Header.sh.in 0644L /bin/sh
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/FortranCInterface/my_module_.c
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/CheckFunctionExists.c
cmake3.x86_64: E: non-executable-script /usr/share/cmake3/Modules/Squish4RunTestCase.sh 0644L /bin/sh
cmake3.x86_64: W: manual-page-warning /usr/share/man/man7/cmake3-modules.7.gz 8605: warning: macro `/configure' not defined
cmake3.x86_64: W: manual-page-warning /usr/share/man/man7/cmake3-commands.7.gz 5215: warning: macro `..' not defined
cmake3.x86_64: E: zero-length /usr/share/cmake3/Modules/IntelVSImplicitPath/hello.f
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/CheckForPthreads.c
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/TestForAnsiForScope.cxx
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/CMakeTestWatcomVersion.c
cmake3.x86_64: E: non-executable-script /usr/share/cmake3/Modules/CPack.RuntimeScript.in 0644L /bin/sh
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/CMakeTestGNU.c
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/CMakeCompilerABI.h
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/include/cmCPluginAPI.h
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/CheckVariableExists.c
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/TestForSSTREAM.cxx
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/CMakeCCompilerABI.c
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/DummyCXXFile.cxx
cmake3.x86_64: W: devel-file-in-non-devel-package /usr/share/cmake3/Modules/FortranCInterface/Verify/VerifyC.c
4 packages and 0 specfiles checked; 6 errors, 24 warnings.



Requires
--------
cmake3-debuginfo (rpmlib, GLIBC filtered):

cmake3-doc (rpmlib, GLIBC filtered):
    cmake3

cmake3-gui (rpmlib, GLIBC filtered):
    /bin/sh
    cmake3(x86-64)
    libQtCore.so.4()(64bit)
    libQtGui.so.4()(64bit)
    libarchive.so.13()(64bit)
    libc.so.6()(64bit)
    libcurl.so.4()(64bit)
    libdl.so.2()(64bit)
    libexpat.so.1()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libjsoncpp.so.0()(64bit)
    libm.so.6()(64bit)
    libpthread.so.0()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libstdc++.so.6(CXXABI_1.3.5)(64bit)
    libz.so.1()(64bit)
    libz.so.1(ZLIB_1.2.3.3)(64bit)
    rtld(GNU_HASH)

cmake3 (rpmlib, GLIBC filtered):
    /bin/sh
    /usr/bin/python2
    emacs-filesystem
    libarchive.so.13()(64bit)
    libc.so.6()(64bit)
    libcurl.so.4()(64bit)
    libdl.so.2()(64bit)
    libexpat.so.1()(64bit)
    libform.so.5()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libjsoncpp.so.0()(64bit)
    libm.so.6()(64bit)
    libncurses.so.5()(64bit)
    libpthread.so.0()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libstdc++.so.6(CXXABI_1.3.5)(64bit)
    libtinfo.so.5()(64bit)
    libz.so.1()(64bit)
    libz.so.1(ZLIB_1.2.3.3)(64bit)
    rpm
    rtld(GNU_HASH)



Provides
--------
cmake3-debuginfo:
    cmake3-debuginfo
    cmake3-debuginfo(x86-64)

cmake3-doc:
    cmake3-doc
    cmake3-doc(x86-64)

cmake3-gui:
    application()
    application(CMake3.desktop)
    cmake3-gui
    cmake3-gui(x86-64)
    mimehandler(application/x-cmakecache)

cmake3:
    bundled(kwsys)
    bundled(md5-deutsch)
    cmake
    cmake3
    cmake3(x86-64)



Source checksums
----------------
http://www.cmake.org/files/v3.5/cmake-3.5.0-rc3.tar.gz :
  CHECKSUM(SHA256) this package     : 9273d2cc7f5526d58b4f60a35ee7d45620903ac012a3d52f3a4f397aaf4e4b01
  CHECKSUM(SHA256) upstream package : 9273d2cc7f5526d58b4f60a35ee7d45620903ac012a3d52f3a4f397aaf4e4b01


Generated by fedora-review 0.6.0 (7737a2a) last change: 2015-11-26
Command line :./try-fedora-review -m epel-7-x86_64 -D EPEL6=1 -b 1315193
Buildroot used: epel-7-x86_64
Active plugins: Generic, Shell-api, C/C++
Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby
Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH
Comment 7 Antonio Trande 2016-03-07 09:23:32 EST
>- This package contains emacs related files. I guess we can apply emacs 
> packaging guidelines (Case 2).

Ignore this point; all changes already done.
Comment 8 Björn 'besser82' Esser 2016-03-07 09:50:07 EST
(In reply to Antonio Trande from comment #6)
> Package Review
> ==============
> 
> Issues:
> =======
> - Have you considered this comment?
>   https://bugzilla.redhat.com/show_bug.cgi?id=1290199#c7

I took that into consideration, but I decided to keep this as cmake3, because of some further thoughts:

It may be that minor version updates introduce backwards-incompatible changes, but those usually can be fixed using simple patches or explicitly setting CMake-policies in the CMakeLists.txt; most "so called backward-incompatible changes were just merely a br0k3n-by-design CMake-script.  Most of incompatible changes (except for the change from 2.8 to 3.0 with setting PREFIX in CMakeLists.txt) can be explicitly reverted or ernabled by using the proper CMake-policies.  I'm using CMake quite a lot and since years (since CMake 2.6) for building my code inside different environments and there was *never* a change, that br0k3 anything in a way, which wasn't fixable within less that 5 minutes.


> - Fix this line, please:
>   BuildRequires:  /usr/bin/sphinx-build

Why?  Any guideline out the telling me, I must not require a certain thing by it's file-name?  Same would apply for the Fedora-package, which is exactly like this.


> - License files are not marked with %license

Is that a requirement for EPEL by guidelines?  %license hasn't been present when epel6 or epel7 were released…  On epel %license does nothing, but the same archived using %doc…


> - -doc sub-package is NOT noarched, also contains
>   license files only. Missing documentation files.
>   It shouldn't requires main package:
> 
> Requires: %{name} = %{version}-%{release}
> 
>   If it just provides documentation files, should be a
>   stand-alone package.

This is taken excactly 1 by 1 from the Fedora master-branch of CMake…  I don't want to have a too noisy diff between them two…  I'm going to discuss the change with orion, so we can get that sorted out later…


> - appdata is not validated.
>   https://fedoraproject.org/wiki/Packaging:AppData#app-data-validate_usage
> 
>   Also it points to a bad .desktop file. I suggest to rename these files as
>   cmake3 (package name):
> 
>   cmake3.desktop
>   cmake3.appdata.xml
>   -->   <id type="desktop">cmake3.desktop</id>
>   --> <application> tags are obsoleted
>   See
> https://fedoraproject.org/wiki/Packaging:AppData#.appdata.xml_file_creation

AppData isn't even created nor used on current epel; it is conditionalized.


> - This package contains emacs related files. I guess we can apply emacs
> packaging guidelines (Case 2).
>  
> http://fedoraproject.org/wiki/Packaging:
> Emacs#Important_notes_on_these_Guidelines

Okay will fix that…


> - %{_libdir}/%{name} is empty.

It's intentionally empty.  This directory will hold the exported targets generated by CMake-projects, which can be imported into other CMake-projects using `find_package(Foo)`

> - BuildRoot is just for EPEL5.

Will squash that out…

> - Use %global
> 
>   %define qt_gui --qt-gui

Same here.

> - Some minor warnings in rpmlint's outputs
>   (non-executable-script, incoherent-version-in-changelog).
> 
> ===== Additional issues ======
> 
> - All binary files are Partial Relro and with PIE disabled.

epel7 nor epel6 ever used PIE/PIC nor read-only relocations.  That change came in Fedora 23, which was after the release of epel7.  If epel7 would require any of those flags, they would be exported by default from %{optflags} || %{__global_ldflags}.


> [!]: License file installed when any subpackage combination is installed.

Huh?  All licenses are in the main-pkg…  If I install any of the other packages, the main-pkg is pulled in…


> [!]: If the package is under multiple licenses, the licensing breakdown
>      must be documented in the spec.

Documentation is in spec-file:
  # most sources are BSD
  # Source/CursesDialog/form/ a bunch is MIT
  # Source/kwsys/MD5.c is zlib
  # some GPL-licensed bison-generated files, these all include an
    exception granting redistribution under$

The other files are simply inside the archive for bootstrapping purposes and are not build nor included in any resulting binary-package…


> [-]: Development files must be in a -devel package
> [?]: Package uses nothing in %doc for runtime.

No runtime-files in doc…


> [?]: Package is named according to the Package Naming Guidelines.
> [?]: Package does not generate any conflict.

Try to install it along "regular cmake"…  No clashes.


> [-]: If the package is a rename of another package, proper Obsoletes and
>      Provides are present.
> [!]: Requires correct, justified where necessary.

Huh?  What's wrong with the Requires of the resulting binary packages?


> [?]: Large documentation must go in a -doc subpackage. Large could be size
>      (~1MB) or number of files.
>      Note: Documentation size is 30720 bytes in 9 files.

?


> [?]: Buildroot is not present
>      Note: Buildroot: present but not needed

Will fix that…


> [!]: Final provides and requires are sane (see attachments).
> [!]: Fully versioned dependency in subpackages if applicable.
>      Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in
>      cmake3-doc , cmake3-gui , cmake3-debuginfo

Will fix that…


> Generic:
> [ ]: Large data in /usr/share should live in a noarch subpackage if package
>      is arched.

That change will go hand-in-hand with the possible change in Fedora's cmake.spec.
Comment 9 Antonio Trande 2016-03-07 10:22:14 EST
(In reply to Björn "besser82" Esser from comment #8)
> (In reply to Antonio Trande from comment #6)
> > Package Review
> > ==============
> > 
> > Issues:
> > =======
> 
> 
> > - Fix this line, please:
> >   BuildRequires:  /usr/bin/sphinx-build
> 
> Why?  Any guideline out the telling me, I must not require a certain thing
> by it's file-name?  Same would apply for the Fedora-package, which is
> exactly like this.

I don't know why you need to indicate "full path" of a binary file, but okay.

> 
> 
> > - License files are not marked with %license
> 
> Is that a requirement for EPEL by guidelines?  %license hasn't been present
> when epel6 or epel7 were released…  On epel %license does nothing, but the
> same archived using %doc…

If I'm not wrong, %license exists on EPEL7 and pushes license files in /usr/share/licenses/package_name instead of /usr/share/doc/package_name on EPEL6.
https://fedoraproject.org/wiki/EPEL:Packaging#The_.25license_tag

> 
> 
> > - -doc sub-package is NOT noarched, also contains
> >   license files only. Missing documentation files.
> >   It shouldn't requires main package:
> > 
> > Requires: %{name} = %{version}-%{release}
> > 
> >   If it just provides documentation files, should be a
> >   stand-alone package.
> 
> This is taken excactly 1 by 1 from the Fedora master-branch of CMake…  I
> don't want to have a too noisy diff between them two…  I'm going to discuss
> the change with orion, so we can get that sorted out later…
> 

Why is provided a -doc sub-package with license files only?

> 
> > - appdata is not validated.
> >   https://fedoraproject.org/wiki/Packaging:AppData#app-data-validate_usage
> > 
> >   Also it points to a bad .desktop file. I suggest to rename these files as
> >   cmake3 (package name):
> > 
> >   cmake3.desktop
> >   cmake3.appdata.xml
> >   -->   <id type="desktop">cmake3.desktop</id>
> >   --> <application> tags are obsoleted
> >   See
> > https://fedoraproject.org/wiki/Packaging:AppData#.appdata.xml_file_creation
> 
> AppData isn't even created nor used on current epel; it is conditionalized.

Okay, but as it is now could not work.

> 
> 
> > [!]: License file installed when any subpackage combination is installed.
> 
> Huh?  All licenses are in the main-pkg…  If I install any of the other
> packages, the main-pkg is pulled in…
> 
> > [-]: If the package is a rename of another package, proper Obsoletes and
> >      Provides are present.
> > [!]: Requires correct, justified where necessary.
> 
> Huh?  What's wrong with the Requires of the resulting binary packages?
> 
> 
> > [?]: Large documentation must go in a -doc subpackage. Large could be size
> >      (~1MB) or number of files.
> >      Note: Documentation size is 30720 bytes in 9 files.
> 
> ?


Depends by what -doc provides. :)
Comment 10 Björn 'besser82' Esser 2016-03-07 15:07:49 EST
Updated package.  Should address all mentioned issues…


Urls:

  Spec URL:  https://besser82.fedorapeople.org/review/cmake3.spec
  SRPM URL:  https://besser82.fedorapeople.org/review/cmake3-3.5.0-0.2.rc3.el7.src.rpm


Scratch-build (epel7):

  https://koji.fedoraproject.org/koji/taskinfo?taskID=13263470
Comment 11 Antonio Trande 2016-03-07 15:31:02 EST
Package approved.
Comment 12 Björn 'besser82' Esser 2016-03-07 16:02:09 EST
Great!  Thank you for the careful review, Antonio.  =)  If you want to comaintain, well, you know how it works…  ;)
Comment 13 Gwyn Ciesla 2016-03-08 11:03:28 EST
Package request has been approved: https://admin.fedoraproject.org/pkgdb/package/cmake3
Comment 14 Björn 'besser82' Esser 2016-03-08 14:28:33 EST
Package is built for epel7, buildroot-override is tagged long enough to have it available until it hits the release-repo.

Build for epel6 will be made as soon as we have jsoncpp in there.
Comment 15 Fedora Update System 2016-03-08 14:45:54 EST
cmake3-3.5.0-0.3.rc3.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-1b4a2161de
Comment 16 Fedora Update System 2016-03-09 18:21:24 EST
cmake3-3.5.0-1.1.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-1b4a2161de
Comment 17 Fedora Update System 2016-03-10 02:47:51 EST
cmake3-3.5.0-2.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-1b4a2161de
Comment 18 Fedora Update System 2016-03-10 10:55:49 EST
cmake3-3.5.0-2.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-1b4a2161de
Comment 19 Fedora Update System 2016-03-11 07:14:14 EST
cmake3-3.5.0-2.el6 jsoncpp-0.6.0-0.9.rc2.el6 libarchive3-3.1.2-1.el6 has been submitted as an update to Fedora EPEL 6. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-a82c466e38
Comment 20 Fedora Update System 2016-03-11 08:29:32 EST
cmake3-3.5.0-2.1.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-1b4a2161de
Comment 21 Fedora Update System 2016-03-12 10:50:03 EST
cmake3-3.5.0-2.1.el6, jsoncpp-0.6.0-0.9.rc2.el6, libarchive3-3.1.2-1.el6 has been pushed to the Fedora EPEL 6 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-a82c466e38
Comment 22 Fedora Update System 2016-03-12 15:50:50 EST
cmake3-3.5.0-2.1.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-1b4a2161de
Comment 23 Fedora Update System 2016-03-25 07:39:37 EDT
cmake3-3.5.1-1.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-1b4a2161de
Comment 24 Fedora Update System 2016-03-25 07:41:10 EDT
cmake3-3.5.1-1.el6 jsoncpp-0.6.0-0.9.rc2.el6 libarchive3-3.1.2-1.el6 has been submitted as an update to Fedora EPEL 6. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-a82c466e38
Comment 25 Fedora Update System 2016-03-26 10:18:09 EDT
cmake3-3.5.1-1.el6, jsoncpp-0.10.5-1.el6, libarchive3-3.1.2-1.el6 has been pushed to the Fedora EPEL 6 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-a82c466e38
Comment 26 Fedora Update System 2016-03-26 10:19:14 EDT
cmake3-3.5.1-1.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-1b4a2161de
Comment 27 Fedora Update System 2016-04-02 03:55:53 EDT
cmake3-3.5.1-1.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report.
Comment 28 Fedora Update System 2016-04-10 09:25:02 EDT
cmake3-3.5.1-1.el6, jsoncpp-0.10.5-1.el6, libarchive3-3.1.2-1.el6 has been pushed to the Fedora EPEL 6 stable repository. If problems still persist, please make note of it in this bug report.

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