Bug 168064 - 4Suite RPM dependency packaging error
Summary: 4Suite RPM dependency packaging error
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: 4Suite
Version: 3
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Miloslav Trmač
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2005-09-12 03:26 UTC by Sam Varshavchik
Modified: 2007-11-30 22:11 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2005-09-14 17:01:25 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Sam Varshavchik 2005-09-12 03:26:22 UTC
Description of problem:

4Suite-1.0.3 has a missing dependency on the postgresql-python package.

Version-Release number of selected component (if applicable):

1.0.3

How reproducible:

Always

Steps to Reproduce:


$ python
Python 2.3.4 (#1, Feb  2 2005, 12:11:53)
[GCC 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Ft.Server.Server.Drivers.Postgres

Actual results:

Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File
"/usr/lib/python2.3/site-packages/Ft/Server/Server/Drivers/Postgres/__init__.py",
line 3, in ?
    from Ft.Rdf.Drivers import Postgres
  File "/usr/lib/python2.3/site-packages/Ft/Rdf/Drivers/Postgres.py", line 17, in ?
    import _pg
ImportError: No module named _pg

Expected results:

The module gets imported.

Additional info:

There's an "import _pg" statement in
/usr/lib/python2.3/site-packages/Ft/Server/Server/Drivers/Postgres/__init__.py
but _pgmodule.so is actually installed by the postgresql-python RPM

Installing the postgresql-python RPM allows the "import" statement to succeed
(well, not really, but this is going to be another bug).


Therefore, either:

1. 4Suite should declare an explicit dependency on postgresql-python, or:

2. Create a 4Suite-postgres subpackage, and move the entire Drivers/Postgres
directory into the subpackage, and have the subpackage declare a dependency on
the postgresql-python RPM

Comment 1 Miloslav Trmač 2005-09-14 03:39:16 UTC
Thanks for your report.

1. Considering that most users probably don't use 4Suite with postgresql,
   lettin 4Suite depend on postgresql would cause unnecessary installation of
   postgresql-python and postgresql-libs.

2. Looking at the exception output in rawhide:

>>> from Ft.Server.Server.Drivers import LoadDriverModule
>>> LoadDriverModule('Postgres')
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "/usr/lib/python2.4/site-packages/Ft/Server/Server/Drivers/__init__.py",
line 53, in LoadDriverModule
    reason=str(error))
Ft.Server.Server.FtServerServerException: Driver 'Postgres' is unavailable.
No module named _pg
>>> LoadDriverModule('DoesntExist')
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "/usr/lib/python2.4/site-packages/Ft/Server/Server/Drivers/__init__.py",
line 43, in LoadDriverModule
    driver=driverName)
Ft.Server.Server.FtServerServerException: Driver type 'DoesntExist' is unknown.

The output when postgresql-python is not installed is actually more informative
than the output when the hypothetical 4Suite-postgresql is not installed.

Comment 2 Miloslav Trmač 2005-09-14 17:01:25 UTC
It is not possible to cleanly split the package and to assure that both
subpackages are installed on upgrades.  Taken together with the error message
differences described above, I think it is best to keep a single package without
the postgresql-python dependency.


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