| Summary: | Review Request (EPEL): cmake3 - Cross-platform make system | ||
|---|---|---|---|
| Product: | [Fedora] Fedora EPEL | Reporter: | Björn 'besser82' Esser <besser82> |
| Component: | Package Review | Assignee: | Antonio T. (sagitter) <anto.trande> |
| Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | epel7 | CC: | carl, helio |
| Target Milestone: | --- | Flags: | anto.trande:
fedora-review+
|
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2016-04-02 07:56:05 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Bug Depends On: | 1315097, 1315307 | ||
| Bug Blocks: | |||
|
Description
Björn 'besser82' Esser
2016-03-07 08:36:47 UTC
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. |