Bug 813982 - Review Request: rpmt-py - A Transactional RPM (Python version)
Summary: Review Request: rpmt-py - A Transactional RPM (Python version)
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Nobody's working on this, feel free to take it
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-04-18 23:15 UTC by Christos Triantafyllidis
Modified: 2013-05-02 09:07 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-05-02 09:07:59 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Christos Triantafyllidis 2012-04-18 23:15:22 UTC
Spec URL: 
http://ctria.fedorapeople.org/packaging/rpmt-py/rpmt-py.spec
SRPM URLs: 
http://ctria.fedorapeople.org/packaging/rpmt-py/rpmt-py-1.0.8-1.el5.src.rpm
http://ctria.fedorapeople.org/packaging/rpmt-py/rpmt-py-1.0.8-1.el6.src.rpm
http://ctria.fedorapeople.org/packaging/rpmt-py/rpmt-py-1.0.8-1.fc16.src.rpm
http://ctria.fedorapeople.org/packaging/rpmt-py/rpmt-py-1.0.8-1.fc17.src.rpm
http://ctria.fedorapeople.org/packaging/rpmt-py/rpmt-py-1.0.8-1.fc18.src.rpm

Description: 
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 15:36:14 UTC
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:
https://fedoraproject.org/wiki/Packaging:LicensingGuidelines?rd=Packaging/LicensingGuidelines
"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:
https://fedoraproject.org/wiki/SELinux_Policy_Modules_Packaging_Draft?rd=PackagingDrafts/SELinux/PolicyModules
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:
https://fedoraproject.org/wiki/SELinux_Policy_Modules_Packaging_Draft?rd=PackagingDrafts/SELinux/PolicyModules
states:
"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 09:07:59 UTC
Hello,
  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,
Christos


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