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!
Scratch-build (epel7): https://koji.fedoraproject.org/koji/taskinfo?taskID=13256476
*** Bug 1290199 has been marked as a duplicate of this bug. ***
> 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.
(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
epel6 would need libarchive >= 3.0.0 in addition, too. I'm going to prepare a compat-package for this, too…
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
>- This package contains emacs related files. I guess we can apply emacs > packaging guidelines (Case 2). Ignore this point; all changes already done.
(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.
(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. :)
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
Package approved.
Great! Thank you for the careful review, Antonio. =) If you want to comaintain, well, you know how it works… ;)
Package request has been approved: https://admin.fedoraproject.org/pkgdb/package/cmake3
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.
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
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
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
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
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
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
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
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
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
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
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
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
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.
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.