Date: Mon, 23 May 2011 14:22:24 +0200 (CEST) From: Martin Matuska <mm@FreeBSD.org> To: FreeBSD-gnats-submit@FreeBSD.org Cc: miwi@FreeBSD.org Subject: ports/157269: [PATCH] devel/pear: add support for autoplist and channels Message-ID: <20110523122224.387B34F47@mail2.vx.sk> Resent-Message-ID: <201105231230.p4NCUBse029960@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>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@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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110523122224.387B34F47>