ports/139107: [patch] sysutils/jfbterm: convert to bsdmake

Anonymous swell.k at gmail.com
Mon May 3 21:10:05 UTC 2010


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

From: Anonymous <swell.k at gmail.com>
To: bug-followup at FreeBSD.org
Cc:  
Subject: Re: ports/139107: [patch] sysutils/jfbterm: convert to bsdmake
Date: Tue, 04 May 2010 01:01:26 +0400

 Erm, more cleanups. I'm splitting some patches into separate PRs in case
 this one continues to be ignored, e.g. ports/146271, ports/146230.
 
 - use PREFIX in man pages, sample config file and pkg-message
 - remove redundant PKGMESSAGE assign
 - remove no longer needed step from pkg-message
 - update to 0.6.1
 - some cosmetic changes
 
 BTW, I'm not sure why we need kldload step in pkg-message when setuid
 binary will try to load vesa.ko anyway.
 
 --- jfbterm.diff begins here ---
 Index: sysutils/jfbterm/Makefile
 ===================================================================
 RCS file: /a/.cvsup/ports/sysutils/jfbterm/Makefile,v
 retrieving revision 1.10
 diff -u -p -r1.10 Makefile
 --- sysutils/jfbterm/Makefile	28 Mar 2010 06:43:51 -0000	1.10
 +++ sysutils/jfbterm/Makefile	3 May 2010 20:27:57 -0000
 @@ -5,34 +5,65 @@
  # $FreeBSD: ports/sysutils/jfbterm/Makefile,v 1.10 2010/03/28 06:43:51 dinoex Exp $
  
  PORTNAME=	jfbterm
 -PORTVERSION=	0.6.0
 -PORTREVISION=	2
 +PORTVERSION=	0.6.1
  CATEGORIES=	sysutils
 -MASTER_SITES=	http://www.ac.auone-net.jp/~baba/jfbterm/ \
 +MASTER_SITES=	http://www.ac.auone-net.jp/~baba/${PORTNAME}/ \
  		http://chirashi-no-ura.net/files/
  DISTNAME=	${PORTNAME}-FreeBSD-${PORTVERSION}
  
  MAINTAINER=	bsdports at gmail.com
  COMMENT=	Multilanguage can be displayed on the console
  
 -LIB_DEPENDS=	png.6:${PORTSDIR}/graphics/png
 -RUN_DEPENDS=	${LOCALBASE}/lib/X11/fonts/local/unifont.pcf.gz:${PORTSDIR}/x11-fonts/gnu-unifont
 -
 -USE_ICONV=	yes
 -USE_GNOME=	pkgconfig
 -PKGMESSAGE=	${WRKDIR}/pkg-message
  SUB_FILES=	pkg-message
 -USE_GMAKE=	yes
 -GNU_CONFIGURE=	yes
 -USE_AUTOTOOLS=	autoconf:262 automake:14
 -CONFIGURE_ENV=	CPPFLAGS="-I${LOCALBASE}/include" \
 -		LDFLAGS="-L${LOCALBASE}/lib" \
 -		--mandir="${LOCALBASE}/man"
 +MAKEFILE=	BSDmakefile
 +
 +OPTIONS=	ICONV	"encodings support"		On \
 +		PNG	"splash .png support"		On \
 +		UNIFONT	"install pan-unicode font"	On
  
 -MAN1=	jfbterm.1
 -MAN5=	jfbterm.conf.5
 +.include <bsd.port.pre.mk>
  
 -post-install:
 -	@${CAT} ${PKGMESSAGE}
 +.if !defined(NOMAN)
 +MAN1=		${PORTNAME}.1
 +MAN5=		${PORTNAME}.conf.5
 +.endif
 +
 +.if !defined(NOMANCOMPRESS)
 +MANCOMPRESSED=	yes
 +.endif
 +
 +.if !defined(WITHOUT_ICONV)
 +USE_ICONV=	yes
 +.else
 +MAKE_ENV+=	WITHOUT_ICONV=
 +.endif
 +
 +.if !defined(WITHOUT_PNG)
 +LIB_DEPENDS+=	png.6:${PORTSDIR}/graphics/png
 +.else
 +MAKE_ENV+=	WITHOUT_PNG=
 +.endif
 +
 +.if !defined(WITHOUT_UNIFONT)
 +RUN_DEPENDS+=	${LOCALBASE}/lib/X11/fonts/local/unifont.pcf.gz:${PORTSDIR}/x11-fonts/gnu-unifont
 +.endif
 +
 +post-extract:	.SILENT
 +	${MKDIR} ${WRKSRC}/obj
 +.for f in BSDmakefile config.h
 +	${CP} ${FILESDIR}/${f} ${WRKSRC}
 +.endfor
 +
 +post-patch:	.SILENT
 +	( cd ${WRKSRC}; ${REINPLACE_CMD} 's|/usr/local|${PREFIX}|g' \
 +		${MAN1} ${MAN5} ${PORTNAME}.conf.sample.FreeBSD )
 +	${REINPLACE_CMD} '/VERSION/s/".*"/"${PORTVERSION}"/' ${WRKSRC}/config.h
 +
 +post-install:	.SILENT
 +	if  [ ! -f ${PREFIX}/etc/${PORTNAME}.conf ]; then \
 +		${INSTALL_DATA} ${PREFIX}/etc/${PORTNAME}.conf.sample \
 +			${PREFIX}/etc/${PORTNAME}.conf; \
 +	fi
 +	${CAT} ${PKGMESSAGE}
  
 -.include <bsd.port.mk>
 +.include <bsd.port.post.mk>
 Index: sysutils/jfbterm/distinfo
 ===================================================================
 RCS file: /a/.cvsup/ports/sysutils/jfbterm/distinfo,v
 retrieving revision 1.4
 diff -u -p -r1.4 distinfo
 --- sysutils/jfbterm/distinfo	1 Mar 2009 19:38:06 -0000	1.4
 +++ sysutils/jfbterm/distinfo	2 May 2010 14:26:11 -0000
 @@ -1,3 +1,3 @@
 -MD5 (jfbterm-FreeBSD-0.6.0.tar.gz) = 6b29125e987e11d779093bfe22c16792
 -SHA256 (jfbterm-FreeBSD-0.6.0.tar.gz) = adad94867d07e4f29020c31144786de9927d97752529b9ff6f7d81d1fc402915
 -SIZE (jfbterm-FreeBSD-0.6.0.tar.gz) = 203682
 +MD5 (jfbterm-FreeBSD-0.6.1.tar.gz) = fc5946d2ee0a9dae0d5aa6fc806416c3
 +SHA256 (jfbterm-FreeBSD-0.6.1.tar.gz) = 8cd44a8adcf3e329fdff762e7395ad1f37bcc23702a655802175d9baf5416026
 +SIZE (jfbterm-FreeBSD-0.6.1.tar.gz) = 218596
 Index: sysutils/jfbterm/pkg-plist
 ===================================================================
 RCS file: /a/.cvsup/ports/sysutils/jfbterm/pkg-plist,v
 retrieving revision 1.1
 diff -u -p -r1.1 pkg-plist
 --- sysutils/jfbterm/pkg-plist	19 Mar 2008 06:43:16 -0000	1.1
 +++ sysutils/jfbterm/pkg-plist	30 Sep 2009 18:17:47 -0000
 @@ -1,7 +1,9 @@
  bin/jfbterm
 + at 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
 -%%DATADIR%%/fonts/vt100-graphics.pcf.gz
 -%%DATADIR%%/termcap.jfbterm
 -%%DATADIR%%/terminfo.jfbterm
 - at dirrm %%DATADIR%%/fonts
 - at dirrm %%DATADIR%%
 + at 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%%
 Index: sysutils/jfbterm/files/BSDmakefile
 ===================================================================
 RCS file: sysutils/jfbterm/files/BSDmakefile
 diff -N sysutils/jfbterm/files/BSDmakefile
 --- /dev/null	1 Jan 1970 00:00:00 -0000
 +++ sysutils/jfbterm/files/BSDmakefile	3 May 2010 19:09:15 -0000
 @@ -0,0 +1,71 @@
 +PROG = jfbterm
 +MAN  = ${PROG}.1 ${PROG}.conf.5
 +
 +ARCH         ?= ${MACHINE_ARCH}
 +LOCALBASE    ?= /usr/local
 +PREFIX       ?= ${LOCALBASE}
 +BINDIR       ?= ${PREFIX}/bin
 +MANDIR       ?= ${PREFIX}/man/man
 +DATADIR      ?= ${PREFIX}/share/${PROG}
 +LIBICONV     ?= ${LOCALBASE}/lib/libiconv.a
 +LIBPNG       ?= ${LOCALBASE}/lib/libpng.a
 +INSTALL_DIR  ?= ${INSTALL} -d
 +INSTALL_DATA ?= ${INSTALL} -o ${SHAREOWN} -g ${SHAREGRP} -m ${SHAREMODE}
 +
 +CSTD   ?= gnu89
 +CFLAGS += -I${LOCALBASE}/include
 +CFLAGS += -DHAVE_CONFIG_H
 +CFLAGS += -DSYSCONFDIR=\"${PREFIX}/etc\"
 +DPADD  += ${LIBUTIL}
 +LDADD  += -lutil
 +
 +.if ${ARCH:Mamd64} || ${ARCH:Mi386}
 +CFLAGS += -DENABLE_VGA16FB
 +.endif
 +
 +.if defined(WITH_DEBUG)
 +DEBUG_FLAGS ?= -g
 +CFLAGS      += -DDEBUG
 +CFLAGS      += -DPCF_DEBUG
 +.endif
 +
 +.if !defined(WITHOUT_ICONV)
 +CFLAGS += -DENABLE_UTF8
 +CFLAGS += -DENABLE_OTHER_CODING_SYSTEM
 +LDADD  += -L${LOCALBASE}/lib
 +LDADD  += -liconv
 +DPADD  += ${LIBICONV}
 +.endif
 +
 +.if !defined(WITHOUT_PNG)
 +CFLAGS += -DWITH_LIBPNG
 +LDADD  += -L${LOCALBASE}/lib
 +LDADD  += -lpng
 +LDADD  += -lz
 +LDADD  += -lm
 +DPADD  += ${LIBPNG}
 +DPADD  += ${LIBZ}
 +DPADD  += ${LIBM}
 +.endif
 +
 +.if !defined(WITHOUT_SETUID)
 +BINMODE = 4555
 +.endif
 +
 +SRCS  =	main.c console.c framebuffer.c memctl.c accessor.c palette.c \
 +	eastasianwidth.c font.c picofont.c getcap.c pcf.c pen.c term.c \
 +	utilities.c privilege.c csv.c vterm.c vtermlow.c cursor.c \
 +	splash-bmp.c splash-png.c splash.c bell.c screensaver.c mouse.c \
 +	clipboard.c keyboard.c
 +
 +afterinstall:
 +	${INSTALL_DATA} ${.CURDIR}/jfbterm.conf.sample.FreeBSD \
 +		${PREFIX}/etc/${PROG}.conf.sample
 +.if !defined(NOPORTDATA)
 +	${INSTALL_DIR} ${DATADIR}/fonts
 +	${INSTALL_DATA} ${.CURDIR}/fonts/*.pcf.gz ${DATADIR}/fonts
 +	${INSTALL_DATA} ${.CURDIR}/termcap.jfbterm ${DATADIR}
 +	${INSTALL_DATA} ${.CURDIR}/terminfo.jfbterm ${DATADIR}
 +.endif
 +
 +.include <bsd.prog.mk>
 Index: sysutils/jfbterm/files/config.h
 ===================================================================
 RCS file: sysutils/jfbterm/files/config.h
 diff -N sysutils/jfbterm/files/config.h
 --- /dev/null	1 Jan 1970 00:00:00 -0000
 +++ sysutils/jfbterm/files/config.h	3 May 2010 19:58:01 -0000
 @@ -0,0 +1,9 @@
 +#define VERSION "0.6.1"
 +#define GUNZIP_PATH "/usr/bin/gunzip"
 +#define ENABLE_8BPP 1
 +#define ENABLE_15BPP 1
 +#define ENABLE_16BPP 1
 +#define ENABLE_24BPP 1
 +#define ENABLE_32BPP 1
 +#define ENABLE_SPLASH_SCREEN 1
 +#define ENABLE_256_COLOR 1
 Index: sysutils/jfbterm/files/patch-configure
 ===================================================================
 RCS file: sysutils/jfbterm/files/patch-configure
 diff -N sysutils/jfbterm/files/patch-configure
 --- sysutils/jfbterm/files/patch-configure	12 Mar 2010 20:39:12 -0000	1.1
 +++ /dev/null	1 Jan 1970 00:00:00 -0000
 @@ -1,11 +0,0 @@
 ---- configure.in.orig	2009-02-10 19:40:45.000000000 -0500
 -+++ configure.in	2010-02-22 16:37:33.000000000 -0500
 -@@ -111,7 +111,7 @@
 -   case $system in
 -   Linux|FreeBSD)
 -     case $machine in
 --    i?86|x86_64)
 -+    amd64|i?86|x86_64)
 -       AC_DEFINE(ENABLE_VGA16FB)
 -       ;;
 -     *)
 Index: sysutils/jfbterm/files/patch-screensaver.c
 ===================================================================
 RCS file: sysutils/jfbterm/files/patch-screensaver.c
 diff -N sysutils/jfbterm/files/patch-screensaver.c
 --- /dev/null	1 Jan 1970 00:00:00 -0000
 +++ sysutils/jfbterm/files/patch-screensaver.c	24 Sep 2009 08:42:21 -0000
 @@ -0,0 +1,11 @@
 +--- screensaver.c~
 ++++ screensaver.c
 +@@ -61,7 +61,7 @@
 + #define UNBLANK (V_DISPLAY_ON)
 + #elif defined (__NetBSD__) || defined (__OpenBSD__)
 + #define UNBLANK (WSDISPLAYIO_VIDEO_ON)
 +-#elif
 ++#else
 + 	#error not implement
 + #endif
 + 
 Index: sysutils/jfbterm/files/patch-splash-png.c
 ===================================================================
 RCS file: sysutils/jfbterm/files/patch-splash-png.c
 diff -N sysutils/jfbterm/files/patch-splash-png.c
 --- /dev/null	1 Jan 1970 00:00:00 -0000
 +++ sysutils/jfbterm/files/patch-splash-png.c	2 May 2010 08:59:29 -0000
 @@ -0,0 +1,11 @@
 +--- splash-png.c~
 ++++ splash-png.c
 +@@ -103,7 +103,7 @@ u_char *read_png_file(FILE *stream, u_in
 + 	if (color_type == PNG_COLOR_TYPE_PALETTE)
 + 		png_set_palette_to_rgb(png_ptr);
 + 	if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8)
 +-		png_set_gray_1_2_4_to_8(png_ptr);
 ++		png_set_expand_gray_1_2_4_to_8(png_ptr);
 + 	if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS))
 + 		png_set_tRNS_to_alpha(png_ptr);
 + 	if (bit_depth == 16)
 Index: sysutils/jfbterm/files/patch-utmpx
 ===================================================================
 RCS file: sysutils/jfbterm/files/patch-utmpx
 diff -N sysutils/jfbterm/files/patch-utmpx
 --- sysutils/jfbterm/files/patch-utmpx	4 Feb 2010 17:04:19 -0000	1.1
 +++ /dev/null	1 Jan 1970 00:00:00 -0000
 @@ -1,95 +0,0 @@
 ---- term.c.orig	2009-02-07 12:30:17.000000000 -0500
 -+++ term.c	2010-01-28 13:40:25.000000000 -0500
 -@@ -59,7 +59,11 @@
 - #include <termios.h>
 - #include <time.h>
 - #include <unistd.h>
 -+#ifdef HAVE_UTMP_H
 - #include <utmp.h>
 -+#else
 -+#include <utmpx.h>
 -+#endif
 - 
 - #if defined (__linux__)
 - #include <sys/vt.h>
 -@@ -523,6 +527,41 @@ static void writeLoginRecord(void)
 - 	pututline(&utmp);
 - 	endutent();
 - 	privilege_off();
 -+#elif defined (__FreeBSD__) && (__FreeBSD_version >= 900007)
 -+	struct utmpx utmp;
 -+	struct passwd *pw;
 -+	char *tn;
 -+
 -+	assert(initialized);
 -+
 -+	bzero(&utmp, sizeof(utmp));
 -+	pw = getpwuid(privilege_getUID());
 -+	if (pw == NULL) {
 -+		warnx("who are you?");
 -+		return; /* give up */
 -+	}
 -+	if (strncmp(self->device, "/dev/pts/", 9) == 0 ||
 -+	    strncmp(self->device, "/dev/tty", 8) == 0) {
 -+		/* Unix98 style: "/dev/pts/\*" */
 -+		/* BSD style: "/dev/tty[l-sL-S][0-9a-v]" */
 -+		tn = self->device + strlen("/dev/");
 -+		if (strlen(tn) < 5)
 -+			return; /* bad format */
 -+		strncpy(utmp.ut_id, tn, sizeof(utmp.ut_id));
 -+	} else
 -+		return; /* bad format */
 -+	utmp.ut_type = DEAD_PROCESS;
 -+	privilege_on();
 -+	setutxent();
 -+	getutxid(&utmp);
 -+	utmp.ut_type = USER_PROCESS;
 -+	utmp.ut_pid = getpid();
 -+	strncpy(utmp.ut_line, tn, sizeof(utmp.ut_line));
 -+	strncpy(utmp.ut_user, pw->pw_name, sizeof(utmp.ut_user));
 -+	gettimeofday(&(utmp.ut_tv), NULL);
 -+	pututxline(&utmp);
 -+	endutxent();
 -+	privilege_off();
 - #elif defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__)
 - 	struct utmp utmp;
 - 	struct passwd *pw;
 -@@ -600,6 +639,38 @@ static void eraseLoginRecord(void)
 - 	pututline(utp);
 - 	endutent();
 - 	privilege_off();
 -+#elif defined (__FreeBSD__) && (__FreeBSD_version >= 900007)
 -+	struct utmpx utmp, *utp;
 -+	char *tn;
 -+
 -+	assert(initialized);
 -+
 -+	bzero(&utmp, sizeof(utmp));
 -+	if (strncmp(self->device, "/dev/pts/", 9) == 0 ||
 -+	    strncmp(self->device, "/dev/tty", 8) == 0) {
 -+		/* Unix98 style: "/dev/pts/\*" */
 -+		/* BSD style: "/dev/tty[l-sL-S][0-9a-v]" */
 -+		tn = self->device + strlen("/dev/");
 -+		if (strlen(tn) < 5)
 -+			return; /* bad format */
 -+		strncpy(utmp.ut_id, tn, sizeof(utmp.ut_id));
 -+	} else
 -+		return; /* bad format */
 -+	utmp.ut_type = USER_PROCESS;
 -+	privilege_on();
 -+	setutxent();
 -+	utp = getutxid(&utmp);
 -+	if (utp == NULL) {
 -+		endutxent();
 -+		privilege_off();
 -+		return; /* give up */
 -+	}
 -+	utp->ut_type = DEAD_PROCESS;
 -+	bzero(utp->ut_user, sizeof(utmp.ut_user));
 -+	gettimeofday(&(utp->ut_tv), NULL);
 -+	pututxline(utp);
 -+	endutxent();
 -+	privilege_off();
 - #elif defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__)
 - 	struct utmp utmp;
 - 	char *tn;
 Index: sysutils/jfbterm/files/pkg-message.in
 ===================================================================
 RCS file: /a/.cvsup/ports/sysutils/jfbterm/files/pkg-message.in,v
 retrieving revision 1.2
 diff -u -p -r1.2 pkg-message.in
 --- sysutils/jfbterm/files/pkg-message.in	22 Apr 2008 15:39:30 -0000	1.2
 +++ sysutils/jfbterm/files/pkg-message.in	3 May 2010 20:44:12 -0000
 @@ -10,12 +10,9 @@ When you want to read automatically when
  please write vesa_load="YES" in /boot/loader.conf
  
  Add terminal capability of jfbterm.
 -    # cat %%LOCALBASE%%/share/jfbterm/termcap.jfbterm >> /usr/share/misc/termcap
 +    # cat %%PREFIX%%/share/jfbterm/termcap.jfbterm >> /usr/share/misc/termcap
      # cap_mkdb /usr/share/misc/termcap
  
 -Prepare configuration file
 -    # cp /usr/local/etc/jfbterm.conf.sample /usr/local/etc/jfbterm.conf
 -
  Please confirm details on author's page. 
  	http://www.ac.auone-net.jp/~baba/jfbterm/
  
 --- jfbterm.diff ends here ---



More information about the freebsd-ports-bugs mailing list