Bug 473476

Summary: Review Request: trytond - Server for the Tryton application framework
Product: [Fedora] Fedora Reporter: Dan Horák <dan>
Component: Package ReviewAssignee: Conrad Meyer <cse.cem+redhatbugz>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, notting
Target Milestone: ---Flags: cse.cem+redhatbugz: fedora-review+
kevin: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-12-18 10:57:33 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 473475, 474188    
Bug Blocks:    
Attachments:
Description Flags
Review. none

Description Dan Horák 2008-11-28 18:44:21 UTC
Spec URL: http://fedora.danny.cz/tryton/trytond.spec
SRPM URL: http://fedora.danny.cz/tryton/trytond-1.0.0-1.fc11.src.rpm

Description:
Tryton is a three-tiers high-level general purpose application framework
written in Python and use PostgreSQL as database engine. It is the core base
of an Open Source ERP. It provides modularity, scalability and security.

The core of Tryton (also called Tryton kernel) provides all the necessary
functionalities for a complete application framework: data persistence (i.e
an ORM with extensive modularity), users management (authentication, fine
grained control for data access, handling of concurrent access of resources),
workflow and report engines, web services and internationalisation. Thus
constituting a complete application platform which can be used for any
relevant purpose.

Comment 1 Dan Horák 2008-12-01 20:21:11 UTC
Updated Spec URL: http://fedora.danny.cz/tryton/trytond.spec
Updated SRPM URL: http://fedora.danny.cz/tryton/trytond-1.0.1-1.fc11.src.rpm

ChangeLog:
* Mon Dec  1 2008 Dan Horák <dan[at]danny.cz> 1.0.1-1
- update to upstream version 1.0.1

* Fri Nov 28 2008 Dan Horák <dan[at]danny.cz> 1.0.0-2
- keep modules in %%python_sitelib after a discussion with upstream, user
  written and non packaged modules will be symlinked there

Koji scratch build:
https://koji.fedoraproject.org/koji/taskinfo?taskID=967947

Comment 2 Dan Horák 2008-12-02 17:58:56 UTC
Updated Spec URL: http://fedora.danny.cz/tryton/trytond.spec
Updated SRPM URL: http://fedora.danny.cz/tryton/trytond-1.0.2-1.fc11.src.rpm

ChangeLog:
* Tue Dec  2 2008 Dan Horák <dan[at]danny.cz> 1.0.1-2
- add dependency on python-openoffice

Koji scratch build:
https://koji.fedoraproject.org/koji/taskinfo?taskID=971499

Comment 3 Dan Horák 2008-12-16 10:44:56 UTC
Updated SRPM URL: http://fedora.danny.cz/tryton/trytond-1.0.1-2.fc11.src.rpm

Comment 4 Conrad Meyer 2008-12-16 11:29:39 UTC
Created attachment 327089 [details]
Review.

See attached for my initial review.

Comment 5 Dan Horák 2008-12-16 12:09:08 UTC
My comments to the BADs and ???s are prefixed with "DH:"

- [ BAD ] MUST: rpmlint must be run on every package. The output should
be posted in the review.
trytond.noarch: W: non-standard-uid /etc/trytond.conf tryton
trytond.noarch: W: non-standard-gid /etc/trytond.conf tryton
trytond.noarch: E: non-readable /etc/trytond.conf 0640

DH: trytond.conf contains login information for the DB server including a password, so the file shouldn't be world-readable

trytond.noarch: W: non-standard-uid /var/lib/trytond tryton
trytond.noarch: W: non-standard-gid /var/lib/trytond tryton
trytond.noarch: E: non-standard-dir-perm /var/lib/trytond 0750
trytond.noarch: W: non-standard-uid /var/log/trytond tryton
trytond.noarch: W: non-standard-gid /var/log/trytond tryton
trytond.noarch: E: non-standard-dir-perm /var/log/trytond 0750

I think the above are ignorable.

DH: yes, these are normal when using an own user

trytond.noarch: W: log-files-without-logrotate /var/log/trytond

DH: it is OK, because the deamon includes its own log rotation mechanism

trytond.noarch: W: incoherent-subsys /etc/rc.d/init.d/trytond ${prog}

DH: it is OK, because the default Fedora initscript template is used and the subsys is set via the $prog variable


- [ BAD ] MUST: The package must be named according to the Package Naming
Guidelines.
I think the name should have a python- prefix. See:
http://fedoraproject.org/wiki/Packaging/NamingGuidelines#Addon_Packages_.28python_modules.29

DH: I must disagree, trytond is a standalone application, it only uses python module in its implementation and the module cannot be used by external applications


- [ ??? ] MUST: 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. Refer to the Guidelines for
examples.

I think you should Requires: chkconfig which owns /etc/init.d. (But I
guess this package isn't really removable on Fedora anyways so I'm
not considering this a blocker.

DH: /etc/rc.d/init.d (what is the primary location) is owned by "initscripts" and you can't install a system without them and AFAICT it is fully compliant with https://fedoraproject.org/wiki/Packaging/SysVInitScript

- [ ??? ] SHOULD: The reviewer should test that the package functions as
described. A package should not segfault instead of running, for example.

Can I have an example of how to test this, please?

DH: you need a running PostgreSQL server somewhere, a DB user with the permission to create databases and set the values in /etc/trytond.conf appropriately, you really need to configure it manually

- [ ??? ] SHOULD: If the package has file dependencies outside of /etc,
/bin, /sbin, /usr/bin, or /usr/sbin consider requiring the package which
provides the file instead of the file itself. Please see File Dependencies
in the Guidelines for further information.

DH: there are no file dependencies in the package

Comment 6 Conrad Meyer 2008-12-16 12:20:56 UTC
(In reply to comment #5)
> My comments to the BADs and ???s are prefixed with "DH:"
> 
> - [ BAD ] MUST: rpmlint must be run on every package. The output should
> be posted in the review.
> trytond.noarch: W: non-standard-uid /etc/trytond.conf tryton
> trytond.noarch: W: non-standard-gid /etc/trytond.conf tryton
> trytond.noarch: E: non-readable /etc/trytond.conf 0640
> 
> DH: trytond.conf contains login information for the DB server including a
> password, so the file shouldn't be world-readable
> 
> trytond.noarch: W: non-standard-uid /var/lib/trytond tryton
> trytond.noarch: W: non-standard-gid /var/lib/trytond tryton
> trytond.noarch: E: non-standard-dir-perm /var/lib/trytond 0750
> trytond.noarch: W: non-standard-uid /var/log/trytond tryton
> trytond.noarch: W: non-standard-gid /var/log/trytond tryton
> trytond.noarch: E: non-standard-dir-perm /var/log/trytond 0750
> 
> I think the above are ignorable.
> 
> DH: yes, these are normal when using an own user
> 
> trytond.noarch: W: log-files-without-logrotate /var/log/trytond
> 
> DH: it is OK, because the deamon includes its own log rotation mechanism
> 
> trytond.noarch: W: incoherent-subsys /etc/rc.d/init.d/trytond ${prog}
> 
> DH: it is OK, because the default Fedora initscript template is used and the
> subsys is set via the $prog variable

OK.

> - [ BAD ] MUST: The package must be named according to the Package Naming
> Guidelines.
> I think the name should have a python- prefix. See:
> http://fedoraproject.org/wiki/Packaging/NamingGuidelines#Addon_Packages_.28python_modules.29
> 
> DH: I must disagree, trytond is a standalone application, it only uses python
> module in its implementation and the module cannot be used by external
> applications

I agree that it as a standalone application -- maybe the python module can be installed in a subpackage python-%{name}? If you are absolutely sure it cannot be used by external applications I am ok with the current name.

> - [ ??? ] MUST: 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. Refer to the Guidelines for
> examples.
> 
> I think you should Requires: chkconfig which owns /etc/init.d. (But I
> guess this package isn't really removable on Fedora anyways so I'm
> not considering this a blocker.
> 
> DH: /etc/rc.d/init.d (what is the primary location) is owned by "initscripts"
> and you can't install a system without them and AFAICT it is fully compliant
> with https://fedoraproject.org/wiki/Packaging/SysVInitScript

OK.

> - [ ??? ] SHOULD: The reviewer should test that the package functions as
> described. A package should not segfault instead of running, for example.
> 
> Can I have an example of how to test this, please?
> 
> DH: you need a running PostgreSQL server somewhere, a DB user with the
> permission to create databases and set the values in /etc/trytond.conf
> appropriately, you really need to configure it manually
> 
> - [ ??? ] SHOULD: If the package has file dependencies outside of /etc,
> /bin, /sbin, /usr/bin, or /usr/sbin consider requiring the package which
> provides the file instead of the file itself. Please see File Dependencies
> in the Guidelines for further information.
> 
> DH: there are no file dependencies in the package

Sorry, misread the SHOULD item.

APPROVED.

Comment 7 Dan Horák 2008-12-16 12:43:10 UTC
(In reply to comment #6)
> (In reply to comment #5)
> 
> > - [ BAD ] MUST: The package must be named according to the Package Naming
> > Guidelines.
> > I think the name should have a python- prefix. See:
> > http://fedoraproject.org/wiki/Packaging/NamingGuidelines#Addon_Packages_.28python_modules.29
> > 
> > DH: I must disagree, trytond is a standalone application, it only uses python
> > module in its implementation and the module cannot be used by external
> > applications
> 
> I agree that it as a standalone application -- maybe the python module can be
> installed in a subpackage python-%{name}? If you are absolutely sure it cannot
> be used by external applications I am ok with the current name.
>

Yes, I am sure :-)

Thanks for the review.

Comment 8 Dan Horák 2008-12-16 12:44:25 UTC
New Package CVS Request
=======================
Package Name: trytond
Short Description: Server for the Tryton application framework
Owners: sharkcz
Branches: F-9 F-10 EL-5

Comment 9 Kevin Fenzi 2008-12-17 21:46:35 UTC
cvs done.

Comment 10 Dan Horák 2008-12-18 10:57:33 UTC
Imported and built.