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