While testing the apbs and pdb2pqr packages (which run their python
scripts using /usr/bin/python), I discovered some potential breakage. The
current info scripts for these packages have a Depends on python. However
since these packages (at least pdb2pqr for sure) build extensions against
the python headers this seems very bad. The configure script in pdb2pqr
identifies the python version by looking for the binary. If the python 
package from python2.4 is installed and pdb2pqr is built, it will be
built against the headers from /sw/include/python2.4, whereas the pdb2pqr.py
script will run against python2.3 using /usr/bin/python.
      I considered making a python variant of apbs and pdb2pqr but that is
far too complex since apbs depends on pdb2pqr. It would be pointless to
try to juggle all those python versions. Since apbs and pdb2pqr don't make
graphical calls (hence no X11), it seems rational to stick with the
system python. However I don't see a system python virtual package in fink.
My proposed change is...

--- /sw/fink/10.4-transitional/unstable/main/finkinfo/sci/apbs.info     
2005-12-22 13:57:10.000000000 -0500
+++ apbs.info   2005-12-22 17:59:47.000000000 -0500
@@ -1,11 +1,12 @@
 Package: apbs
 Version: 0.4.0
-Revision: 1
+Revision: 2
 Source: mirror:sourceforge:%n/%n-%v.tar.gz
 Source-MD5: a9d5f8b24a40087998267c9df3eecceb 
 SourceDirectory: %n-%v
-Depends: maloc, readline-shlibs, gnuplot, python, pdb2pqr 
-BuildDepends: g77, maloc, python 
+Depends: maloc, readline-shlibs, gnuplot, pdb2pqr 
+BuildDepends: g77, maloc
+BuildConflicts: python
 Conflicts: apbs-mpi
 Replaces: apbs-mpi
 ConfigureParams: FETK_INCLUDE=%p/include  FETK_LIBRARY=%p/lib FETK_PREFIX=%p

and

--- /sw/fink/10.4-transitional/unstable/main/finkinfo/sci/pdb2pqr.info  
2005-12-21 01:01:37.000000000 -0500
+++ pdb2pqr.info        2005-12-22 17:55:46.000000000 -0500
@@ -1,11 +1,11 @@
 Package: pdb2pqr
 Version: 1.0.2
-Revision: 1
+Revision: 2
 Source: mirror:sourceforge:%n/%n-%v.tar.gz
 Source-MD5: 4294713d22ae34079fcd4f652f2c793a 
 SourceDirectory: %n-%v
-Depends: python 
-BuildDepends: g77, python
+BuildDepends: g77
+BuildConflicts: python
 Description: Converts pdb files to pqr
 CompileScript: <<
 #!/bin/zsh -ef

which insures that the python extensions are built against the system python 
headers. However, we have a number of packages like eden, pydns, reportlab,
pmw, etc that Depend on python such that they must be deinstalled for the
build. I suspect those packages are broken since I don't see how a simple 
Depends on python can keep the version straight. For example, if any
package that depends on python is built against python headers, there
will be the possiblity of mismatch if the user ever swapped the python
package from one version for another of python. Then the program would
execute against the wrong python if it expected /sw/bin/python to be
the same version as when it was built.
    Is this a correct analysis? I assume fink packages should be allowed
to build against the system python without forcing other fink packages
besides python to deinstall. Also it seems that depending on python itself
is a very risky approach to packaging, no?
         Jack



-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Fink-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to