Bug 813982 - Review Request: rpmt-py - A Transactional RPM (Python version)
Review Request: rpmt-py - A Transactional RPM (Python version)
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
All Linux
medium Severity medium
: ---
: ---
Assigned To: Nobody's working on this, feel free to take it
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2012-04-18 19:15 EDT by Christos Triantafyllidis
Modified: 2013-05-02 05:07 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2013-05-02 05:07:59 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Christos Triantafyllidis 2012-04-18 19:15:22 EDT
Spec URL: 

rpmt-py is a tool to install, upgrade and erase RPM packages in one
transaction, thus allow package sets with complex dependencies to be
processed at once while keeping the system in a consistent state.

There was a need for such a program, because the classic front-end to
the RPM package manager (rpm) only allows one type of such action
in a transaction.

rpmt-py is part of the Quattor administration toolkit, see
http://quattor.org for more information about rpmt-py and Quattor.

rpmt-py is inspired on RedHat's rpm and based on rpm-python binding library
(itself based on rpmlib).
Comment 1 Jos de Kloe 2013-02-14 10:36:14 EST
here are a first few remarks:

first a maybe ignorant question from my side: what does this package add to the yum system that we already have? Isn't that capable of doing the same? Could you please explain a little.

mock tests run fine on my f18 system:

mock -r fedora-18-x86_64 --rebuild rpmt-py-1.0.8-1.fc18.src.rpm

this creates 3 rpms in  /var/lib/mock/fedora-18-x86_64/result

rpmlint results on these:

$ rpmlint rpmt-py-1.0.8-1.fc18.noarch.rpm
rpmt-py.noarch: W: spelling-error %description -l en_US rpmlib -> rpm lib, rpm-lib, millibar
1 packages and 0 specfiles checked; 0 errors, 1 warnings.

$ rpmlint rpmt-py-1.0.8-1.fc18.src.rpm
rpmt-py.src: W: spelling-error %description -l en_US rpmlib -> rpm lib, rpm-lib, millibar
rpmt-py.src: W: invalid-url Source0: rpmt-py-1.0.8.tar.gz
1 packages and 0 specfiles checked; 0 errors, 2 warnings.

$ rpmlint rpmt-py-selinux-1.0.8-1.fc18.noarch.rpm
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

so all seems fine here.

There is no license file in the package

According to: http://sourceforge.net/projects/quattor/
Applicable licenses seem to be:
    Apache License V2.0
and EU DataGrid Software License

According to:
"If the source package does not include the text of the license(s), the packager should contact upstream and encourage them to correct this mistake."

so please file a request or bug report upstream and refer to it here.

Also according to this section on the same page:

"Dual Licensing Scenarios: If your package is dual licensed (or triple licensed, etc.), the spec must reflect this by using "or" as a separator. Note that this only applies when the contents of the package are actually under a dual license, and not when the package contains items under multiple, distinct, and independent licenses. "

therefore you should mention both licenses in the spec file, separated by "or".

On https://fedoraproject.org/wiki/Packaging:Guidelines
The File Dependencies section states:
"Rpm gives you the ability to depend on files instead of packages. Whenever possible you should avoid file dependencies outside of /etc, /bin, /sbin, /usr/bin, or /usr/sbin."

So in stead of requiring /usr/share/selinux/devel/policyhelp
it might be better to require the selinux-policy-doc package that contains it.
It also is not clear to me why this python module would require a documentation package at runtime.
Could you please explain this? (could be my own ignorance since I am not intimately familiar with selinux, but a few comments on the subject would 
still be apropriate I think).

A, I see now that it actually is mentioned here as well:
so sorry to bother you with it.

In addition, /usr/sbin/semodule and /sbin/restorecon are both part
of the policycoreutils package, so requiring that one in stead would
simplify the Requires(post) line a little.

The section Runtime Dependencies on this page:
"If you are not building an integrated package, then the myapp-selinux package needs to have a dependency on the myapp package."
So I would have expected this line:
Requires:       %{name} = %{version}-%{release}
in the selinux section of the spec file.
Comment 2 Christos Triantafyllidis 2013-05-02 05:07:59 EDT
  As I'm not longer active user of Quattor I'm not sure if this package is still needed (i no longer see it in latest releases).

  I'll close this bug report as NOTABUG for now and we can re-open it later if this is needed.

  Thank you very much for your help and your time for this review, and I'm sorry for not updating it earlier.

Best Regards,

Note You need to log in before you can comment on or make changes to this bug.