Source Tar
Spec
SRPM
RPM
Build Log
Created template spec file, failed to build until I added the following macros under %files
%{_bindir}/*
%{_mandir}/*/*
Added first changelog entry for release 1. RPMlint reported issues with formatting and spelling which were corrected until no more lint errors were reported.
rush-1.7
Build Log
Originally the second package for this lab was going to be barcode. However, after experiencing a number of errors during build I decided to look at the original SPEC file for the package. It required a number of patches and additional spec file entries I wouldn't have been able to figure out unless I was knowledgeable about the program. Because of this I decided to choose a different package which I could hopefully build and correct without referring to the original package spec.
Rush required a bit more work and investigation compared to httptunnel which was rather simple to package. The first step was to deal with the install-info files. Upon reading the a number of packaging wikis I determined the SPEC file required the following additions:
Requires(post): infoAs well the following additions were required for the %files section in order to handle the locale messages, documentation, and the executable/configuration files. The
Requires(preun): info
%post
/sbin/install-info %{_infodir}/%{name}.info %{_infodir}/dir || :
%preun
if [ $1 = 0 ] ; then
/sbin/install-info --delete %{_infodir}/%{name}.info %{_infodir}/dir || :
fi
%filesAfter these additions RPMlint reported no errors on the SPEC and SRPM. However, on the RPM itself four errors were reported:
%defattr(-,root,root,-)
%doc README
%config %{_sysconfdir}/rush.rc
%config(noreplace) %{_sysconfdir}/rush.rc
%lang(nl) %{_datadir}/locale/nl/LC_MESSAGES/rush.mo
%lang(pl) %{_datadir}/locale/pl/LC_MESSAGES/rush.mo
%lang(uk) %{_datadir}/locale/uk/LC_MESSAGES/rush.mo
%lang(vi) %{_datadir}/locale/vi/LC_MESSAGES/rush.mo
%{_bindir}/*
%{_sbindir}/*
%{_datadir}/rush/rush-po.awk
%{_infodir}/rush.info.gz
rush.i686: E: non-readable /etc/rush.rc 0640L The file can't be read by everybody. If this is expected (for security reasons), contact your rpmlint distributor to get it added to the list of exceptions for your distro (or add it to your local configuration if you installed rpmlint from the source tarball). rush.i686: W: no-manual-page-for-binary rushlast Each executable in standard binary directories should have a man page. rush.i686: W: no-manual-page-for-binary rushwho Each executable in standard binary directories should have a man page. rush.i686: W: no-manual-page-for-binary rush Each executable in standard binary directories should have a man page. 1 packages and 0 specfiles checked; 1 errors, 3 warnings.
These errors appear to be issues with the source itself and a lack of proper documentation and possibly permission settings (rush.rc being unreadable).
No comments:
Post a Comment