Bug 186284

Summary: lang/python27: [PATCH] Several python ports fail after staging due to library that links itself
Product: Ports & Packages Reporter: John Marino <dragonflybsd>
Component: Individual Port(s)Assignee: Marcus von Appen <mva>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
file.diff
none
python32-Makefile.diff.txt none

Description John Marino 2014-01-30 18:00:00 UTC
The following ports starting failing on dragonfly:
math/gnumeric
deskutils/libopensync-plugin-python
databases/postgresql84-plpython
security/bro
games/py-poker-eval
lcms-python

The cause was a badly linked library at ${LOCALBASE}/lib/python2.7/

The attached patch fixes it.
It's fairly critical.
The other pythons need a similar fix, they are broken too.

Fix: Patch attached with submission follows:
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2014-01-30 18:00:08 UTC
Responsible Changed
From-To: freebsd-ports-bugs->freebsd-python

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 John Marino 2014-01-30 18:39:07 UTC
python31 was similar to python27, but the fix for python32 was
different.  The pkg-plist has been wrong from the beginning.  It looks
like a copy-n-paste error because the directory is no longer
"lib/python3.2/config" but rather "lib/python3.2/config-3.2mu".  The
attached patch not only fixes the linking issue, but also fixes related
the long-standing pkg-plist bug.
Comment 3 Marcus von Appen freebsd_committer freebsd_triage 2014-02-01 08:51:49 UTC
Responsible Changed
From-To: freebsd-python->mva

I'll take it.
Comment 4 dfilter service freebsd_committer freebsd_triage 2014-02-01 09:21:32 UTC
Author: mva
Date: Sat Feb  1 09:21:23 2014
New Revision: 342104
URL: http://svnweb.freebsd.org/changeset/ports/342104
QAT: https://qat.redports.org/buildarchive/r342104/

Log:
  - Fix bad libpython* symlinks after enabling the lang/python* ports to
    be stagedir-aware
  
  PR:		ports/186284
  Submitted by:	marino@
  Pointyhat to:	myself

Modified:
  head/lang/python27/Makefile
  head/lang/python31/Makefile
  head/lang/python32/Makefile
  head/lang/python32/pkg-plist
  head/lang/python33/Makefile
  head/lang/python33/pkg-plist

Modified: head/lang/python27/Makefile
==============================================================================
--- head/lang/python27/Makefile	Sat Feb  1 09:13:51 2014	(r342103)
+++ head/lang/python27/Makefile	Sat Feb  1 09:21:23 2014	(r342104)
@@ -3,7 +3,7 @@
 
 PORTNAME=	python27
 PORTVERSION=	2.7.6
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	lang python ipv6
 MASTER_SITES=	PYTHON
 MASTER_SITE_SUBDIR=	${PYTHON_MASTER_SITE_SUBDIR}
@@ -262,8 +262,8 @@ post-install:
 		${STAGEDIR}${PREFIX}/lib
 	(cd ${STAGEDIR}${PREFIX}/lib; ${LN} -sf lib${PYTHON_VERSION}.so.1 \
 		lib${PYTHON_VERSION}.so)
-	${LN} -sf lib${PYTHON_VERSION}.so \
-		${STAGEDIR}${PYTHONPREFIX_LIBDIR}/config
+	(cd ${STAGEDIR}${PREFIX}/lib/${PYTHON_VERSION}/config; \
+		${LN} -sf ../../lib${PYTHON_VERSION}.so)
 	${INSTALL_PROGRAM} \
 		${SHARED_WRKSRC}/${PYTHON_VERSION:S/thon/thon-shared/} \
 		${STAGEDIR}${PREFIX}/bin

Modified: head/lang/python31/Makefile
==============================================================================
--- head/lang/python31/Makefile	Sat Feb  1 09:13:51 2014	(r342103)
+++ head/lang/python31/Makefile	Sat Feb  1 09:21:23 2014	(r342104)
@@ -2,7 +2,7 @@
 
 PORTNAME=		python31
 PORTVERSION=		3.1.5
-PORTREVISION=		8
+PORTREVISION=		9
 CATEGORIES=		lang python ipv6
 MASTER_SITES=		PYTHON
 MASTER_SITE_SUBDIR=	${PYTHON_MASTER_SITE_SUBDIR}
@@ -207,7 +207,8 @@ post-install:
 		${STAGEDIR}${PREFIX}/lib
 	(cd ${STAGEDIR}${PREFIX}/lib; ${LN} -sf lib${PYTHON_VERSION}.so.1 \
 		lib${PYTHON_VERSION}.so)
-	${LN} -sf lib${PYTHON_VERSION}.so ${STAGEDIR}${PYTHONPREFIX_LIBDIR}/config
+	(cd ${STAGEDIR}${PREFIX}/lib/${PYTHON_VERSION}/config; \
+		${LN} -sf ../../lib${PYTHON_VERSION}.so)
 	${INSTALL_PROGRAM} \
 		${SHARED_WRKSRC}/${PYTHON_VERSION:S/thon/thon-shared/} \
 		${STAGEDIR}${PREFIX}/bin

Modified: head/lang/python32/Makefile
==============================================================================
--- head/lang/python32/Makefile	Sat Feb  1 09:13:51 2014	(r342103)
+++ head/lang/python32/Makefile	Sat Feb  1 09:21:23 2014	(r342104)
@@ -2,7 +2,7 @@
 
 PORTNAME=		python32
 PORTVERSION=		3.2.5
-PORTREVISION=		6
+PORTREVISION=		7
 CATEGORIES=		lang python ipv6
 MASTER_SITES=		PYTHON
 MASTER_SITE_SUBDIR=	${PYTHON_MASTER_SITE_SUBDIR}
@@ -198,8 +198,8 @@ post-install:
 		${STAGEDIR}${PREFIX}/lib
 	(cd ${STAGEDIR}${PREFIX}/lib; ${LN} -sf lib${PYTHON_VERSION}${PYABIVER}.so.1 \
 		lib${PYTHON_VERSION}${PYABIVER}.so)
-	${LN} -sf lib${PYTHON_VERSION}${PYABIVER}.so \
-		${STAGEDIR}${PYTHONPREFIX_LIBDIR}/config
+	(cd ${STAGEDIR}${PREFIX}/lib/${PYTHON_VERSION}/config-${PYTHON_VER}${PYABIVER}; \
+		${LN} -sf ../../lib${PYTHON_VERSION}${PYABIVER}.so)
 	${INSTALL_PROGRAM} \
 		${SHARED_WRKSRC}/${PYTHON_VERSION:S/thon/thon-shared/} \
 		${STAGEDIR}${PREFIX}/bin

Modified: head/lang/python32/pkg-plist
==============================================================================
--- head/lang/python32/pkg-plist	Sat Feb  1 09:13:51 2014	(r342103)
+++ head/lang/python32/pkg-plist	Sat Feb  1 09:21:23 2014	(r342104)
@@ -459,7 +459,6 @@ man/man1/python3.2.1.gz
 %%PYTHON_LIBDIR%%/concurrent/futures/_base.py
 %%PYTHON_LIBDIR%%/concurrent/futures/process.py
 %%PYTHON_LIBDIR%%/concurrent/futures/thread.py
-%%PYTHON_LIBDIR%%/config
 %%PYTHON_LIBDIR%%/config-%%PYVER%%%%PYABIVER%%/Makefile
 %%PYTHON_LIBDIR%%/config-%%PYVER%%%%PYABIVER%%/Setup
 %%PYTHON_LIBDIR%%/config-%%PYVER%%%%PYABIVER%%/Setup.config
@@ -468,6 +467,7 @@ man/man1/python3.2.1.gz
 %%PYTHON_LIBDIR%%/config-%%PYVER%%%%PYABIVER%%/config.c.in
 %%PYTHON_LIBDIR%%/config-%%PYVER%%%%PYABIVER%%/install-sh
 %%PYTHON_LIBDIR%%/config-%%PYVER%%%%PYABIVER%%/lib%%PYTHON_VERSION%%%%PYABIVER%%.a
+%%PYTHON_LIBDIR%%/config-%%PYVER%%%%PYABIVER%%/lib%%PYTHON_VERSION%%%%PYABIVER%%.so
 %%PYTHON_LIBDIR%%/config-%%PYVER%%%%PYABIVER%%/makesetup
 %%PYTHON_LIBDIR%%/config-%%PYVER%%%%PYABIVER%%/python.o
 %%PYTHON_LIBDIR%%/configparser.py

Modified: head/lang/python33/Makefile
==============================================================================
--- head/lang/python33/Makefile	Sat Feb  1 09:13:51 2014	(r342103)
+++ head/lang/python33/Makefile	Sat Feb  1 09:21:23 2014	(r342104)
@@ -2,7 +2,7 @@
 
 PORTNAME=		python33
 PORTVERSION=		3.3.3
-PORTREVISION=		1
+PORTREVISION=		2
 CATEGORIES=		lang python ipv6
 MASTER_SITES=		PYTHON
 MASTER_SITE_SUBDIR=	${PYTHON_MASTER_SITE_SUBDIR}
@@ -190,8 +190,8 @@ post-install:
 		${STAGEDIR}${PREFIX}/lib
 	(cd ${STAGEDIR}${PREFIX}/lib; ${LN} -sf lib${PYTHON_VERSION}${PYABIVER}.so.1 \
 		lib${PYTHON_VERSION}${PYABIVER}.so)
-	${LN} -sf lib${PYTHON_VERSION}${PYABIVER}.so \
-		${STAGEDIR}${PYTHONPREFIX_LIBDIR}/config
+	(cd ${STAGEDIR}${PREFIX}/lib/${PYTHON_VERSION}/config-${PYTHON_VER}${PYABIVER}; \
+		${LN} -sf ../../lib${PYTHON_VERSION}${PYABIVER}.so)
 	${INSTALL_PROGRAM} \
 		${SHARED_WRKSRC}/${PYTHON_VERSION:S/thon/thon-shared/} \
 		${STAGEDIR}${PREFIX}/bin

Modified: head/lang/python33/pkg-plist
==============================================================================
--- head/lang/python33/pkg-plist	Sat Feb  1 09:13:51 2014	(r342103)
+++ head/lang/python33/pkg-plist	Sat Feb  1 09:21:23 2014	(r342104)
@@ -477,7 +477,6 @@ man/man1/python3.3.1.gz
 %%PYTHON_LIBDIR%%/concurrent/futures/_base.py
 %%PYTHON_LIBDIR%%/concurrent/futures/process.py
 %%PYTHON_LIBDIR%%/concurrent/futures/thread.py
-%%PYTHON_LIBDIR%%/config
 %%PYTHON_LIBDIR%%/config-%%PYVER%%%%PYABIVER%%/Makefile
 %%PYTHON_LIBDIR%%/config-%%PYVER%%%%PYABIVER%%/Setup
 %%PYTHON_LIBDIR%%/config-%%PYVER%%%%PYABIVER%%/Setup.config
@@ -486,6 +485,7 @@ man/man1/python3.3.1.gz
 %%PYTHON_LIBDIR%%/config-%%PYVER%%%%PYABIVER%%/config.c.in
 %%PYTHON_LIBDIR%%/config-%%PYVER%%%%PYABIVER%%/install-sh
 %%PYTHON_LIBDIR%%/config-%%PYVER%%%%PYABIVER%%/lib%%PYTHON_VERSION%%%%PYABIVER%%.a
+%%PYTHON_LIBDIR%%/config-%%PYVER%%%%PYABIVER%%/lib%%PYTHON_VERSION%%%%PYABIVER%%.so
 %%PYTHON_LIBDIR%%/config-%%PYVER%%%%PYABIVER%%/makesetup
 %%PYTHON_LIBDIR%%/config-%%PYVER%%%%PYABIVER%%/python.o
 %%PYTHON_LIBDIR%%/configparser.py
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 5 Marcus von Appen freebsd_committer freebsd_triage 2014-02-01 09:21:55 UTC
State Changed
From-To: open->closed

Committed. Thanks!