Bug 491980 - Review Request: bauble - Biodiversity collection manager
Review Request: bauble - Biodiversity collection manager
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Pierre-YvesChibon
Fedora Extras Quality Assurance
: Reopened
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2009-03-24 16:00 EDT by Simon
Modified: 2009-11-16 02:38 EST (History)
4 users (show)

See Also:
Fixed In Version: 0.9.5-2.fc11
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-11-15 10:47:04 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
pingou: fedora‑review+
kevin: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Simon 2009-03-24 16:00:44 EDT
Spec URL:
http://cassmodiah.fedorapeople.org/python-bauble-0.8.6/python-bauble.spec


SRPM URL:
http://cassmodiah.fedorapeople.org/python-bauble-0.8.6/python-bauble-0.8.6-1.fc10.src.rpm


Koji build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=1257142


Description:
Bauble is a software application to help you manage a collection 
of botanical specimens. It is intended to be used by botanic gardens, 
herbaria, arboreta, etc. to manage their collection information. 
It is a open, free, cross-platform alternative to 
BG-Base and similar software.
Features:

 * Bauble is designed to be simple, 
   elegant and intuitive.
 * Bauble can use different database backends 
   and is tested against SQLite and PostgreSQL.
 * Bauble can generate reports through an XSL formatter backend.
 * Bauble is transaction safe.
 * Bauble can export data in CSV or Access to Biological Collection Data (ABCD)
   format. In the future we hope to support other standard formats such as
   DarwinCore, ITF2, BioCASE, TAPIR, etc.
 * Bauble supports tagging. You can tag any arbitrary data stored in a Bauble
   managed database with arbitrary names.

This Version comes with SQLite support. You need to install
 * the package "MySQL-python" for MySQL-support
 * the package "python-psycopg2" for PostgreSQL-support


RPMLINT:
rpmlint is silent :-)
Comment 1 Simon 2009-03-26 04:27:16 EDT
I think the correct name of this is bauble instead of python-bauble, because it is a application written in python and it isn't a python module

https://fedoraproject.org/wiki/Packaging/NamingGuidelines#Addon_Packages_.28python_modules.29

i will rename it, in the next process of "issues killing".
Comment 2 Simon 2009-03-26 07:49:51 EDT
SPEC:
http://cassmodiah.fedorapeople.org/bauble-0.8.6/bauble.spec

SRPM:
http://cassmodiah.fedorapeople.org/bauble-0.8.6/bauble-0.8.6-2.fc10.src.rpm

- Rename from python-bauble to bauble, because it is not a python module
- Remove srcname definiton because name and srcname are the same after renaming back to the original name
- Remove debug nil definition (don't know why i added it)s
- Correct python_sitearch definition
- Correct License Tag to GPLv2+
Comment 3 Pierre-YvesChibon 2009-04-06 05:54:19 EDT
It might be nice to make the license tag clear:

the file in /usr/bin says:
> # This program is free software; you can redistribute it and/or modify
> # it under the terms of the GNU General Public License as published by
> # the Free Software Foundation; either version 2 of the License, or
> # (at your option) any later version.

the file README says:
> All code contained as part of the Buable package is licenced under the GNU GPL.

the LICENSE shipped is:
>		    GNU GENERAL PUBLIC LICENSE
>		       Version 2, June 1991

the PKG-INFO file says:
> License: GPL

Please solve this question, the rest of the package is clean and I will approve it once the license issue is solved.
Comment 4 Simon 2009-04-29 13:48:21 EDT
https://answers.launchpad.net/bauble/+question/66622

mh, 23 days without response... We should ask spot, or what dou you mean?
Comment 5 Tom "spot" Callaway 2009-04-29 17:43:21 EDT
when in doubt, trust the code. (With GPL licensing version, you can never go off what is in COPYING/LICENSE. The GPL/LGPL are special like that. The long explanation is here: http://fedoraproject.org/wiki/Licensing/FAQ#How_do_I_figure_out_what_version_of_the_GPL.2FLGPL_my_package_is_under.3F)

So, based on what I see in Comment #3 (I have not looked at the code, I'm assuming that Pierre got it right), the correct license tag would be:

License: GPLv2+

Which... is what Simon used. :)
Comment 6 Pierre-YvesChibon 2009-04-30 16:09:42 EDT
Taking into account spot's comment:

Review:
+ package builds koji Build => http://koji.fedoraproject.org/koji/taskinfo?taskID=1279214
+ rpmlint is silent for SRPM and for RPM.
+ source files match upstream url
98aaaa80c146fa3bbf8117b0ea2edef7 bauble-0.8.6-1.tar.bz2
+ package meets naming and packaging guidelines.
+ specfile is properly named, is cleanly written
+ Spec file is written in American English.
+ Spec file is legible.
+ dist tag is present.
+ build root is correct.
+ license is open source-compatible.
+ License text is included in package.
+ %doc is present.
! BuildRequires are proper. (see below)
+ %clean is present.
+ package installed properly.
+ Macro use appears rather consistent.
+ Package contains code, not content.
+ no headers or static libraries.
+ no .pc file present.
+ no -devel subpackage
+ no .la files.
+ translations are available
+ Does owns the directories it creates.
+ no scriptlets present.
+ no duplicates in %files.
+ file permissions are appropriate.
+ Package bauble-0.8.6-2.fc11.noarch =>
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: /usr/bin/env /usr/bin/python python(abi) = 2.6
+ GUI App
+ Desktop file present and installed according to the guidelines

------------------

I saw in the install.py this:
> install_requires=["SQLAlchemy>=0.4.4,<0.5b1",
For your information Fedora has :
0.4.8-1.fc10 
0.5.2-2.fc11

This is the last point before I approve this package, do you have any way to check if it works in F11 ?
Comment 7 Simon 2009-05-10 11:21:37 EDT
bauble doesn't work in F11
I contacted upstream. 


$ bauble 
WARNING: ConnectionManager: No module named psycopg2
WARNING: ConnectionManager: No module named MySQLdb

(bauble:5155): libglade-WARNING **: Error loading image: Datei »/usr/lib/python2.6/site-packages/bauble/bauble_logo.png« konnte nicht geöffnet werden: Datei oder Verzeichnis nicht gefunden

(bauble:5155): libglade-WARNING **: could not convert string to type `GdkPixbuf' for property `pixbuf'
/usr/lib/python2.6/site-packages/bauble/__init__.py:292: SADeprecationWarning: The 'transactional' argument to sessionmaker() is deprecated; use autocommit=True|False instead.
  Session = sessionmaker(bind=engine, autoflush=False,transactional=True)
pluginmgr.py(536): Could not import the bauble.plugins.report module.

__init__() got an unexpected keyword argument 'private'
pluginmgr.py(537): Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/bauble/pluginmgr.py", line 532, in _find_plugins
    mod = __import__(name, globals(), locals(), [name], -1)
  File "/usr/lib/python2.6/site-packages/bauble/plugins/report/__init__.py", line 28, in <module>
    from bauble.plugins.tag import Tag
  File "/usr/lib/python2.6/site-packages/bauble/plugins/tag/__init__.py", line 245, in <module>
    backref='tag', private=True)},
  File "/usr/lib/python2.6/site-packages/sqlalchemy/orm/__init__.py", line 419, in relation
    return RelationProperty(argument, secondary=secondary, **kwargs)
TypeError: __init__() got an unexpected keyword argument 'private'

pluginmgr.py(536): Could not import the bauble.plugins.report.default module.

Table 'tag' is already defined for this MetaData instance.  Specify 'useexisting=True' to redefine options and columns on an existing Table object.
pluginmgr.py(537): Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/bauble/pluginmgr.py", line 532, in _find_plugins
    mod = __import__(name, globals(), locals(), [name], -1)
  File "/usr/lib/python2.6/site-packages/bauble/plugins/report/__init__.py", line 28, in <module>
    from bauble.plugins.tag import Tag
  File "/usr/lib/python2.6/site-packages/bauble/plugins/tag/__init__.py", line 202, in <module>
    Column('tag', Unicode(64), unique=True, nullable=False))
  File "/usr/lib/python2.6/site-packages/sqlalchemy/schema.py", line 104, in __call__
    "columns on an existing Table object." % key)
InvalidRequestError: Table 'tag' is already defined for this MetaData instance.  Specify 'useexisting=True' to redefine options and columns on an existing Table object.

pluginmgr.py(536): Could not import the bauble.plugins.tag module.

Table 'tag' is already defined for this MetaData instance.  Specify 'useexisting=True' to redefine options and columns on an existing Table object.
pluginmgr.py(537): Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/bauble/pluginmgr.py", line 532, in _find_plugins
    mod = __import__(name, globals(), locals(), [name], -1)
  File "/usr/lib/python2.6/site-packages/bauble/plugins/tag/__init__.py", line 202, in <module>
    Column('tag', Unicode(64), unique=True, nullable=False))
  File "/usr/lib/python2.6/site-packages/sqlalchemy/schema.py", line 104, in __call__
    "columns on an existing Table object." % key)
InvalidRequestError: Table 'tag' is already defined for this MetaData instance.  Specify 'useexisting=True' to redefine options and columns on an existing Table object.
Comment 8 Simon 2009-06-01 12:10:13 EDT
thx for your review Pierre, 

I tried to contact upstream more than twice. no reaction..
I haven't the elan to solve for this issue. Let's close this.
Comment 9 Pierre-YvesChibon 2009-06-01 14:15:32 EDT
It's a pity but I understand.

If you ever manage to get upstream in touch and able to make Bauble working on the latest version of Fedora I will be happy to re-do the review :)
Comment 10 Simon 2009-06-30 02:32:45 EDT
Pierre, I think I can do it with the new version 0.9.1
I will do an update in this week and post the links, of course.

Let's see
Comment 11 Pierre-YvesChibon 2009-07-01 03:13:33 EDT
Could you upload a srpm ?
Comment 12 Simon 2009-07-01 14:18:11 EDT
first i have to build it...
ehm, i have the same error as in "bashstyle"

i have to look at the weekend. "in" the week it's hard because i have a time-consuming job
Comment 13 Simon 2009-07-13 05:34:08 EDT
okay, the buildsystem requires X.
This is not a nice thing.

I asked upstream to remove it.
If there is no answer between the next 2 week, I will patch it (and send patch to upstream of course)
Bauble 0.9.1 seems to work on F11 and rawhide....
Comment 15 Simon 2009-07-25 07:59:57 EDT
will be obsolete in 0.9.3
Comment 16 Pierre-YvesChibon 2009-07-25 08:34:58 EDT
I will review 0.9.3 then (if you don't mind) :-)
Comment 17 Simon 2009-07-25 11:47:42 EDT
why?
i don't know when it release. 0.9.2 is a fresh release. not older than a week!
Comment 18 Pierre-YvesChibon 2009-07-28 15:00:56 EDT
Review:
+ package builds 
+ rpmlint is silent for SRPM and for RPM.
+ source files match upstream url
$ sha1sum SOURCES/bauble-0.9.2.tar.bz2 
c733a41e6654e4107e404ff8911745ea70f316e3  SOURCES/bauble-0.9.2.tar.bz2
$ sha1sum bauble-0.9.2.tar.bz2 
c733a41e6654e4107e404ff8911745ea70f316e3  bauble-0.9.2.tar.bz2
+ package meets naming and packaging guidelines.
+ specfile is properly named, is cleanly written
+ Spec file is written in American English.
+ Spec file is legible.
+ dist tag is present.
+ build root is correct.
+ license is open source-compatible.
+ License text is included in package.
+ %doc is present.
! BuildRequires are proper. (see below)
+ %clean is present.
+ package installed properly.
+ Macro use appears rather consistent.
+ Package contains code, not content.
+ no headers or static libraries.
+ no .pc file present.
+ no -devel subpackage
+ no .la files.
+ translations are available
+ Does owns the directories it creates.
+ no scriptlets present.
+ no duplicates in %files.
+ file permissions are appropriate.
+ Package bauble-0.8.6-2.fc11.noarch =>
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: /usr/bin/env /usr/bin/python python(abi) = 2.6
+ GUI App
+ Desktop file present and installed according to the guidelines


My only problem is to make it working.
I start it, it asks to create a new connection, I create one named test, I check the box "Use default filename" in SQLite, it says "The database you have connected to is empty" and crashes with this error:

$ bauble
connmgr.py(633): KeyError: 'default'
WARNING: EmptyDatabaseError
pluginmgr.py(529): Could not import the bauble.plugins.picasa module.

No module named gdata.photos.service
[pierrey@red rpmbuild]$ bauble
WARNING: EmptyDatabaseError
pluginmgr.py(529): Could not import the bauble.plugins.picasa module.

No module named gdata.photos.service

Any idea ?

Also when I click on 'Browse' to select a file to connect to, the cancel button crash with this error:

connmgr.py(633): KeyError: 'default'
/usr/lib/python2.6/site-packages/bauble/connmgr.py:642: GtkWarning: gdk_x11_atom_to_xatom_for_display: assertion `atom != GDK_NONE' failed
  r = d.run()
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/bauble/connmgr.py", line 643, in on_activate_browse_button
    self.file_entry.set_text(d.get_filename())
TypeError: GtkEntry.set_text() argument 1 must be string, not None


I think some patch are still needed :-)
Comment 19 Simon 2009-08-02 08:49:03 EDT
> pluginmgr.py(529): Could not import the bauble.plugins.picasa module.
> Any idea ?
python-gdata.noarch : A Python module for accessing online Google services
"Requires: python-gdata" is missing, but it works without it, so i can't understand why it should crash.




> connmgr.py(633): KeyError: 'default'
> /usr/lib/python2.6/site-packages/bauble/connmgr.py:642: GtkWarning:
> gdk_x11_atom_to_xatom_for_display: assertion `atom != GDK_NONE' failed
>   r = d.run()
> Traceback (most recent call last):
>   File "/usr/lib/python2.6/site-packages/bauble/connmgr.py", line 643, in
> on_activate_browse_button
>     self.file_entry.set_text(d.get_filename())
> TypeError: GtkEntry.set_text() argument 1 must be string, not None
CLOSED WORKSFORME :-)

> I think some patch are still needed :-)  
really???
Comment 20 Pierre-YvesChibon 2009-08-04 06:41:55 EDT
after yum install python-gdata I got a new bug:

$ bauble
connmgr.py(633): KeyError: 'default'
WARNING: EmptyDatabaseError
Traceback (most recent call last):
  File "/usr/bin/bauble", line 24, in <module>
    bauble.main()
  File "/usr/lib/python2.6/site-packages/bauble/__init__.py", line 249, in main
    pluginmgr.load()
  File "/usr/lib/python2.6/site-packages/bauble/pluginmgr.py", line 104, in load
    found, errors = _find_plugins(path)
  File "/usr/lib/python2.6/site-packages/bauble/pluginmgr.py", line 537, in _find_plugins
    mod_plugin = mod.plugin()
  File "/usr/lib/python2.6/site-packages/bauble/plugins/report/__init__.py", line 625, in plugin
    from bauble.plugins.report.template import TemplateFormatterPlugin
  File "/usr/lib/python2.6/site-packages/bauble/plugins/report/template/__init__.py", line 8, in <module>
    from mako.template import Template
ImportError: No module named mako.template


Still when I try to create the database using "Use default filename"
Comment 21 Pierre-YvesChibon 2009-08-19 03:29:03 EDT
with python-mako-0.2.4-2.fc11.noarch the connection to the database works

However the export to XML produces an error:
/usr/lib/python2.6/site-packages/bauble/plugins/imex/xml.py:68: GtkWarning: gtk_file_chooser_button_set_property: Choosers of type `GtkFileChooserButton` do not support selecting multiple files.
  file_chooser.set_select_multiple(False)
xml.py(83): on_dialog_response(/home/pierrey, True)
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/bauble/plugins/imex/xml.py", line 85, in on_dialog_response
    self.__export_task(filename, one_file)
  File "/usr/lib/python2.6/site-packages/bauble/plugins/imex/xml.py", line 95, in __export_task
    for table_name, table in tables.iteritems():
NameError: global name 'tables' is not defined

Export to csv works fine
Comment 22 Simon 2009-09-14 14:54:40 EDT
Back from vacation after 4,5 weeks.
Thank you very much for your help. new package:

SPEC: http://cassmodiah.fedorapeople.org/bauble-0.9.4/bauble.spec
SRPM: http://cassmodiah.fedorapeople.org/bauble-0.9.4/bauble-0.9.4-1.fc11.src.rpm
Comment 24 Pierre-YvesChibon 2009-10-18 08:03:41 EDT
rpmbuild -ba bauble.spec 
[...]
error: Bad file: ~/rpmbuild/SOURCES/bauble.desktop: No such file or directory

while rpmbuild --rebuild bauble-0.9.5-1.fc11.src.rpm  works fine

Anyway

$sha1sum ../SOURCES/bauble-0.9.5.tar.gz 
157c6d256a7d7ace29652be8f72d406e343aab8a  ../SOURCES/bauble-0.9.5.tar.gz
$ sha1sum ~/Download/bauble-0.9.5.tar.gz 
157c6d256a7d7ace29652be8f72d406e343aab8a  ~/Download/bauble-0.9.5.tar.gz

* Sources are ok

* The cancel button of the browse window to select the filename the first time crash the application completely.

* If I add a new connection (the first one) and use the "Use default filename" option nothing is happening when I click connect (no window, no output on the console...)

The package is fine and ready for approval but I cannot approve it as long as I cannot use/test it :-)
Comment 25 Simon 2009-10-18 09:52:17 EDT
http://cassmodiah.fedorapeople.org/bauble-0.9.5/bauble-0.9.5-2.fc11.src.rpm


* If I add a new connection (the first one) and use the "Use default filename"
option nothing is happening when I click connect (no window, no output on the
console...)

Can't reproduce that. Please more infos
Comment 26 Pierre-YvesChibon 2009-10-18 10:13:12 EDT
ok in fact there seems to be a bug on gnome-shell.
Without gnome-shell bauble works.

This package is therefore APPROVED.
Comment 27 Simon 2009-10-18 10:20:31 EDT
I will file a bug to bauble upstream...
Thanks for this issue, I will keep an eye on it.

Thanks for your review

New Package CVS Request
=======================
Package Name: bauble
Short Description: Biodiversity collection manager
Owners: cassmodiah
Branches: F-10 F-11 F-12
InitialCC:
Comment 28 Kevin Fenzi 2009-10-19 12:20:56 EDT
cvs done.
Comment 29 Fedora Update System 2009-10-20 16:12:56 EDT
bauble-0.9.5-2.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/bauble-0.9.5-2.fc10
Comment 30 Fedora Update System 2009-10-20 16:13:12 EDT
bauble-0.9.5-2.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/bauble-0.9.5-2.fc12
Comment 31 Fedora Update System 2009-10-20 16:13:12 EDT
bauble-0.9.5-2.fc11 has been submitted as an update for Fedora 11.
http://admin.fedoraproject.org/updates/bauble-0.9.5-2.fc11
Comment 32 Fedora Update System 2009-10-27 02:42:47 EDT
bauble-0.9.5-2.fc10 has been pushed to the Fedora 10 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update bauble'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F10/FEDORA-2009-10758
Comment 33 Fedora Update System 2009-10-27 02:55:48 EDT
bauble-0.9.5-2.fc11 has been pushed to the Fedora 11 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update bauble'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F11/FEDORA-2009-10797
Comment 34 Fedora Update System 2009-11-16 02:28:13 EST
bauble-0.9.5-2.fc10 has been pushed to the Fedora 10 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 35 Fedora Update System 2009-11-16 02:38:03 EST
bauble-0.9.5-2.fc11 has been pushed to the Fedora 11 stable repository.  If problems still persist, please make note of it in this bug report.

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