Bug 1161014 (llvm34)
Summary: | Review Request: llvm34 - The Low Level Virtual Machine | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Jens Petersen <petersen> |
Component: | Package Review | Assignee: | Mukundan Ragavan <nonamedotc> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | rawhide | CC: | ajax, jv+fedora, nonamedotc, package-review |
Target Milestone: | --- | Flags: | nonamedotc:
fedora-review+
petersen: fedora-cvs+ |
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | llvm34-3.4.2-5.fc21 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2014-11-17 04:13:31 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Jens Petersen
2014-11-06 07:25:22 UTC
Currently ghc on ARMv7 using llvm as its compiler backend (note not clang). Current ghc releases only support llvm 3.4 and earlier. F22 Rawhide just moved to llvm-3.5 which breaks ghc's RTS on ARM. So this package is needed to keep ghc working on ARM. Koji scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=8052781 llvm34-libs is parallel installable with llvm-libs. The rest of the packages file conflict with the llvm packages but I think this is okay (at least after adding Conflicts). There are also a few bcond related build fixes that could be merged into llvm.spec. The package also build locally for me on F20, so if llvm-3.5 is backported to F21 (though it is late now for major version updates), I think this should build on F21 too. Spec: http://petersen.fedorapeople.org/reviews/llvm34/llvm34.spec SRPM: http://petersen.fedorapeople.org/reviews/llvm34/llvm34-3.4.2-2.fc20.src.rpm Updated to no longer conflict with the llvm packages. - added 3.4 suffices to bindir/* - moved include dirs to /usr/include/llvm34 Tested with "ghc -fllvm -pgmlc=llc-3.4 -pgmlo=opt-3.4". Rawhide scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=8061523 As I mentioned in the mailing list, I will review this first thing tomorrow when I get back from work. - unless someone beats me to it! :) Here is the detailed review - at least first pass. I have some questions (potentially silly) - take a look. Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - Header files in -devel subpackage, if present. Note: llvm34-doc : /usr/share/doc/llvm34-doc/examples/BrainF/BrainF.h See: http://fedoraproject.org/wiki/Packaging/Guidelines#DevelPackages ---> This is fine. The file in question is this - /usr/share/doc/llvm34-doc/examples/BrainF/BrainF.cpp /usr/share/doc/llvm34-doc/examples/BrainF/BrainF.h Example file. Bogus warning. - Package contains BR: python2-devel or python3-devel ---> python-devel -> python2-devel 191 BuildRequires: python-devel ===== MUST items ===== C/C++: [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [?]: Development (unversioned) .so files in -devel subpackage, if present. Note: Unversioned so-files in private %_libdir subdirectory (see attachment). Verify they are not in ld path. ---> Please check this. [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: "BSD (3 clause)", "ISC", "Unknown or generated". 2381 files have unknown license. Detailed output of licensecheck in /home/mukundan/ownCloud/pkg_reviews/1161014-llvm34/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [!]: Package must own all directories that it creates. Note: Directories without known owners: /usr/lib64/llvm34 ---> The specfile has this - 546 %dir %{_datadir}/llvm Shouldn't this be llvm34? [!]: Package does not own files or directories owned by other packages. Note: Dirs in package are owned also by: /usr/share/llvm/cmake(llvm- devel), /usr/share/llvm(llvm) ---> Same issue as in the comment above. llvm34 directories? [?]: %build honors applicable compiler flags or justifies otherwise. ---> Spec file has this line - 354 --with-optimize-option=-O3 From the build log, + ./configure --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --libdir=/usr/lib64/llvm34 --disable-polly --disable-libcpp --enable-cxx11 --enable-clang-arcmt --enable-clang-static-analyzer --enable-clang-rewriter --enable-optimized --disable-profiling --disable-assertions --disable-werror --disable-expensive-checks --enable-debug-runtime --enable-keep-symbols --enable-jit --enable-docs --disable-doxygen --enable-threads --enable-pthreads --enable-zlib --enable-pic --enable-shared --disable-embed-stdcxx --enable-timestamps --enable-backtraces --enable-targets=x86,powerpc,arm,aarch64,cpp,nvptx,systemz --enable-experimental-targets=R600 --enable-bindings=none --enable-libffi --enable-ltdl-install --with-binutils-include=/usr/include --with-c-include-dirs=/usr/include:/usr/lib/gcc/x86_64-redhat-linux/4.9.2/include *** --with-optimize-option=-O3 *** Is this necessary? https://fedoraproject.org/wiki/Packaging:Guidelines#Compiler_flags [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [x]: Each %files section contains %defattr if rpm < 4.4 Note: %defattr present but not needed ---> Spec files could be cleaned up a bit. Not a big issue though. [-]: Package contains desktop file if it is a GUI application. [x]: Development files must be in a -devel package [x]: Package uses nothing in %doc for runtime. [?]: Package consistently uses macros (instead of hard-coded directory names). [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. [x]: Package obeys FHS, except libexecdir and /usr/target. [x]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [-]: Package contains systemd file(s) if in need. [x]: Useful -debuginfo package or justification otherwise. [x]: Package is not known to require an ExcludeArch tag. [x]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 686080 bytes in 4 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]: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %doc. [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]: %config files are marked noreplace or the reason is justified. [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: No %config files under /usr. [x]: Package do not use a name that already exist [x]: Package is not relocatable. [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: Static libraries in -static or -devel subpackage, providing -devel if present. Note: Package has .a files: llvm34-static. [x]: File names are valid UTF-8. [x]: Packages must not store files under /srv, /opt or /usr/local Python: [x]: Python eggs must not download any dependencies during the build process. [x]: A package which is used by another package via an egg interface should provide egg info. [x]: Package meets the Packaging Guidelines::Python [x]: Binary eggs must be removed in %prep ===== SHOULD items ===== Generic: [x]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: Final provides and requires are sane (see attachments). [!]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in llvm34-doc , llvm34-libs , llvm34-static ---> Shouldn't -libs subpackage have versions dep? 118 %package libs 119 Summary: LLVM shared libraries 120 Group: System Environment/Libraries 121 122 %description libs 123 Shared libraries for the LLVM compiler infrastructure. -static subpackage is fine. Has devel%{?_isa} as requires. [x]: 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. [x]: 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]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: Dist tag is present (not strictly required in GL). [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Uses parallel make %{?_smp_mflags} macro. [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: llvm34-3.4.2-2.fc22.x86_64.rpm llvm34-devel-3.4.2-2.fc22.x86_64.rpm llvm34-doc-3.4.2-2.fc22.noarch.rpm llvm34-libs-3.4.2-2.fc22.x86_64.rpm llvm34-static-3.4.2-2.fc22.x86_64.rpm llvm34-3.4.2-2.fc22.src.rpm llvm34.x86_64: W: spelling-error %description -l en_US runtime -> run time, run-time, rudiment llvm34.x86_64: W: no-manual-page-for-binary llc-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-ar-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-stress-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-nm-3.4 llvm34.x86_64: W: no-manual-page-for-binary lli-child-target-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-bcanalyzer-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-tblgen-3.4 llvm34.x86_64: W: no-manual-page-for-binary opt-3.4 llvm34.x86_64: W: no-manual-page-for-binary bugpoint-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-symbolizer-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-cov-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-rtdyld-3.4 llvm34.x86_64: W: no-manual-page-for-binary lli-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-diff-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-objdump-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-mcmarkup-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-mc-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-as-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-readobj-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-dwarfdump-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-link-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-extract-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-size-3.4 llvm34.x86_64: W: no-manual-page-for-binary macho-dump-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-dis-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-ranlib-3.4 llvm34-devel.x86_64: W: no-manual-page-for-binary llvm-config-64-3.4 llvm34-libs.x86_64: W: no-documentation llvm34-static.x86_64: W: no-documentation llvm34.src: W: spelling-error %description -l en_US runtime -> run time, run-time, rudiment llvm34.src:291: W: configure-without-libdir-spec llvm34.src:291: E: hardcoded-library-path in /usr/lib llvm34.src:353: E: hardcoded-library-path in %{_prefix}/lib/gcc/%{_target_cpu}*/*/include) llvm34.src:593: E: hardcoded-library-path in %{_prefix}/lib/clang ---> /lib --> %{_libdir}? 6 packages and 0 specfiles checked; 3 errors, 32 warnings. Rpmlint (installed packages) ---------------------------- # rpmlint llvm34 llvm34-static llvm34-devel llvm34-libs llvm34-doc llvm34.x86_64: W: spelling-error %description -l en_US runtime -> run time, run-time, rudiment llvm34.x86_64: W: no-manual-page-for-binary llc-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-ar-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-stress-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-nm-3.4 llvm34.x86_64: W: no-manual-page-for-binary lli-child-target-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-bcanalyzer-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-tblgen-3.4 llvm34.x86_64: W: no-manual-page-for-binary opt-3.4 llvm34.x86_64: W: no-manual-page-for-binary bugpoint-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-symbolizer-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-cov-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-rtdyld-3.4 llvm34.x86_64: W: no-manual-page-for-binary lli-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-diff-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-objdump-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-mcmarkup-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-mc-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-as-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-readobj-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-dwarfdump-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-link-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-extract-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-size-3.4 llvm34.x86_64: W: no-manual-page-for-binary macho-dump-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-dis-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-ranlib-3.4 llvm34-static.x86_64: W: no-documentation llvm34-devel.x86_64: W: no-manual-page-for-binary llvm-config-64-3.4 llvm34-libs.x86_64: W: no-documentation 5 packages and 0 specfiles checked; 0 errors, 30 warnings. # echo 'rpmlint-done:' Requires -------- llvm34 (rpmlib, GLIBC filtered): libLLVM-3.4.so()(64bit) libc.so.6()(64bit) libdl.so.2()(64bit) libffi.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.4)(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.8)(64bit) libtinfo.so.5()(64bit) libz.so.1()(64bit) llvm34-libs(x86-64) rtld(GNU_HASH) llvm34-static (rpmlib, GLIBC filtered): llvm34-devel(x86-64) llvm34-devel (rpmlib, GLIBC filtered): /bin/sh /usr/sbin/alternatives libc.so.6()(64bit) libdl.so.2()(64bit) libffi-devel libffi.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.4)(64bit) libm.so.6()(64bit) libpthread.so.0()(64bit) libstdc++-devel libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.8)(64bit) libtinfo.so.5()(64bit) libz.so.1()(64bit) llvm34(x86-64) ncurses-devel rtld(GNU_HASH) llvm34-libs (rpmlib, GLIBC filtered): /sbin/ldconfig config(llvm34-libs) libLLVM-3.4.so()(64bit) libLTO.so()(64bit) libc.so.6()(64bit) libdl.so.2()(64bit) libffi.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.4)(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.8)(64bit) libtinfo.so.5()(64bit) libz.so.1()(64bit) libz.so.1(ZLIB_1.2.0)(64bit) rtld(GNU_HASH) llvm34-doc (rpmlib, GLIBC filtered): llvm34 Provides -------- llvm34: llvm34 llvm34(x86-64) llvm34-static: llvm34-static llvm34-static(x86-64) llvm34-devel: llvm34-devel llvm34-devel(x86-64) llvm34-libs: config(llvm34-libs) libLLVM-3.4.so()(64bit) libLTO.so()(64bit) llvm34-libs llvm34-libs(x86-64) llvm34-doc: llvm34-doc Unversioned so-files -------------------- llvm34-libs: /usr/lib64/llvm34/BugpointPasses.so llvm34-libs: /usr/lib64/llvm34/LLVMgold.so llvm34-libs: /usr/lib64/llvm34/libLLVM-3.4.2.so llvm34-libs: /usr/lib64/llvm34/libLLVM-3.4.so llvm34-libs: /usr/lib64/llvm34/libLTO.so Source checksums ---------------- http://llvm.org/releases/3.4.2/llvm-3.4.2.src.tar.gz : CHECKSUM(SHA256) this package : 17038d47069ad0700c063caed76f0c7259628b0e79651ce2b540d506f2f1efd7 CHECKSUM(SHA256) upstream package : 17038d47069ad0700c063caed76f0c7259628b0e79651ce2b540d506f2f1efd7 Generated by fedora-review 0.5.2 (63c24cb) last change: 2014-07-14 Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -b 1161014 Buildroot used: fedora-rawhide-x86_64 Active plugins: Python, Generic, Shell-api, C/C++ Disabled plugins: Java, SugarActivity, fonts, Haskell, Ocaml, Perl, R, PHP, Ruby Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG Thank you very much for looking at the package. (In reply to Mukundan Ragavan from comment #5) > - Package contains BR: python2-devel or python3-devel > > ---> python-devel -> python2-devel > > 191 BuildRequires: python-devel Ok, good catch but actually lldb is not built in the llvm34 package currently. I think I will just remove clang, and the rest of the conditional parts completely for clarity and simplicity. (Diffing with f21 llvm.spec might give you a better idea of the changes I have made.) > [?]: Development (unversioned) .so files in -devel subpackage, if present. > Note: Unversioned so-files in private %_libdir subdirectory (see > attachment). Verify they are not in ld path. I think this is okay. The same libraries are in the current llvm package. > [!]: Package must own all directories that it creates. > Note: Directories without known owners: /usr/lib64/llvm34 I am confused: here /usr/lib64/llvm34 is owned by llvm34-libs. > ---> The specfile has this - > > 546 %dir %{_datadir}/llvm > > Shouldn't this be llvm34? : > [!]: Package does not own files or directories owned by other packages. > Note: Dirs in package are owned also by: /usr/share/llvm/cmake(llvm- > devel), /usr/share/llvm(llvm) Yes, fixing. > [?]: %build honors applicable compiler flags or justifies otherwise. > > ---> Spec file has this line - > > 354 --with-optimize-option=-O3 > Is this necessary? This came from llvm.spec - dunno if it is related to mesa or something. Apparently it was added in this commit http://pkgs.fedoraproject.org/cgit/llvm.git/commit/?id=be655c46e5d3707531fb8bef5430a9c064653197 without comment. We could drop it perhaps dunno or add a comment that it comes from llvm.spec. > [x]: Each %files section contains %defattr if rpm < 4.4 > Note: %defattr present but not needed > > ---> Spec files could be cleaned up a bit. Not a big issue though. Again inherited from llvm.spec. I agree probably better to clean up the file more for readibility: dropping. > [!]: Fully versioned dependency in subpackages if applicable. > Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in llvm34-doc > , llvm34-libs , llvm34-static > > ---> Shouldn't -libs subpackage have versions dep? Probably not. llvm34 has a versioned requires on llvm34-libs. > llvm34.src:291: W: configure-without-libdir-spec > llvm34.src:291: E: hardcoded-library-path in /usr/lib I think these are falsely triggered by the sed on "./configure". I will try removing the "./" for the former. > llvm34.src:353: E: hardcoded-library-path in > %{_prefix}/lib/gcc/%{_target_cpu}*/*/include) Well that is for gcc, again from llvm.spec. Dunno if there is a nicer way to get that gcc path. > llvm34.src:593: E: hardcoded-library-path in %{_prefix}/lib/clang > > ---> /lib --> %{_libdir}? clang is not packaged. Dropping. Updated package: Spec: http://petersen.fedorapeople.org/reviews/llvm34/llvm34.spec SRPM: http://petersen.fedorapeople.org/reviews/llvm34/llvm34-3.4.2-3.fc20.src.rpm - rename datadir to llvm34 (#1161014) - remove all conditioned out clang, lldb, crt, ocaml - drop defattr's Scratch building: http://koji.fedoraproject.org/koji/taskinfo?taskID=8108633 > Scratch building: http://koji.fedoraproject.org/koji/taskinfo?taskID=8108633
Rawhide buildroot seems broken right now...
(In reply to Jens Petersen from comment #9) > http://koji.fedoraproject.org/koji/taskinfo?taskID=8121137 I just built it in mock! :) Thanks! Just two or three points here - Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - Header files in -devel subpackage, if present. Note: llvm34-doc : /usr/share/doc/llvm34-doc/examples/BrainF/BrainF.h See: http://fedoraproject.org/wiki/Packaging/Guidelines#DevelPackages ---> This is fine. - Package contains BR: python2-devel or python3-devel ---> I think this is fine. There is Buildrequires: python, Is that what is triggering this? ===== MUST items ===== C/C++: [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [x]: Development (unversioned) .so files in -devel subpackage, if present. Note: Unversioned so-files in private %_libdir subdirectory (see attachment). Verify they are not in ld path. ---> Present in -libs subpackage. [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: "BSD (3 clause)", "ISC", "Unknown or generated". 2381 files have unknown license. Detailed output of licensecheck in /home/mukundan/ownCloud/pkg_reviews/llvm34/1161014-llvm34/licensecheck.txt ---> This is fine. [x]: License file installed when any subpackage combination is installed. ---> About this - Can you use the %license macro for this since this is a new package anyway? This is not updated in packaging guidelines yet. https://fedorahosted.org/fpc/ticket/411 [x]: Package must own all directories that it creates. Note: Directories without known owners: /usr/lib64/llvm34 ---> This is fine, I think. llvm34-libs owns this directory. [?]: %build honors applicable compiler flags or justifies otherwise. ---> Please remove -O3 from the flags or add a note. I would prefer to remove this. However, since llvm spec does not say why this was added (I am sure there was a good reason), I am just confused. Thoughts? [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [-]: Package contains desktop file if it is a GUI application. [x]: Development files must be in a -devel package [x]: Package uses nothing in %doc for runtime. [x]: Package consistently uses macros (instead of hard-coded directory names). [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. [x]: Package obeys FHS, except libexecdir and /usr/target. [x]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [-]: Package contains systemd file(s) if in need. [x]: Useful -debuginfo package or justification otherwise. [x]: Package is not known to require an ExcludeArch tag. [x]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 686080 bytes in 4 files. [x]: Package complies to the Packaging Guidelines [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %doc. [x]: Package requires other packages for directories it uses. [x]: Package does not own files or directories owned by other packages. [x]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: %config files are marked noreplace or the reason is justified. [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: No %config files under /usr. [x]: Package do not use a name that already exist [x]: Package is not relocatable. [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: Static libraries in -static or -devel subpackage, providing -devel if present. Note: Package has .a files: llvm34-static. [x]: File names are valid UTF-8. [x]: Packages must not store files under /srv, /opt or /usr/local Python: [-]: Python eggs must not download any dependencies during the build process. [-]: A package which is used by another package via an egg interface should provide egg info. [x]: Package meets the Packaging Guidelines::Python [x]: Binary eggs must be removed in %prep ===== SHOULD items ===== Generic: [x]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: Final provides and requires are sane (see attachments). [x]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in llvm34-doc , llvm34-libs , llvm34-static ---> Discussed in the previous review. No issues. [x]: 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. [x]: 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]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: Dist tag is present (not strictly required in GL). [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Uses parallel make %{?_smp_mflags} macro. [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: llvm34-3.4.2-3.fc22.x86_64.rpm llvm34-devel-3.4.2-3.fc22.x86_64.rpm llvm34-doc-3.4.2-3.fc22.noarch.rpm llvm34-libs-3.4.2-3.fc22.x86_64.rpm llvm34-static-3.4.2-3.fc22.x86_64.rpm llvm34-3.4.2-3.fc22.src.rpm llvm34.x86_64: W: spelling-error %description -l en_US runtime -> run time, run-time, rudiment llvm34.x86_64: W: no-manual-page-for-binary llc-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-ar-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-stress-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-nm-3.4 llvm34.x86_64: W: no-manual-page-for-binary lli-child-target-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-bcanalyzer-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-tblgen-3.4 llvm34.x86_64: W: no-manual-page-for-binary opt-3.4 llvm34.x86_64: W: no-manual-page-for-binary bugpoint-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-symbolizer-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-cov-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-rtdyld-3.4 llvm34.x86_64: W: no-manual-page-for-binary lli-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-diff-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-objdump-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-mcmarkup-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-mc-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-as-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-readobj-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-dwarfdump-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-link-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-extract-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-size-3.4 llvm34.x86_64: W: no-manual-page-for-binary macho-dump-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-dis-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-ranlib-3.4 llvm34-devel.x86_64: W: no-manual-page-for-binary llvm-config-64-3.4 llvm34-libs.x86_64: W: no-documentation llvm34-static.x86_64: W: no-documentation llvm34.src: W: spelling-error %description -l en_US runtime -> run time, run-time, rudiment llvm34.src:124: E: hardcoded-library-path in /usr/lib ---> This complaint is for the sed line in the spec file. No issues. sed -i.orig 's|/lib /usr/lib $lt_ld_extra|%{_libdir} $lt_ld_extra|' configure llvm34.src:178: E: hardcoded-library-path in %{_prefix}/lib/gcc/%{_target_cpu}*/*/include) ---> This, I guess has to be done that way. http://koji.fedoraproject.org/koji/taskinfo?taskID=8121349 llvm34.src: W: patch-not-applied Patch20: clang-3.4-arm-hard-float.patch llvm34.src: W: patch-not-applied Patch22: pr12586.patch 6 packages and 0 specfiles checked; 2 errors, 33 warnings. Rpmlint (installed packages) ---------------------------- # rpmlint llvm34 llvm34-static llvm34-devel llvm34-libs llvm34-doc llvm34.x86_64: W: spelling-error %description -l en_US runtime -> run time, run-time, rudiment llvm34.x86_64: W: no-manual-page-for-binary llc-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-ar-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-stress-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-nm-3.4 llvm34.x86_64: W: no-manual-page-for-binary lli-child-target-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-bcanalyzer-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-tblgen-3.4 llvm34.x86_64: W: no-manual-page-for-binary opt-3.4 llvm34.x86_64: W: no-manual-page-for-binary bugpoint-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-symbolizer-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-cov-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-rtdyld-3.4 llvm34.x86_64: W: no-manual-page-for-binary lli-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-diff-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-objdump-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-mcmarkup-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-mc-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-as-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-readobj-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-dwarfdump-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-link-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-extract-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-size-3.4 llvm34.x86_64: W: no-manual-page-for-binary macho-dump-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-dis-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-ranlib-3.4 llvm34-static.x86_64: W: no-documentation llvm34-devel.x86_64: W: no-manual-page-for-binary llvm-config-64-3.4 llvm34-libs.x86_64: W: no-documentation 5 packages and 0 specfiles checked; 0 errors, 30 warnings. # echo 'rpmlint-done:' Requires -------- llvm34 (rpmlib, GLIBC filtered): libLLVM-3.4.so()(64bit) libc.so.6()(64bit) libdl.so.2()(64bit) libffi.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.4)(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.8)(64bit) libtinfo.so.5()(64bit) libz.so.1()(64bit) llvm34-libs(x86-64) rtld(GNU_HASH) llvm34-static (rpmlib, GLIBC filtered): llvm34-devel(x86-64) llvm34-devel (rpmlib, GLIBC filtered): /bin/sh /usr/sbin/alternatives libc.so.6()(64bit) libdl.so.2()(64bit) libffi-devel libffi.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.4)(64bit) libm.so.6()(64bit) libpthread.so.0()(64bit) libstdc++-devel libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.8)(64bit) libtinfo.so.5()(64bit) libz.so.1()(64bit) llvm34(x86-64) ncurses-devel rtld(GNU_HASH) llvm34-libs (rpmlib, GLIBC filtered): /sbin/ldconfig config(llvm34-libs) libLLVM-3.4.so()(64bit) libLTO.so()(64bit) libc.so.6()(64bit) libdl.so.2()(64bit) libffi.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.4)(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.8)(64bit) libtinfo.so.5()(64bit) libz.so.1()(64bit) libz.so.1(ZLIB_1.2.0)(64bit) rtld(GNU_HASH) llvm34-doc (rpmlib, GLIBC filtered): llvm34 Provides -------- llvm34: llvm34 llvm34(x86-64) llvm34-static: llvm34-static llvm34-static(x86-64) llvm34-devel: llvm34-devel llvm34-devel(x86-64) llvm34-libs: config(llvm34-libs) libLLVM-3.4.so()(64bit) libLTO.so()(64bit) llvm34-libs llvm34-libs(x86-64) llvm34-doc: llvm34-doc Unversioned so-files -------------------- llvm34-libs: /usr/lib64/llvm34/BugpointPasses.so llvm34-libs: /usr/lib64/llvm34/LLVMgold.so llvm34-libs: /usr/lib64/llvm34/libLLVM-3.4.2.so llvm34-libs: /usr/lib64/llvm34/libLLVM-3.4.so llvm34-libs: /usr/lib64/llvm34/libLTO.so Source checksums ---------------- http://llvm.org/releases/3.4.2/llvm-3.4.2.src.tar.gz : CHECKSUM(SHA256) this package : 17038d47069ad0700c063caed76f0c7259628b0e79651ce2b540d506f2f1efd7 CHECKSUM(SHA256) upstream package : 17038d47069ad0700c063caed76f0c7259628b0e79651ce2b540d506f2f1efd7 Generated by fedora-review 0.5.2 (63c24cb) last change: 2014-07-14 Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -b 1161014 Buildroot used: fedora-rawhide-x86_64 Active plugins: Python, Generic, Shell-api, C/C++ Disabled plugins: Java, SugarActivity, fonts, Haskell, Ocaml, Perl, R, PHP, Ruby Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG Thanks, Mukundan (In reply to Mukundan Ragavan from comment #11) > - Package contains BR: python2-devel or python3-devel > > ---> I think this is fine. > > There is Buildrequires: python, Is that what is triggering this? Perhaps. Let me change it to python2-devel to see if that will silence the warning. https://fedoraproject.org/wiki/Packaging:Python#BuildRequires > [x]: License file installed when any subpackage combination is installed. > > ---> About this - > > Can you use the %license macro for this since this is a new package anyway? Okay thanks and I will move the license file to libs too. > [?]: %build honors applicable compiler flags or justifies otherwise. > > ---> Please remove -O3 from the flags or add a note. I would prefer to > remove this. However, since llvm spec does not say why this was added (I am > sure there was a good reason), I am just confused. Thoughts? Okay let me comment it out for now: I wonder if it has caused any problems. I also mailed the committer asking if he can comment on it. > [x]: Fully versioned dependency in subpackages if applicable. > Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in llvm34-doc > , llvm34-libs , llvm34-static > > ---> Discussed in the previous review. No issues. Thanks: summarizing the current versioned reqs are: static -> devel -> base -> libs (as for llvm). > llvm34.src: W: patch-not-applied Patch20: clang-3.4-arm-hard-float.patch > llvm34.src: W: patch-not-applied Patch22: pr12586.patch Removing these. Spec: http://petersen.fedorapeople.org/reviews/llvm34/llvm34.spec SRPM: http://petersen.fedorapeople.org/reviews/llvm34/llvm34-3.4.2-4.fc20.src.rpm - BR python2-devel instead of python (#1161014) - drop -O3 config from llvm.spec for now (#1161014) - use license tag for license file and move license to libs (#1161014) - remove unused clang patches Koji: http://koji.fedoraproject.org/koji/taskinfo?taskID=8122183 Ok this one might actually build ;) Spec: http://petersen.fedorapeople.org/reviews/llvm34/llvm34.spec SRPM: http://petersen.fedorapeople.org/reviews/llvm34/llvm34-3.4.2-5.fc20.src.rpm Koji: http://koji.fedoraproject.org/koji/taskinfo?taskID=8126685 Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - Header files in -devel subpackage, if present. Note: llvm34-doc : /usr/share/doc/llvm34-doc/examples/BrainF/BrainF.h See: http://fedoraproject.org/wiki/Packaging/Guidelines#DevelPackages ---> Already discussed. No problems. - If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %doc. Note: Cannot find LICENSE.TXT in rpm(s) See: http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#License_Text ---> This is a fedora-review problem. %license macro is not implemented everywhere yet. License is installed in /usr/share/license/llvm-libs FPC ticket 411. ===== MUST items ===== C/C++: [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [x]: Development (unversioned) .so files in -devel subpackage, if present. Note: Unversioned so-files in private %_libdir subdirectory (see attachment). Verify they are not in ld path. [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: "BSD (3 clause)", "ISC", "Unknown or generated". 2381 files have unknown license. Detailed output of licensecheck in /home/mukundan/ownCloud/pkg_reviews/llvm34/1161014-llvm34/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [x]: Package requires other packages for directories it uses. Note: No known owner of /usr/share/licenses ---> This is provided by filesystem in rawhide. [x]: Package must own all directories that it creates. Note: Directories without known owners: /usr/lib64/llvm34, /usr/share/licenses [x]: %build honors applicable compiler flags or justifies otherwise. ---> -O3 flag removed. [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [-]: Package contains desktop file if it is a GUI application. [x]: Development files must be in a -devel package [x]: Package uses nothing in %doc for runtime. [x]: Package consistently uses macros (instead of hard-coded directory names). [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. [x]: Package obeys FHS, except libexecdir and /usr/target. [x]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [-]: Package contains systemd file(s) if in need. [x]: Useful -debuginfo package or justification otherwise. [x]: Package is not known to require an ExcludeArch tag. [x]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 686080 bytes in 3 files. [x]: Package complies to the Packaging Guidelines [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: Package does not own files or directories owned by other packages. [x]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: %config files are marked noreplace or the reason is justified. [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: No %config files under /usr. [x]: Package do not use a name that already exist [x]: Package is not relocatable. [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: Static libraries in -static or -devel subpackage, providing -devel if present. Note: Package has .a files: llvm34-static. [x]: File names are valid UTF-8. [x]: Packages must not store files under /srv, /opt or /usr/local Python: [-]: Python eggs must not download any dependencies during the build process. [-]: A package which is used by another package via an egg interface should provide egg info. [x]: Package meets the Packaging Guidelines::Python [x]: Package contains BR: python2-devel or python3-devel [x]: Binary eggs must be removed in %prep ===== SHOULD items ===== Generic: [x]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: Final provides and requires are sane (see attachments). [x]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in llvm34-doc , llvm34-libs , llvm34-static [x]: 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. [x]: 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]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: Dist tag is present (not strictly required in GL). [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Uses parallel make %{?_smp_mflags} macro. [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: llvm34-3.4.2-5.fc22.x86_64.rpm llvm34-devel-3.4.2-5.fc22.x86_64.rpm llvm34-doc-3.4.2-5.fc22.noarch.rpm llvm34-libs-3.4.2-5.fc22.x86_64.rpm llvm34-static-3.4.2-5.fc22.x86_64.rpm llvm34-3.4.2-5.fc22.src.rpm llvm34.x86_64: W: spelling-error %description -l en_US runtime -> run time, run-time, rudiment llvm34.x86_64: W: no-manual-page-for-binary llc-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-ar-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-stress-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-nm-3.4 llvm34.x86_64: W: no-manual-page-for-binary lli-child-target-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-bcanalyzer-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-tblgen-3.4 llvm34.x86_64: W: no-manual-page-for-binary opt-3.4 llvm34.x86_64: W: no-manual-page-for-binary bugpoint-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-symbolizer-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-cov-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-rtdyld-3.4 llvm34.x86_64: W: no-manual-page-for-binary lli-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-diff-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-objdump-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-mcmarkup-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-mc-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-as-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-readobj-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-dwarfdump-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-link-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-extract-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-size-3.4 llvm34.x86_64: W: no-manual-page-for-binary macho-dump-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-dis-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-ranlib-3.4 llvm34-devel.x86_64: W: no-manual-page-for-binary llvm-config-64-3.4 llvm34-libs.x86_64: W: no-documentation llvm34-static.x86_64: W: no-documentation llvm34.src: W: spelling-error %description -l en_US runtime -> run time, run-time, rudiment llvm34.src:118: E: hardcoded-library-path in /usr/lib llvm34.src:172: E: hardcoded-library-path in %{_prefix}/lib/gcc/%{_target_cpu}*/*/include) ---> Already discussed 6 packages and 0 specfiles checked; 2 errors, 31 warnings. Rpmlint (installed packages) ---------------------------- # rpmlint llvm34 llvm34-static llvm34-devel llvm34-libs llvm34-doc llvm34.x86_64: W: spelling-error %description -l en_US runtime -> run time, run-time, rudiment llvm34.x86_64: W: no-manual-page-for-binary llc-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-ar-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-stress-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-nm-3.4 llvm34.x86_64: W: no-manual-page-for-binary lli-child-target-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-bcanalyzer-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-tblgen-3.4 llvm34.x86_64: W: no-manual-page-for-binary opt-3.4 llvm34.x86_64: W: no-manual-page-for-binary bugpoint-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-symbolizer-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-cov-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-rtdyld-3.4 llvm34.x86_64: W: no-manual-page-for-binary lli-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-diff-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-objdump-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-mcmarkup-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-mc-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-as-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-readobj-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-dwarfdump-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-link-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-extract-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-size-3.4 llvm34.x86_64: W: no-manual-page-for-binary macho-dump-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-dis-3.4 llvm34.x86_64: W: no-manual-page-for-binary llvm-ranlib-3.4 llvm34-static.x86_64: W: no-documentation llvm34-devel.x86_64: W: no-manual-page-for-binary llvm-config-64-3.4 llvm34-libs.x86_64: W: no-documentation 5 packages and 0 specfiles checked; 0 errors, 30 warnings. # echo 'rpmlint-done:' Requires -------- llvm34 (rpmlib, GLIBC filtered): libLLVM-3.4.so()(64bit) libc.so.6()(64bit) libdl.so.2()(64bit) libffi.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.4)(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.8)(64bit) libtinfo.so.5()(64bit) libz.so.1()(64bit) llvm34-libs(x86-64) rtld(GNU_HASH) llvm34-static (rpmlib, GLIBC filtered): llvm34-devel(x86-64) llvm34-devel (rpmlib, GLIBC filtered): /bin/sh /usr/sbin/alternatives libc.so.6()(64bit) libdl.so.2()(64bit) libffi-devel libffi.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.4)(64bit) libm.so.6()(64bit) libpthread.so.0()(64bit) libstdc++-devel libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.8)(64bit) libtinfo.so.5()(64bit) libz.so.1()(64bit) llvm34(x86-64) ncurses-devel rtld(GNU_HASH) llvm34-libs (rpmlib, GLIBC filtered): /sbin/ldconfig config(llvm34-libs) libLLVM-3.4.so()(64bit) libLTO.so()(64bit) libc.so.6()(64bit) libdl.so.2()(64bit) libffi.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.4)(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.8)(64bit) libtinfo.so.5()(64bit) libz.so.1()(64bit) libz.so.1(ZLIB_1.2.0)(64bit) rtld(GNU_HASH) llvm34-doc (rpmlib, GLIBC filtered): llvm34 Provides -------- llvm34: llvm34 llvm34(x86-64) llvm34-static: llvm34-static llvm34-static(x86-64) llvm34-devel: llvm34-devel llvm34-devel(x86-64) llvm34-libs: config(llvm34-libs) libLLVM-3.4.so()(64bit) libLTO.so()(64bit) llvm34-libs llvm34-libs(x86-64) llvm34-doc: llvm34-doc Unversioned so-files -------------------- llvm34-libs: /usr/lib64/llvm34/BugpointPasses.so llvm34-libs: /usr/lib64/llvm34/LLVMgold.so llvm34-libs: /usr/lib64/llvm34/libLLVM-3.4.2.so llvm34-libs: /usr/lib64/llvm34/libLLVM-3.4.so llvm34-libs: /usr/lib64/llvm34/libLTO.so Source checksums ---------------- http://llvm.org/releases/3.4.2/llvm-3.4.2.src.tar.gz : CHECKSUM(SHA256) this package : 17038d47069ad0700c063caed76f0c7259628b0e79651ce2b540d506f2f1efd7 CHECKSUM(SHA256) upstream package : 17038d47069ad0700c063caed76f0c7259628b0e79651ce2b540d506f2f1efd7 Generated by fedora-review 0.5.2 (63c24cb) last change: 2014-07-14 Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -b 1161014 Buildroot used: fedora-rawhide-x86_64 Active plugins: Python, Generic, Shell-api, C/C++ Disabled plugins: Java, SugarActivity, fonts, Haskell, Ocaml, Perl, R, PHP, Ruby Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG Hi Jens, I do not have anything else to complain about! :) Package APPROVED! Cheers! Thank you Mukundan for taking time to review this carefully and for good suggestions to improve the packaging. :) I see there is an open RFE bug 1127916 for fedora-review to support %license. New Package SCM Request ======================= Package Name: llvm34 Short Description: Low Level Virtual Machine compiler infrastructure Upstream URL: http://llvm.org/ Owners: petersen Branches: InitialCC: If llvm-3.5 is backported to F21 then I will request a f21 branch later. Git done (by process-git-requests). Thank you again for reviewing the package. http://koji.fedoraproject.org/koji/buildinfo?buildID=593769 (In reply to Jens Petersen from comment #19) > Thank you again for reviewing the package. > > http://koji.fedoraproject.org/koji/buildinfo?buildID=593769 My pleasure! :) Okay llvm-3.5 is now in F21! ;) Package Change Request ====================== Package Name: llvm34 New Branches: f21 Owners: petersen InitialCC: Git done (by process-git-requests). llvm34-3.4.2-5.fc21 has been submitted as an update for Fedora 21. https://admin.fedoraproject.org/updates/llvm34-3.4.2-5.fc21 llvm34-3.4.2-5.fc21 has been pushed to the Fedora 21 stable repository. |