[Bug 612581] Review Request: spacewalk-backend - Common programs needed to be installed on the Spacewalk servers/proxies

bugzilla at redhat.com bugzilla at redhat.com
Thu Aug 5 13:05:16 UTC 2010


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=612581

--- Comment #5 from Stanislav Ochotnicky <sochotni at redhat.com> 2010-08-05 09:05:15 EDT ---
NEEDSWORK: rpmlint must be run on every package. The output should be posted in
the review.

I am not going to post whole rpmlint output because it's huge with lot
of repeated stuff.

spacewalk-backend.noarch: W: incoherent-version-in-changelog 1.1.29-2
['1.1.29-22.fc13', '1.1.29-22']
This can be fixed easily....

Several:
spacewalk-backend.noarch: W: manual-page-warning
/usr/share/man/man8/spacewalk-cfg-get.8.gz 1: warning: `\"' not defined
Not sure how to fix that, but it would be good to actually do it.

spacewalk-backend-server.noarch: W: dangerous-command-in-%pre install
spacewalk-backend-server.noarch: W: dangerous-command-in-%post rm

This is new package, there is no need to do migrate secret key. Please
try to get rid of those pre/post install/rm commands. Whole %pre
section seems not needed, and also those remove commands on rhnSecret.py

If you really have to keep them in, at least put them in ifdefs so
that problematic parts won't be run on Fedoras.

spacewalk-backend-tools.noarch: W: no-manual-page-for-binary update-packages
spacewalk-backend-tools.noarch: W: no-manual-page-for-binary
spacewalk-repo-sync
spacewalk-backend-tools.noarch: W: no-manual-page-for-binary
rhn-entitlement-report
spacewalk-backend-tools.noarch: W: no-manual-page-for-binary
spacewalk-update-signatures

Contact upstream (should be pretty easy :-) ) and provide man pages for
these binaries.


OK: The package must be named according to the Package Naming Guidelines .
OK: The spec file name must match the base package %{name}, in the format
%{name}.spec unless your package has an exemption.  .
OK (problems explained): The package must meet the Packaging Guidelines .
OK: The package must be licensed with a Fedora approved license and meet the
Licensing Guidelines .
OK: The License field in the package spec file must match the actual license.
OK: 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 must be included in %doc.
OK: All independent sub-packages have License of their own (if it exists)
OK: The spec file must be written in American English.
OK: The spec file for the package MUST be legible.
OK: The sources used to build the package must match the upstream source, as
provided in the spec URL. Reviewers should use md5sum for this task. If no
upstream URL can be specified for this package, please see the Source URL
Guidelines for how to deal with this.
OK: The package MUST successfully compile and build into binary rpms on at
least one primary architecture.
NEEDSWORK: All build dependencies must be listed in BuildRequires, except for
any that are listed in the exceptions section of the Packaging Guidelines ;
inclusion of those as BuildRequires is optional. Apply common sense.

-libs sub-package has BR on python-devel. Better use python2-devel
 Also use proper macros to define python_sitearch on F12/RHEL-5

Requires: /etc/rhn doesn't seem to work for me:
repoquery --enablerepo=rawhide --whatprovides /etc/rhn returns nothing
and none of rpms generated by this SRPM provides this directory
either. Perhaps I am completely wrong, so please explain.

I also don't think Requires(pre) does what you think it does. Usually
Requires(pre) is accompanied with Requires:. When you have
"Requires(pre): httpd" it means that you need to have httpd during
installation phase and its transaction before
spacewalk-backend. However by using (pre), you are saying you don't
need this package to actually work/run. That means httpd package could
be uninstalled after installing spacewalk and no dependency would
prevent this. Solution: add also "Requires: httpd", leaving
"Requires(pre): httpd" as is. You have several R(pre) uses in the spec
file so re-check all of them.

OK: Packages must NOT bundle copies of system libraries.
OK: A package must own all directories that it creates. If it does not create a
directory that it uses, then it should require a package which does create that
directory.
OK: A Fedora package must not list a file more than once in the spec file's
%files listings.
OK: Permissions on files must be set properly. Executables should be set with
executable permissions, for example. Every %files section must include a
%defattr(...) line.
OK: Each package must consistently use macros.
OK: The package must contain code, or permissable content.
NA: Large documentation files must go in a -doc subpackage. (The definition of
large is left up to the packager's best judgement, but is not restricted to
size. Large can refer to either size or quantity).
NA: If a package includes something as %doc, it must not affect the runtime of
the application. To summarize: If it is in %doc, the program must run properly
if it is not present.
OK: Header files must be in a -devel package.
NA: Static libraries must be in a -static package.
NA: If a package contains library files with a suffix (e.g. libfoo.so.1.1),
then library files that end in .so (without suffix) must go in a -devel
package.
NA: In the vast majority of cases, devel packages must require the base package
using a fully versioned dependency: Requires: %{name} = %{version}-%{release}
NA: Packages must NOT contain any .la libtool archives, these must be removed
in the spec if they are built.
NA: Packages containing GUI applications must include a %{name}.desktop file,
and that file must be properly installed with desktop-file-install in the
%install section. If you feel that your packaged GUI application does not need
a .desktop file, you must put a comment in the spec file with your explanation.
OK (commented): Packages must not own files or directories already owned by
other packages.
OK: All filenames in rpm packages must be valid UTF-8.


Other:
 * use %global instead of %define (see
https://fedoraproject.org/wiki/Packaging/Guidelines#.25global_preferred_over_.25define)
 * instead of %{_prefix}/share/rhn use %{_datadir}/rhn
 * to call python use %{__python} macro (in %post server, in case you
 won't remove it)
 * I guess this was supposed to be replaced? "XXX To be determined if the
proper location is under backend"
 * Upstream provides one tarball, yet this spec file has 18 sub-packages.
Wouldn't it be easier to just create one monolithic package? Or get upstream to
split releases into smaller tarballs and create small package for each.



I might have more comments later because the spec file is quite big so it's
easy to miss things.

-- 
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the package-review mailing list