ports/157269: [PATCH] devel/pear: add support for autoplist and channels

Martin Matuska mm at FreeBSD.org
Mon May 23 12:30:12 UTC 2011


>Number:         157269
>Category:       ports
>Synopsis:       [PATCH] devel/pear: add support for autoplist and channels
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Mon May 23 12:30:11 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Martin Matuska
>Release:        FreeBSD 8.2-STABLE amd64
>Organization:
>Environment:
System: FreeBSD neo.vx.sk 8.2-STABLE FreeBSD 8.2-STABLE #0 r221263M: Sat Apr 30 18:15:14 CEST
>Description:
Add support for channels and automatic plist generation to pear.

Added file(s):
- pear-deinstall.in

Removed file(s):
- pear-deinstall

Port maintainer (miwi at FreeBSD.org) is cc'd.

Generated with FreeBSD Port Tools 0.99
>How-To-Repeat:
>Fix:

--- pear-1.9.2.patch begins here ---
Index: bsd.pear.mk
===================================================================
RCS file: /home/pcvs/ports/devel/pear/bsd.pear.mk,v
retrieving revision 1.11
diff -u -r1.11 bsd.pear.mk
--- bsd.pear.mk	25 Feb 2011 01:43:50 -0000	1.11
+++ bsd.pear.mk	23 May 2011 12:21:43 -0000
@@ -25,11 +25,19 @@
 NO_BUILD=	yes
 .endif
 
+.if defined(PEAR_CHANNEL) && ${PEAR_CHANNEL} != ""
+PKGNAMEPREFIX=	pear-${PEAR_CHANNEL}-
+PEARPKGREF=	${PEAR_CHANNEL}/${PORTNAME}
+.else
+PEARPKGREF=	${PORTNAME}
+.endif
+
 .if exists(${LOCALBASE}/bin/php-config)
 PHP_BASE!=	${LOCALBASE}/bin/php-config --prefix
 .else
 PHP_BASE=	${LOCALBASE}
 .endif
+PEAR=		${LOCALBASE}/bin/pear
 LPEARDIR=	share/pear
 LPKGREGDIR=	${LPEARDIR}/packages/${PKGNAME}
 LDATADIR=	${LPEARDIR}/data/${PORTNAME}
@@ -53,6 +61,8 @@
 .endif
 INSTDIR=	${PHP_BASE}/${LINSTDIR}
 
+SUB_LIST+=	PEAR_CHANNEL=${PEAR_CHANNEL}
+
 .if !defined(USE_PHPIZE) && !exists(${.CURDIR}/pkg-plist)
 PLIST=		${WRKDIR}/PLIST
 .endif
@@ -61,7 +71,7 @@
 		SCRIPTFILESDIR=${LCRIPTSDIR}
 
 PKGINSTALL?=	${PORTSDIR}/devel/pear/pear-install
-PKGDEINSTALL?=	${PORTSDIR}/devel/pear/pear-deinstall
+PKGDEINSTALL?=	${WRKDIR}/pear-deinstall
 
 FILES?=
 DATA?=
@@ -167,9 +177,32 @@
 .  endif
 . endfor
 
-pre-install: 	do-generate-plist
+do-autogenerate-plist:
+	@${ECHO_MSG} "===>   Generating packing list with pear"
+	@${ECHO_CMD} "${LPKGREGDIR}/package.xml" > ${PLIST}
+	@FILES=`${PEAR} list-files ${WRKDIR}/package.xml | ${TAIL} +4 | \
+	${AWK} '{ print $$2 }' | ${SED} -e "s|${PREFIX}/||g"`; \
+	for f in $${FILES}; do ${ECHO_CMD} $${f} >> ${PLIST}; done; \
+	for d in $${FILES}; do ${ECHO_CMD} $${d}; done | ${DIRFILTER} | \
+	    while read dir; do ${ECHO_CMD} "@dirrmtry $${dir}" >> ${PLIST}; \
+	    done;
+	@${ECHO_CMD} "@dirrm ${LPKGREGDIR}" >> ${PLIST}
+	@${ECHO_CMD} "@dirrmtry ${LPKGREGDIR:H}" >> ${PLIST}
+
+. if defined(PEAR_AUTOINSTALL)
+pre-install:	do-autogenerate-plist do-generate-deinstall-script
+do-install:	do-auto-install
+
+. else
+pre-install: 	do-generate-plist do-generate-deinstall-script
 do-install: 	do-install-files do-install-docs do-install-tests do-install-sqls \
 		do-install-scriptfiles do-install-examples do-install-data
+. endif
+
+do-auto-install:
+	@${ECHO_MSG} "===>   Installing package with pear"
+	@${LN} -sf ${WRKDIR}/package.xml ${WRKSRC}/package.xml
+	@cd ${WRKSRC} && ${PEAR} install -n -f package.xml
 
 do-install-files: do-install-files-msg
 	@${MKDIR} ${INSTDIR}
@@ -253,8 +286,13 @@
 . endif
 .endif
 
+do-generate-deinstall-script:
+	@${SED} ${_SUB_LIST_TEMP} -e '/^@comment /d' ${PORTSDIR}/devel/pear/pear-deinstall.in > ${WRKDIR}/pear-deinstall
+
 post-install:
 	@${MKDIR} ${PKGREGDIR}
 	@${INSTALL_DATA} ${WRKDIR}/package.xml ${PKGREGDIR}
+.if !defined(PEAR_AUTOINSTALL)
 	@${SETENV} PKG_PREFIX=${PREFIX} \
 	${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
+.endif
Index: pear-deinstall
===================================================================
RCS file: pear-deinstall
diff -N pear-deinstall
--- pear-deinstall	9 Dec 2005 18:58:03 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,15 +0,0 @@
-#!/bin/sh
-#
-# $FreeBSD: ports/devel/pear/pear-deinstall,v 1.1 2005/12/09 18:58:03 ale Exp $
-#
-# Remove package declaration from PEAR's registry.
-
-if [ x$2 != xDEINSTALL ]; then
-    exit
-fi
-PKG_NAME=${1%%-[0-9._]*}
-PACKAGE=$(echo $PKG_NAME | sed 's/pear-//')
-
-PEAR=${PKG_PREFIX}/bin/pear
-
-${PEAR} uninstall -r -n ${PACKAGE} || true
Index: pear-deinstall.in
===================================================================
RCS file: pear-deinstall.in
diff -N pear-deinstall.in
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ pear-deinstall.in	23 May 2011 12:21:43 -0000
@@ -0,0 +1,21 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+# Remove package declaration from PEAR's registry.
+
+if [ x$2 != xDEINSTALL ]; then
+    exit
+fi
+
+PKG_NAME=${1%%-[0-9._]*}
+CHANNEL=%%PEAR_CHANNEL%%
+PEAR=${PKG_PREFIX}/bin/pear
+
+if [ -z "$CHANNEL" ]; then
+	PACKAGE=$(echo $PKG_NAME | sed "s/pear-//")
+	${PEAR} uninstall -r -n ${PACKAGE} || true
+else
+	PACKAGE=$(echo $PKG_NAME | sed "s/pear-${CHANNEL}-//")
+	${PEAR} uninstall -r -n ${CHANNEL}/${PACKAGE} || true
+fi
--- pear-1.9.2.patch ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list