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

Anonymous swell.k at gmail.com
Thu Jan 27 05:50:08 UTC 2011


The following reply was made to PR ports/153622; it has been noted by GNATS.

From: Anonymous <swell.k at gmail.com>
To: bug-followup at FreeBSD.org
Cc: beat at FreeBSD.org
Subject: Re: ports/153622: [patch] sysutils/jfbterm: improve TERMCAP option
Date: Thu, 27 Jan 2011 08:40:48 +0300

 I've removed .bak files. They're not substitute for normal backups and
 update operation is not atomic. In the odd case it fails in the middle
 of operation the worst thing it can do is leave garbage at the end of
 termcap file, e.g. `# begin of jfbterm.termcap' or unused `jfbterm|...'.
 
 Here is a cumulative diff, it includes a few more changes
 - respect hier(7), move files from DATADIR to share/misc,
   this makes @exec happy in devel/ncurses* port
 - remove redundant GREP check in TERMCAP_(ADD|DEL)_RECORD
 - update terminfo upon install
 
 --- 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	27 Jan 2011 05:29:39 -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,9 +24,13 @@ 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}" \
 +		TIC="@exec ${TIC} ${TERMINFO_FILE:S,^${PREFIX},%D,} 2>/dev/null || ${TRUE}"
  
  CAP_MKDB?=	/usr/bin/cap_mkdb
 +TIC?=		${LOCALBASE}/bin/tic
 +TERMINFO_FILE?=	${PREFIX}/share/misc/${PORTNAME}.terminfo
  
  OPTIONS=	ICONV	"encodings support"		On \
  		PNG	"splash .png support"		On \
 @@ -82,15 +86,25 @@ MAKE_ENV+=	WITHOUT_PNG=
  
  .if !defined(WITHOUT_TERMCAP)
  TERMCAP_ADD_RECORD=	\
 -	if ${GREP} -q '^jfbterm|' ${TERMCAP_FILE}; then else \
 -		${CAT} ${PREFIX}/share/jfbterm/termcap.jfbterm \
 -			>>${TERMCAP_FILE}; \
 -		if [ -f ${TERMCAP_FILE}.db ]; then \
 -			${CAP_MKDB} ${TERMCAP_FILE}; \
 -		fi \
 +	${ECHO_CMD} '\# begin of ${PORTNAME}.termcap' \
 +		>>${TERMCAP_FILE}; \
 +	${CAT} ${PREFIX}/share/misc/${PORTNAME}.termcap \
 +		>>${TERMCAP_FILE}; \
 +	${ECHO_CMD} '\# end of ${PORTNAME}.termcap' \
 +		>>${TERMCAP_FILE}; \
 +	if [ -f ${TERMCAP_FILE}.db ]; then \
 +		${CAP_MKDB} ${TERMCAP_FILE}; \
 +	fi
 +TERMCAP_DEL_RECORD=	\
 +	${REINPLACE_CMD} -i '' '/^\# begin of ${PORTNAME}\.termcap/, \
 +		/^\# end of ${PORTNAME}\.termcap/d' \
 +		${TERMCAP_FILE}; \
 +	if [ -f ${TERMCAP_FILE}.db ]; then \
 +		${CAP_MKDB} ${TERMCAP_FILE}; \
  	fi
  .else
  TERMCAP_ADD_RECORD=	${DO_NADA}
 +TERMCAP_DEL_RECORD=	${DO_NADA}
  .endif
  
  .if !defined(WITHOUT_UNIFONT)
 @@ -105,8 +119,13 @@ post-extract:	.SILENT
  		${WRKSRC}/${PORTNAME}.conf.sample
  
  post-patch:	.SILENT
 -	${REINPLACE_CMD} 's|/usr/local|${PREFIX}|g' \
 +	${REINPLACE_CMD} -e 's|/usr/local|${PREFIX}|g' \
 +		-e 's|\(share\)/${PORTNAME}/\(fonts\)|\1/misc/\2|' \
  		${WRKSRC}/*.[0-9] ${WRKSRC}/*.conf.sample
 +.if defined(WITHOUT_TERMCAP)
 +	${REINPLACE_CMD} '/^term/s/:.*/: xterm/' \
 +		${WRKSRC}/${PORTNAME}.conf.sample
 +.endif
  
  do-install:
  	${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${PREFIX}/bin
 @@ -117,16 +136,17 @@ do-install:
  	fi
  .if !defined(NO_INSTALL_MANPAGES)
  	${INSTALL_MAN} ${WRKSRC}/${MAN1} ${MAN1PREFIX}/man/man1
 -	${INSTALL_MAN} ${WRKSRC}/${MAN5} ${MAN1PREFIX}/man/man5
 +	${INSTALL_MAN} ${WRKSRC}/${MAN5} ${MAN5PREFIX}/man/man5
  .endif
  .if !defined(NOPORTDATA)
 -	${MKDIR} ${DATADIR}/fonts
 -	${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)
 +	${INSTALL_DATA} ${WRKSRC}/termcap.${PORTNAME} ${PREFIX}/share/misc/${PORTNAME}.termcap
 +	${INSTALL_DATA} ${WRKSRC}/terminfo.${PORTNAME} ${PREFIX}/share/misc/${PORTNAME}.terminfo
 +	${MKDIR} ${PREFIX}/share/misc/fonts
 +	${INSTALL_DATA} ${WRKSRC}/fonts/*.pcf.gz ${PREFIX}/share/misc/fonts
 +. if !defined(WITHOUT_TERMCAP)
  	${TERMCAP_ADD_RECORD}
 +. endif
 +	-${TIC} ${TERMINFO_FILE} 2>/dev/null
  .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	27 Jan 2011 05:01:22 -0000
 @@ -2,9 +2,10 @@ bin/jfbterm
  @unexec if cmp -s %D/etc/jfbterm.conf.sample %D/etc/jfbterm.conf; then rm -f %D/etc/jfbterm.conf; fi
  etc/jfbterm.conf.sample
  @exec if [ ! -f %D/etc/jfbterm.conf ]; then cp -p %D/%F %B/jfbterm.conf; fi
 -%%PORTDATA%%%%DATADIR%%/fonts/vt100-graphics.pcf.gz
 -%%PORTDATA%%%%DATADIR%%/termcap.jfbterm
 -%%PORTDATA%%%%DATADIR%%/terminfo.jfbterm
 -%%PORTDATA%%@dirrm %%DATADIR%%/fonts
 -%%PORTDATA%%@dirrm %%DATADIR%%
 +%%PORTDATA%%share/misc/fonts/vt100-graphics.pcf.gz
 +%%PORTDATA%%share/misc/jfbterm.termcap
 +%%PORTDATA%%share/misc/jfbterm.terminfo
 +%%PORTDATA%%@dirrmtry share/misc/fonts
  %%PORTDATA%%%%TERMCAP_ADD_RECORD%%
 +%%PORTDATA%%%%TERMCAP_DEL_RECORD%%
 +%%PORTDATA%%%%TIC%%
 --- a.diff ends here ---



More information about the freebsd-ports-bugs mailing list