Marc Espie wrote on 14/01/07 1:54:
tar xzf <archive>, change dir where the patch and apply patch
Do the extraction during extrac/post-extract, patch during post-patch.
done
use explicit post-patch targets.
:S doesn't handle regexps, :C does.
ok, changed.
here a new makefile.
failed on extraction of SUPDISTFILES
$ FLAVOR=plugins make
===> Checking files for cacti-0.8.6ip1-plugins
`/export/ports/distfiles/cacti-0.8.6i.tar.gz' is up to date.
`/export/ports/distfiles/cacti-plugin-arch.tar.gz' is up to date.
>> Checksum OK for cacti-0.8.6i.tar.gz. (sha1)
>> Checksum OK for cacti-plugin-arch.tar.gz. (sha1)
===> Extracting for cacti-0.8.6ip1-plugins
gzip: /export/ports/distfiles/cacti-plugin-arch.tar.gz:0: No such file
or directory
tar: End of archive volume 1 reached
tar: Sorry, unable to determine archive format.
*** Error code 1
seems SUPDISTFILES doesn't handle multiple sites ? a way to correct
extract or only use EXTRACT_ONLY ?
else for extraction of multiple archive type, how do you handle it ? not
sure to understand the use of EXTRACT_CASES. and name of dir ?
(see post-extract of Makefile)
thanks
Regards
Julien
# $OpenBSD: Makefile,v 1.16 2005/06/03 19:46:43 mbalmer Exp $
COMMENT= "cacti php monitoring tool"
VERSION= 0.8.6i
DISTNAME= cacti-${VERSION}
PKGNAME= cacti-${VERSION}p1
CATEGORIES= net sysutils
HOMEPAGE= http://www.cacti.net/
MAINTAINER=
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=cacti/}
MASTER_SITES0= http://cactiusers.net/downloads/plugins/
MASTER_SITES1= http://wotsit.thingy.com/haj/cacti/php-weathermap/
MASTER_SITES2= http://gilles.boulon.free.fr/manage/
# GPL
PERMIT_PACKAGE_CDROM= Yes
PERMIT_PACKAGE_FTP= Yes
PERMIT_DISTFILES_CDROM= Yes
PERMIT_DISTFILES_FTP= Yes
RUN_DEPENDS= ::net/rrdtool \
:php5-mysql-*:www/php5/extensions,-mysql \
::databases/mysql,-server \
netsnmp::net/net-snmp
PATCH_LIST=
NO_BUILD= Yes
NO_REGRESS= Yes
PKG_ARCH= *
#EXTRACT_ONLY=
FLAVORS= plugins
FLAVOR?=
.if ${FLAVOR:L:Mplugins}
## include plugin framework and some "classicals"
## haloe (syslog) need external tools to feed a syslog mysql db
PLUGINS= discovery-0.6.tar.gz:0 \
thold-0.3.0.tar.gz:0 \
haloe-0.4.tar.gz:0 \
php-weathermap-0.82.zip:1 \
manage-0.4.2.zip:2
SUPDISTFILES= cacti-plugin-arch.tar.gz:0 \
${PLUGINS}
PATCHFILES= cacti-plugin-arch.tar.gz:0
#EXTRACT_ONLY= ${PLUGINS}
post-extract:
@${ECHO_MSG} "===> Extracting plugin architecture"
# cd ${WRKDIR} && ${EXTRACT_CASES} $(FULLDISTDIR)/cacti-plugin-arch.tar.gz
cd ${WRKDIR} && gzip -dc ${FULLDISTDIR}/cacti-plugin-arch.tar.gz | tar
xf -
@${ECHO_MSG} "===> Adding plugins specific object files"
for i in ${PLUGINS:C/:[0-2]$//}; do \
d=`basename $$i`; \
d=${d%%.tar.gz}; \
cd ${WRKDIR} && gzip -dc ${FULLDISTDIR}/$$i | tar xf - ; \
mv ${WRKDIR}/$$d ${WRKDIST}/plugins/ ; \
done
.endif
PREFIX= /var/www
PREFIX2= /usr/local
INSTDIR= ${PREFIX}/cacti
CACTI_USER= _cacti
CACTI_ID= 570
SUBST_VARS= INSTDIR CACTI_USER CACTI_ID PREFIX2
.if ${FLAVOR:L:Mplugins}
post-patch:
cd ${WRKDIST} && patch -p1 -N <
${WRKDIR}/cacti-plugin-arch/cacti-plugin-${VERSION}.diff
.endif
do-install:
@mv ${WRKDIST} ${INSTDIR}
.include <bsd.port.mk>