Please do not reply directly to this email. All additional comments should be made in the comments box of this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=558061
Jussi Lehtola jussi.lehtola@iki.fi changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jussi.lehtola@iki.fi
--- Comment #1 from Jussi Lehtola jussi.lehtola@iki.fi 2010-01-23 19:39:24 EST --- Hi,
go through the Fedora guidelines, most importantly http://fedoraproject.org/wiki/Packaging/Guidelines http://fedoraproject.org/wiki/Packaging/ReviewGuidelines Additionally to the Packaging Guidelines, there are a bunch of language / application specific guidelines that are linked to in the Packaging Guidelines.
Here are some tricks of the trade: http://fedoraproject.org/wiki/Packaging_tricks http://fedoraproject.org/wiki/Packaging/ScriptletSnippets http://fedoraproject.org/wiki/Common_Rpmlint_issues
***
A few notes:
- Drop the explicit requires, they're not necessary (and are in fact forbidden by the guidelines).
- Do the conversion dos2unix README.txt in %prep (after the %setup line), not in %build.
- Define macros for the major and minor revision, i.e. %global major 2 %global minor 2 and use for example ln -s liblevmar.so.%{major}.%{minor} %{buildroot}%{_libdir}/liblevmar.so.%{major}
- I suggest using the install command: instead of mkdir -p %{buildroot}%{_includedir} %{buildroot}%{_libdir} %{buildroot}%{_bindir} cp levmar.h %{buildroot}%{_includedir} cp sobj/liblevmar.so.2.2 %{buildroot}%{_libdir} cp lmdemo %{buildroot}%{_bindir} you can just run install -D -p -m 755 sobj/liblevmar.so.%{major}.%{minor} %{buildroot}%{_libdir}/liblevmar.so.%{major}.%{minor} install -D -p -m 644 levmar.h %{buildroot}%{_includedir}/levmar.h install -D -p -m 755 lmdemo %{buildroot}%{_bindir}/lmdemo which creates the necessary directores automatically, sets the correct permissions and also preserves time stamps (although this is not strictly necessary).
- Normally subpackages are declared at the beginning of the spec file, after the %description. Please move the declaration of the -devel package to the beginning (just before %prep).
- The -devel requirement should be Requires: liblevmar = %{version}-%{release}
- I'm not really sure if the demo should be in the main package; I think it would make more sense in -devel.