Port version difficulties (maybe one for the Python crowd)

Greg Larkin glarkin at FreeBSD.org
Mon Dec 7 19:03:10 UTC 2009


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Kevin Golding wrote:
> 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

Hi Kevin,

I've run into problems similar to this from time to time while creating
and maintaining ports.  Would you mind posting a link to or the contents
of your Makefile so I can have a look at it?

It's also useful to use "make -V <variable name>" to examine the values
of any variable you're trying to debug, like PYDISTUTILS_PKGVERSION.  I
believe you can even use the colon modifiers (:S, :C, etc.) right on the
command line so you can try different regexps easily.

Regards,
Greg
- --
Greg Larkin

http://www.FreeBSD.org/           - The Power To Serve
http://www.sourcehosting.net/     - Ready. Set. Code.
http://twitter.com/sourcehosting/ - Follow me, follow you
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iD8DBQFLHVFt0sRouByUApARAhtUAKCzUJDfqM8ahbpA+utA1hU5AUuzBwCfXqim
ifmETG+YraAIuc+/YValWUY=
=i0SW
-----END PGP SIGNATURE-----



More information about the freebsd-ports mailing list