Egginfo plist handling and PREFIX
Ganael LAPLANCHE
martymac at FreeBSD.org
Wed Jan 8 13:04:51 UTC 2014
Hi,
We may have a bug in r336553
(http://svnweb.freebsd.org/ports?view=revision&revision=336553) within
the add-plist-egginfo target regarding PREFIX handling.
It is no more possible to install e.g. sysutils/dvdvideo or
sysutils/brebis with a custom PREFIX :
# cd /usr/ports/sysutils/brebis
# make PREFIX=/files/Down/brebis-test install
[...]
===> Registering installation for brebis-0.8
pkg-static:
lstat(/tmp/wrkdirs/files/Ports/ports/sysutils/brebis/work/stage/tmp/wrkdirs/files/Ports/ports/sysutils/brebis/work/stage/files/Down/brebis-test/lib/python3.3/site-packages/brebis-0.8-py3.3.egg-info/PKG-INFO):
No such file or directory
pkg-static:
lstat(/tmp/wrkdirs/files/Ports/ports/sysutils/brebis/work/stage/tmp/wrkdirs/files/Ports/ports/sysutils/brebis/work/stage/files/Down/brebis-test/lib/python3.3/site-packages/brebis-0.8-py3.3.egg-info/SOURCES.txt):
No such file or directory
pkg-static:
lstat(/tmp/wrkdirs/files/Ports/ports/sysutils/brebis/work/stage/tmp/wrkdirs/files/Ports/ports/sysutils/brebis/work/stage/files/Down/brebis-test/lib/python3.3/site-packages/brebis-0.8-py3.3.egg-info/dependency_links.txt):
No such file or directory
pkg-static:
lstat(/tmp/wrkdirs/files/Ports/ports/sysutils/brebis/work/stage/tmp/wrkdirs/files/Ports/ports/sysutils/brebis/work/stage/files/Down/brebis-test/lib/python3.3/site-packages/brebis-0.8-py3.3.egg-info/top_level.txt):
No such file or directory
pkg-static:
lstat(/tmp/wrkdirs/files/Ports/ports/sysutils/brebis/work/stage/files/Down/brebis-test//tmp/wrkdirs/files/Ports/ports/sysutils/brebis/work/stage/files/Down/brebis-test/lib/python3.3/site-packages/brebis-0.8-py3.3.egg-info/):
No such file or directory
*** Error code 74
Before installation, egginfo files are staged here :
/tmp/wrkdirs/files/Ports/ports/sysutils/brebis/work/stage/files/Down/brebis-test/lib/python3.3/site-packages/brebis-0.8-py3.3.egg-info
wich corresponds to ${STAGEDIR}${PREFIX}[...], not
${STAGEDIR}${PYTHONBASE}[...].
Replacing ${PYTHONBASE} by ${PREFIX} within Mk/bsd.python.mk with this
patch :
8<------------------
--- Mk/bsd.python.mk.orig 2014-01-08 11:39:35.869744772 +0100
+++ Mk/bsd.python.mk 2014-01-08 11:42:47.999731061 +0100
@@ -515,23 +515,23 @@
add-plist-egginfo:
.if !defined(PYDISTUTILS_NOEGGINFO) && \
!defined(PYDISTUTILS_AUTOPLIST) && \
(defined(INSTALLS_EGGINFO) || \
(defined(USE_PYDISTUTILS) && \
${USE_PYDISTUTILS} != "easy_install")) && \
defined(PYTHON_REL)
. for egginfo in ${PYDISTUTILS_EGGINFO}
if [ -d "${PYDISTUTILS_EGGINFODIR}/${egginfo}" ]; then \
${LS} ${PYDISTUTILS_EGGINFODIR}/${egginfo} | while read
f; do \
- ${ECHO_CMD}
${PYDISTUTILS_EGGINFODIR:S;^${STAGEDIR}${PYTHONBASE}/;;}/${egginfo}/$${f} >>
${TMPPLIST}; \
+ ${ECHO_CMD}
${PYDISTUTILS_EGGINFODIR:S;^${STAGEDIR}${PREFIX}/;;}/${egginfo}/$${f} >>
${TMPPLIST}; \
done; \
- ${ECHO_CMD} "@unexec rmdir
\"%D/${PYDISTUTILS_EGGINFODIR:S;${STAGEDIR}${PYTHONBASE}/;;}/${egginfo}\" 2>/dev/null
|| true" >> ${TMPPLIST}; \
+ ${ECHO_CMD} "@unexec rmdir
\"%D/${PYDISTUTILS_EGGINFODIR:S;${STAGEDIR}${PREFIX}/;;}/${egginfo}\"
2>/dev/null || true" >> ${TMPPLIST}; \
fi;
. endfor
.else
@${DO_NADA}
.endif
.if defined(PYDISTUTILS_AUTOPLIST) && defined(USE_PYDISTUTILS)
_RELSITELIBDIR= ${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;}
_RELLIBDIR= ${PYTHONPREFIX_LIBDIR:S;${PREFIX}/;;}
8<------------------
fixes the problem, but I am not sure it is the way to go. I may be
missing something here.
Any help would be greatly appreciated. Can you tell me what you think
about that ?
Thanks in advance,
Best regards,
--
Ganael LAPLANCHE <ganael.laplanche at martymac.org>
http://www.martymac.org | http://contribs.martymac.org
FreeBSD: martymac <martymac at FreeBSD.org>, http://www.FreeBSD.org
More information about the freebsd-python
mailing list