[Distutils] Package versioning

Timothy Docker timd@macquarie.com.au
Mon, 19 Apr 1999 14:49:27 +1000 (EST)


Hi all,

I've been aware that the distutils sig has been simmerring away, but
until recently it has not been directly relevant to what I do.

I like the look of the proposed api, but have one question. Will this
support an installed system that has multiple versions of the same
package installed simultaneously? If not, then this would seem to be a 
significant limitation, especially when dependencies between packages
are considered.

Assuming it does, then how will this be achieved? I am presently
managing this with a messy arrangement of symlinks. A package is
installed with its version number in it's name, and a separate
directory is created for an application with links from the
unversioned package name to the versioned one. Then I just set the
pythonpath to this directory.

A sample of what the directory looks like is shown below.

I'm sure there is a better solution that this, and I'm not sure that
this would work under windows anyway (does windows have symlinks?).

So, has this SIG considered such versioning issues yet?

Cheers,

Tim

--------------------------------------------------------------
Tim Docker                               timd@macquarie.com.au
Quantative Applications Division
Macquarie Bank

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

qad16:qad $ ls -l lib/python/
total 110
drwxr-xr-x   2 mts      mts          512 Nov 11 11:23 1.1
-r--r-----   1 root     mts        45172 Sep  1  1998 cdrmodule_0_7_1.so
drwxr-xr-x   2 mts      mts          512 Sep  1  1998 chart_1_1
drwxr-xr-x   3 mts      mts          512 Sep  1  1998 Fnorb_0_7_1
dr-xr-x---   3 mts      mts          512 Nov 11 11:21 Fnorb_0_8
drwxr-xr-x   3 mts      mts         1536 Mar  3 12:45 mts_1_1
dr-xr-x---   7 mts      mts          512 Nov 11 11:22 OpenGL_1_5_1
dr-xr-x---   2 mts      mts         1024 Nov 11 11:23 PIL_0_3
drwxr-xr-x   3 mts      mts          512 Sep  1  1998 Pmw_0_7
dr-xr-x---   2 mts      mts          512 Nov 11 11:21 v3d_1_1

qad16:qad $ ls -l lib/python/1.1
total 30
lrwxrwxrwx   1 root     other         29 Apr 10 10:43 _glumodule.so -> ../OpenGL_1_5_1/_glumodule.so
lrwxrwxrwx   1 root     other         30 Apr 10 10:43 _glutmodule.so -> ../OpenGL_1_5_1/_glutmodule.so
lrwxrwxrwx   1 root     other         22 Apr 10 10:43 _imaging.so -> ../PIL_0_3/_imaging.so
lrwxrwxrwx   1 root     other         36 Apr 10 10:43 _opengl_nummodule.so -> ../OpenGL_1_5_1/_opengl_nummodule.so
lrwxrwxrwx   1 root     other         27 Apr 10 10:43 _tkinter.so -> ../OpenGL_1_5_1/_tkinter.so
lrwxrwxrwx   1 mts      mts           21 Apr 10 10:43 cdrmodule.so -> ../cdrmodule_0_7_1.so
lrwxrwxrwx   1 mts      mts           12 Apr 10 10:43 chart -> ../chart_1_1
lrwxrwxrwx   1 root     other         12 Apr 10 10:43 Fnorb -> ../Fnorb_0_8
lrwxrwxrwx   1 mts      mts           12 Apr 10 10:43 mts -> ../mts_1_1
lrwxrwxrwx   1 root     other         15 Apr 10 10:43 OpenGL -> ../OpenGL_1_5_1
lrwxrwxrwx   1 root     other         33 Apr 10 10:43 opengltrmodule.so -> ../OpenGL_1_5_1/opengltrmodule.so
lrwxrwxrwx   1 root     other         33 Apr 10 10:43 openglutil_num.so -> ../OpenGL_1_5_1/openglutil_num.so
lrwxrwxrwx   1 root     other         10 Apr 10 10:43 PIL -> ../PIL_0_3
lrwxrwxrwx   1 mts      mts           10 Apr 10 10:43 Pmw -> ../Pmw_0_7
lrwxrwxrwx   1 root     other         10 Apr 10 10:43 v3d -> ../v3d_1_1