uname -r, UNAME_VERSION

Nicola Vitale nivit at email.it
Mon Dec 11 18:12:34 EST 2006


Hello everybody,

	I'm trying to update devel/py-protocols, and I have a
problem to build it in Tinderbox.

Apparently the process runs fine in a "normal" environment (6.2-PRERELEASE/i386,
6.2,7.0/amd64), but fails inside Tinderbox jails (5-FreeBSD and 6.2-FreeBSD)
with the following error:

====================<phase 6: make install>====================
[...]
Copying PyProtocols-1.0.a0-py2.4-freebsd-6.2-PRERELEASE-amd64.egg to [...]
                                         ^^^^^^^^^^^^^^
[...]
===>   Registering installation for py24-protocols-1.0.a0
====================<phase 7: make package>====================
===>  Building package for py24-protocols-1.0.a0
tar: lib/python2.4/site-packages/PyProtocols-1.0.a0-py2.4-freebsd-5.5-STABLE-amd64.egg: Could not stat: No such file or directory
                                                                  ^^^^^^^^^^
It seems that in the first phase, TB uses the program /usr/bin/uname
to determine the system release, while in the second one the contents
of /usr/bin/UNAME_VERSION.

I use these lines in the Makefile :

PLIST_FILES+=	${PYTHON_SITELIBDIR:S,${PREFIX}/,,}/${PYPROTOCOLS_EGG}

[...]

PYPROTOCOLS_EGG=	PyProtocols-${PORTVERSION}-${PYTHON_PKGNAMEPREFIX:C|([0-9])([0-9])|\1.\2|}${OPSYS:L}-${OSRELEASE}-${ARCH}.egg

.include <bsd.port.pre.mk>
OSRELEASE!=	${DESTDIR}/${UNAME} -r
.include <bsd.port.post.mk>

N.B. The string "freebsd-6.2-PRERELEASE-amd64", assigned to the file name,
is the return value of the python function distutils.util.get_platform(),
so it's outside my control. Portlint -A doesn't find any error.

According to you, is that error message caused by a "strange" behavior of
Tinderbox or is there a possible mistake in the Makefile?

Thanks,

ciao.
--
Nicola Vitale
nivit at email.it




More information about the tinderbox-list mailing list