Port version difficulties (maybe one for the Python crowd)

Kevin Golding kevin at caomhin.demon.co.uk
Mon Dec 7 17:31:54 UTC 2009


I've had a bit of a poke around and no real joy in figuring this out so
let's see just how obvious the thing I'm missing is.

I'm trying to create a new port and I'm getting in a tangle with the
version number.  Basically, the author of this software has given it a
version number 0.1_0 which is incompatible with ports.  Never fear! I
simply set the port version to 0.1.0 which is.  Now this wasn't too bad
to deal with, I set "DISTNAME=      ${PORTNAME}-0.1-0" to make it fetch
just fine (yes, despite the version being 0.1_0 the tarball is 0.1-0).

All well and good at the early stages.  This is where it gets
Pythonesque, and eventually problematic.

Because of the version number I've also set:

PYEASYINSTALL_EGG=      ${PYDISTUTILS_PKGNAME:C/[^A-Za-z0-9.]+/_/g}-0.1_
0-${PYTHON_VERSION:S/thon//}${PYEASYINSTALL_OSARCH}.egg

This makes installing work.

Uninstalling fails with:

pkg_delete: unexec command for '/usr/local/bin/easy_install-2.6 -q -m -S
/usr/local/lib/python2.6/site-packages  -d usr/local/lib/python2.6/site-
packages  -s /usr/local/bin  django-signals-ahoy==0.1.0' failed

So because ports installed 0.1.0 and the author wrote 0.1_0 is fails.

I did look at setting PYEASYINSTALL_UNINSTALLARGS but I must confess my
attempts to turn PYDISTUTILS_PKGVERSION into 0.1_0 have so far failed
(as in, apparently my regex has changed nothing).

Which brings me to my question (or questions).

a) Can anyone point me in the right direction for making the
easy_install uninstall properly?

or

b) Should I simply change the version in the distfile so that is uses
more standard syntax and I can just use 0.1.0 which will work without
all the extras? 

TIA,
Kevin


More information about the freebsd-ports mailing list