ports/153622: [patch] sysutils/jfbterm: improve TERMCAP option

Anonymous swell.k at gmail.com
Sun Jan 2 13:20:06 UTC 2011


>Number:         153622
>Category:       ports
>Synopsis:       [patch] sysutils/jfbterm: improve TERMCAP option
>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:   Sun Jan 02 13:20:05 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Anonymous
>Release:        FreeBSD 9.0-CURRENT amd64
>Organization:
>Environment:
>Description:
- remove automatically added termcap record upon deinstall
- use %D instead of PREFIX in plist fixing `pkg_add -p' usage
- hide behind !NOPORTDATA in post-install like it's done for plist
- bump PORTREVISION to regen package
>How-To-Repeat:
$ make install
$ pkg_create -xb jfbterm
$ make deinstall
$ pkg_add -f -p /blah jfbterm-0.6.1_2.tbz
cat: /usr/local/share/jfbterm/termcap.jfbterm: No such file or directory
>Fix:
--- a.diff begins here ---
Index: sysutils/jfbterm/Makefile
===================================================================
RCS file: /a/.cvsup/ports/sysutils/jfbterm/Makefile,v
retrieving revision 1.14
diff -u -p -r1.14 Makefile
--- sysutils/jfbterm/Makefile	22 Sep 2010 05:44:08 -0000	1.14
+++ sysutils/jfbterm/Makefile	2 Jan 2011 13:03:24 -0000
@@ -7,7 +7,7 @@
 PORTNAME=	jfbterm
 PORTVERSION=	0.6.1
 DISTVERSIONPREFIX=${OPSYS}-
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	sysutils
 MASTER_SITES=	http://www.ac.auone-net.jp/~baba/${PORTNAME}/ \
 		http://chirashi-no-ura.net/files/
@@ -24,7 +24,8 @@ ONLY_FOR_ARCHS_REASON=	requires VESA sup
 MAKE_JOBS_SAFE=	yes
 MAKEFILE=	${FILESDIR}/BSDmakefile
 MAKE_ENV+=	VERSION=${PORTVERSION} GUNZIP=${GUNZIP_CMD:N-*}
-PLIST_SUB+=	TERMCAP_ADD_RECORD="@exec ${TERMCAP_ADD_RECORD}"
+PLIST_SUB+=	TERMCAP_ADD_RECORD="@exec ${TERMCAP_ADD_RECORD:S,^${PREFIX},%D,}" \
+		TERMCAP_DEL_RECORD="@unexec ${TERMCAP_DEL_RECORD}"
 
 CAP_MKDB?=	/usr/bin/cap_mkdb
 
@@ -83,14 +84,27 @@ MAKE_ENV+=	WITHOUT_PNG=
 .if !defined(WITHOUT_TERMCAP)
 TERMCAP_ADD_RECORD=	\
 	if ${GREP} -q '^jfbterm|' ${TERMCAP_FILE}; then else \
+		${ECHO_CMD} '\# begin of jfbterm.termcap' \
+			>>${TERMCAP_FILE}; \
 		${CAT} ${PREFIX}/share/jfbterm/termcap.jfbterm \
 			>>${TERMCAP_FILE}; \
+		${ECHO_CMD} '\# end of jfbterm.termcap' \
+			>>${TERMCAP_FILE}; \
+		if [ -f ${TERMCAP_FILE}.db ]; then \
+			${CAP_MKDB} ${TERMCAP_FILE}; \
+		fi \
+	fi
+TERMCAP_DEL_RECORD=	\
+	if ${GREP} -Fxq '\# begin of jfbterm.termcap' ${TERMCAP_FILE}; then \
+		${REINPLACE_CMD} '/^\# begin of jfbterm\.termcap/, \
+			/^\# end of jfbterm\.termcap/d' ${TERMCAP_FILE}; \
 		if [ -f ${TERMCAP_FILE}.db ]; then \
 			${CAP_MKDB} ${TERMCAP_FILE}; \
 		fi \
 	fi
 .else
 TERMCAP_ADD_RECORD=	${DO_NADA}
+TERMCAP_DEL_RECORD=	${DO_NADA}
 .endif
 
 .if !defined(WITHOUT_UNIFONT)
@@ -124,9 +138,9 @@ do-install:
 	${INSTALL_DATA} ${WRKSRC}/termcap.jfbterm ${DATADIR}
 	${INSTALL_DATA} ${WRKSRC}/terminfo.jfbterm ${DATADIR}
 	${INSTALL_DATA} ${WRKSRC}/fonts/*.pcf.gz ${DATADIR}/fonts
-.endif
-.if !defined(WITHOUT_TERMCAP)
+. if !defined(WITHOUT_TERMCAP)
 	${TERMCAP_ADD_RECORD}
+. endif
 .endif
 
 .include <bsd.port.post.mk>
Index: sysutils/jfbterm/pkg-plist
===================================================================
RCS file: /a/.cvsup/ports/sysutils/jfbterm/pkg-plist,v
retrieving revision 1.2
diff -u -p -r1.2 pkg-plist
--- sysutils/jfbterm/pkg-plist	22 Sep 2010 05:40:20 -0000	1.2
+++ sysutils/jfbterm/pkg-plist	2 Jan 2011 12:13:43 -0000
@@ -8,3 +8,4 @@ etc/jfbterm.conf.sample
 %%PORTDATA%%@dirrm %%DATADIR%%/fonts
 %%PORTDATA%%@dirrm %%DATADIR%%
 %%PORTDATA%%%%TERMCAP_ADD_RECORD%%
+%%PORTDATA%%%%TERMCAP_DEL_RECORD%%
--- a.diff ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list