Hide Forgot
# rpm -q lz4 lz4-devel lz4-r117-3.fc20.x86_64 lz4-devel-r117-3.fc20.x86_64 # rpmls lz4 -rwxr-xr-x /usr/bin/lz4 -rwxr-xr-x /usr/bin/lz4c lrwxrwxrwx /usr/bin/lz4cat lrwxrwxrwx /usr/lib/liblz4.so.1 -rwxr-xr-x /usr/lib/liblz4.so.1.0.0 drwxr-xr-x /usr/share/doc/lz4 -rw-r--r-- /usr/share/doc/lz4/COPYING -rw-r--r-- /usr/share/doc/lz4/NEWS -rw-r--r-- /usr/share/man/man1/lz4.1.gz -rw-r--r-- /usr/share/man/man1/lz4c.1.gz -rw-r--r-- /usr/share/man/man1/lz4cat.1.gz # rpmls lz4-devel -rw-r--r-- /usr/include/lz4.h -rw-r--r-- /usr/include/lz4hc.h lrwxrwxrwx /usr/lib/liblz4.so drwxr-xr-x /usr/share/doc/lz4-devel -rw-r--r-- /usr/share/doc/lz4-devel/LICENSE -rw-r--r-- /usr/share/doc/lz4-devel/NEWS The shared library belongs into %{_libdir} not /usr/lib on x86_64 and other 64-bit multilib platforms. Hardcoding it as /usr/lib in the spec file is a mistake. Further issues: > License: GPLv2 > %package devel > License: BSD Apparently, the programs are GPLv2+ and not GPLv2, see https://fedoraproject.org/wiki/Packaging:LicensingGuidelines#.22or_later_version.22_licenses and the library is BSD 2-clause, but if the base package includes the library, you need to also mention the BSD licensing if you do the same for the -devel subpackage. https://fedoraproject.org/wiki/Packaging:LicensingGuidelines#License_Clarification > BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot https://fedoraproject.org/wiki/Packaging:Guidelines#BuildRoot_tag > %package devel > Requires: %{name} = %{version}-%{release} https://fedoraproject.org/wiki/Packaging:Guidelines#Requiring_Base_Package > https://kojipkgs.fedoraproject.org//packages/lz4/r117/3.fc21/data/logs/x86_64/build.log > [...] I. -std=c99 -O3 -Wall -W -Wundef [...] https://fedoraproject.org/wiki/Packaging:Guidelines#Compiler_flags > %post devel -p /sbin/ldconfig > %postun devel -p /sbin/ldconfig Not needed for -devel packages and their .so symlinks. Drop these. > %files devel > %defattr (-, root, root, -) https://fedoraproject.org/wiki/Packaging:Guidelines#File_Permissions > %files devel > %doc LICENSE NEWS The same NEWS files is also included in the base package, and this -devel package requires the base package. Unnecessary duplication of files. If the base package also included the LICENSE file for its library licensing, the -devel package would not need to include these extra %doc files.
I've fixed most of the issues raised above, except the compiler flags and BuildRoot ones. Compiler flags are defined in the upstream Makefile. And Buildroot would be required for EPEL builds, no? See scratch build -> http://koji.fedoraproject.org/koji/taskinfo?taskID=7086005 === $ rpmlint SRPMS/lz4-r118-1.fc19.src.rpm lz4.src: W: spelling-error %description -l en_US scalable -> salable, callable, calculable lz4.src: W: spelling-error %description -l en_US multi -> mulch, mufti 1 packages and 0 specfiles checked; 0 errors, 2 warnings. $ $ $ rpmlint RPMS/x86_64/lz4-r118-1.fc19.x86_64.rpm lz4.x86_64: W: spelling-error %description -l en_US scalable -> salable, callable, calculable lz4.x86_64: W: spelling-error %description -l en_US multi -> mulch, mufti 1 packages and 0 specfiles checked; 0 errors, 2 warnings. $ $ $ rpmlint RPMS/x86_64/lz4-devel-r118-1.fc19.x86_64.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings. === Please let me know if this looks good to go into the repositories. Thank you.
> And Buildroot would be required for EPEL builds, no? That's what the linked guidelines say. If you really want to use exactly the same spec file for EPEL (with the caveat that it would also include irrelevant entries about Rawhide and Fedora), it's good practise to either be explicit in the spec file (e.g. with a comment above the BuildRoot tag) or use dist conditionals: https://fedoraproject.org/wiki/Packaging:DistTag#Conditionals > Compiler flags are defined in the upstream Makefile. From the guidelines: [...] Overriding these flags for performance optimizations (for instance, -O3 instead of -O2) is generally discouraged. If you can present benchmarks that show a significant speedup for this particular code, this could be revisited on a case-by-case basis. Adding to and overriding or filtering parts of these flags is permitted if there's a good reason to do so; the rationale for doing so must be documented in the specfile. [...]
(In reply to Michael Schwendt from comment #2) > with a comment above the BuildRoot tag) or use dist conditionals: > https://fedoraproject.org/wiki/Packaging:DistTag#Conditionals Done. Please see: -> http://koji.fedoraproject.org/koji/taskinfo?taskID=7086284 > [...] Overriding these flags for performance optimizations (for instance, > -O3 instead of -O2) is generally discouraged. If you can present benchmarks > that show a significant speedup for this particular code, this could be > revisited on a case-by-case basis. Adding to and overriding or filtering > parts of these flags is permitted if there's a good reason to do so; the > rationale for doing so must be documented in the specfile. [...] Yes, I read the guidelines and CFLAGS is set to $RPM_OPT_FLAGS in the %build section. But upstream Makefile merely adds its definition to the local one see -> https://github.com/Cyan4973/lz4/blob/master/Makefile Thank you.
lz4-r118-1.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/lz4-r118-1.fc19
lz4-r118-1.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/lz4-r118-1.fc20
lz4-r118-1.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/lz4-r118-1.el6
lz4-r118-1.el5 has been submitted as an update for Fedora EPEL 5. https://admin.fedoraproject.org/updates/lz4-r118-1.el5
Package lz4-r118-1.fc20: * should fix your issue, * was pushed to the Fedora 20 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing lz4-r118-1.fc20' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2014-8022/lz4-r118-1.fc20 then log in and leave karma (feedback).
lz4-r119-1.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/lz4-r119-1.fc20
lz4-r119-1.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/lz4-r119-1.fc19
lz4-r119-1.el5 has been submitted as an update for Fedora EPEL 5. https://admin.fedoraproject.org/updates/lz4-r119-1.el5
lz4-r119-1.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/lz4-r119-1.el6
lz4-r119-1.fc19 has been pushed to the Fedora 19 stable repository. If problems still persist, please make note of it in this bug report.
lz4-r119-1.fc20 has been pushed to the Fedora 20 stable repository. If problems still persist, please make note of it in this bug report.
lz4-r119-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.
lz4-r119-1.el5 has been pushed to the Fedora EPEL 5 stable repository. If problems still persist, please make note of it in this bug report.