Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 1 Feb 2006 13:44:58 -0300
From:      "Alejandro Pulver" <alejandro@varnet.biz>
To:        "FreeBSD gnats submit" <FreeBSD-gnats-submit@FreeBSD.org>
Subject:   ports/92691: [UPDATE] net/vnc: clean-up
Message-ID:  <1138812298.0@phobos.mars.bsd>
Resent-Message-ID: <200602011650.k11Go3Pl097039@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         92691
>Category:       ports
>Synopsis:       [UPDATE] net/vnc: clean-up
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Wed Feb 01 16:50:02 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Alejandro Pulver
>Release:        FreeBSD 5.4-RELEASE i386
>Organization:
>Environment:


System: FreeBSD 5.4-RELEASE #0: Sat May 21 12:14:47 ART 2005
    root@ale.varnet.bsd:/usr/src/sys/i386/compile/ATHLON-ALE



>Description:


* Clean-up.
* Use static pkg-plist.
* Use OPTIONS.


>How-To-Repeat:





>Fix:


--- vnc.diff begins here ---
diff -urN /usr/ports/net/vnc/Makefile vnc/Makefile
--- /usr/ports/net/vnc/Makefile	Sun Jan 22 03:28:47 2006
+++ vnc/Makefile	Wed Feb  1 13:38:25 2006
@@ -8,35 +8,14 @@
 PORTNAME=	vnc
 PORTVERSION=	4.1.1
 CATEGORIES=	net ipv6
-# This is a placeholder MASTER_SITES entry -- see the pre-fetch target.
 MASTER_SITES=	http://www.realvnc.com/:vnc
-.if !defined(WITHOUT_SERVER)
-MASTER_SITES+=	${MASTER_SITE_XFREE:S/$/:x/}
-MASTER_SITE_SUBDIR+=	4.3.0/:x
-.endif
 DISTNAME=	vnc-4_1_1-unixsrc
-DISTFILES=	vnc-4_1_1-unixsrc.tar.gz:vnc
-.if !defined(WITHOUT_SERVER)
-DISTFILES+=	X430src-1.tgz:x \
-		X430src-2.tgz:x \
-		X430src-3.tgz:x
-.endif
+DISTFILES=	${DISTNAME}${EXTRACT_SUFX}:vnc
 DIST_SUBDIR=	xc
 
 MAINTAINER=	james@now.ie
 COMMENT=	Display X and Win32 desktops on remote X/Win32/Java displays
 
-.if !defined(WITHOUT_SERVER)
-RUN_DEPENDS=	xauth:${X_CLIENTS_PORT} \
-		${X11BASE}/lib/X11/fonts/misc/6x13-ISO8859-1.pcf.gz:${X_FONTS_MISC_PORT}
-
-USE_PERL5=	yes
-
-EXTRA_PATCHES=	${WRKSRC}/xc.patch \
-		${PATCHDIR}/vnc.def-patch \
-		${PATCHDIR}/FreeBSD.cf-patch
-.endif
-
 GNU_CONFIGURE=	yes
 # The vnc supplied zlib seg. faults if compiled with -O
 CONFIGURE_ARGS=	--with-installed-zlib
@@ -46,42 +25,55 @@
 USE_XPM=	yes
 
 WRKSRC=		${WRKDIR}/${DISTNAME}/unix
-PLIST=		${WRKDIR}/pkg-plist
 CONFLICTS=	vnc-[0-9]* tightvnc-[0-9]*
 
+OPTIONS=	SERVER "Install VNC server components" on
+
 MAN1=		vncviewer.1 \
 		vncpasswd.1 \
 		vncconfig.1 \
 		x0vncserver.1
 
-.if !defined(WITHOUT_SERVER)
+.include <bsd.port.pre.mk>
+
+.if defined(WITH_SERVER)
+# This is a placeholder MASTER_SITES entry -- see the pre-fetch target.
+MASTER_SITES+=	${MASTER_SITE_XFREE:S/$/:x/}
+MASTER_SITE_SUBDIR+=	4.3.0/:x
+DISTFILES+=	X430src-1.tgz:x \
+		X430src-2.tgz:x \
+		X430src-3.tgz:x
+
+RUN_DEPENDS+=	xauth:${X_CLIENTS_PORT} \
+		${X11BASE}/lib/X11/fonts/misc/6x13-ISO8859-1.pcf.gz:${X_FONTS_MISC_PORT}
+
+USE_PERL5=	yes
+
+EXTRA_PATCHES+=	${WRKSRC}/xc.patch \
+		${PATCHDIR}/vnc.def-patch \
+		${PATCHDIR}/FreeBSD.cf-patch
+
 MAN1+=		Xvnc.1 \
 		vncserver.1
-.endif
 
-.include <bsd.port.pre.mk>
+PLIST_SUB+=	SERVER=""
+.else
+PLIST_SUB+=	SERVER="@comment "
+.endif
 
 # No direct URL for VNC -- have to pseudo-submit their webform.
 pre-fetch:
 	@${MKDIR} ${DISTDIR}/${DIST_SUBDIR} && cd ${DISTDIR}/${DIST_SUBDIR} && \
 	${FETCH_CMD} -o ${DISTNAME}.tar.gz 'http://www.realvnc.com/cgi-bin/download.cgi?product=free4/src/unix&acceptLicense=1&filever=4.1.1&filetype=tar_gz&haveDetails=1'
-.if !defined(WITHOUT_SERVER)
-	@${ECHO_MSG} ""
-	@${ECHO_MSG} " ######################################################"
-	@${ECHO_MSG} " # Use 'make -DWITHOUT_SERVER ...' if you do not wish #"
-	@${ECHO_MSG} " # to compile/install the VNC server components.      #"
-	@${ECHO_MSG} " ######################################################"
-	@${ECHO_MSG} ""
-.endif
 
 post-extract:
-.if !defined(WITHOUT_SERVER)
+.if defined(WITH_SERVER)
 	@cd ${WRKSRC} && ${TAR} -cf - -C ${WRKDIR} xc | ${TAR} -xf - && \
 	${RM} -rf ${WRKDIR}/xc
 .endif
 
 post-patch:
-.if !defined(WITHOUT_SERVER)
+.if defined(WITH_SERVER)
 	@${REINPLACE_CMD} -e 's|%%X11BASE%%|${X11BASE}|g' \
 		${WRKSRC}/xc/config/cf/vnc.def
 	@${REINPLACE_CMD} -e 's|%%CC%%|${CC}|g' -e 's|%%CXX%%|${CXX}|g' \
@@ -95,59 +87,28 @@
 	cd ${WRKSRC}/xc && make CC=${CC} CXX=${CXX} World
 .endif
 
-pre-install:
-	@${RM} -f ${PLIST}
-	@${TOUCH} -f ${PLIST}
-	@${ECHO_CMD} bin/vncviewer >> ${PLIST}
-	@${ECHO_CMD} bin/vncpasswd >> ${PLIST}
-	@${ECHO_CMD} bin/vncconfig >> ${PLIST}
-	@${ECHO_CMD} bin/x0vncserver >> ${PLIST}
-.if !defined(WITHOUT_SERVER)
-	@${ECHO_CMD} bin/Xvnc >> ${PLIST}
-	@${ECHO_CMD} bin/vncserver >> ${PLIST}
-	@${ECHO_CMD} share/vnc/classes/index.vnc >> ${PLIST}
-	@${ECHO_CMD} share/vnc/classes/logo150x150.gif >> ${PLIST}
-	@${ECHO_CMD} share/vnc/classes/vncviewer.jar >> ${PLIST}
-	@${ECHO_CMD} @dirrm share/vnc/classes >> ${PLIST}
-	@${ECHO_CMD} @dirrm share/vnc >> ${PLIST}
-	@if [ -f ${WRKSRC}/xc/programs/Xserver/vnc/module/vnc.so ]; then \
-		${ECHO_CMD} @cwd ${X11BASE} >> ${PLIST} ; \
-		${ECHO_CMD} lib/modules/extensions/vnc.so >> ${PLIST} ; \
-		${ECHO_CMD} "@dirrmtry lib/modules/extensions" >> ${PLIST} ; \
-		${ECHO_CMD} "@dirrmtry lib/modules" >> ${PLIST} ; \
-		${ECHO_CMD} "@dirrmtry lib" >> ${PLIST} ; \
-	fi
-.endif
-
 do-install:
-	${INSTALL_PROGRAM} ${WRKSRC}/vncviewer/vncviewer ${PREFIX}/bin/vncviewer
-	${INSTALL_PROGRAM} ${WRKSRC}/vncpasswd/vncpasswd ${PREFIX}/bin/vncpasswd
-	${INSTALL_PROGRAM} ${WRKSRC}/vncconfig/vncconfig ${PREFIX}/bin/vncconfig
-	${INSTALL_PROGRAM} ${WRKSRC}/x0vncserver/x0vncserver \
-		${PREFIX}/bin/x0vncserver
-	${INSTALL_MAN} ${WRKSRC}/vncviewer/vncviewer.man \
-		${PREFIX}/man/man1/vncviewer.1
-	${INSTALL_MAN} ${WRKSRC}/vncpasswd/vncpasswd.man \
-		${PREFIX}/man/man1/vncpasswd.1
-	${INSTALL_MAN} ${WRKSRC}/vncconfig/vncconfig.man \
-		${PREFIX}/man/man1/vncconfig.1
-	${INSTALL_MAN} ${WRKSRC}/x0vncserver/x0vncserver.man \
-		${PREFIX}/man/man1/x0vncserver.1
-.if !defined(WITHOUT_SERVER)
+.for f in vncviewer vncpasswd vncconfig x0vncserver
+	${INSTALL_PROGRAM} ${WRKSRC}/${f}/${f} ${PREFIX}/bin
+	${INSTALL_MAN} ${WRKSRC}/${f}/${f}.man ${PREFIX}/man/man1/${f}.1
+.endfor
+.if defined(WITH_SERVER)
 	@${REINPLACE_CMD} -e \
-		's|/usr/local/vnc/classes|${PREFIX}/share/vnc/classes|g' \
+		's|/usr/local/vnc/classes|${DATADIR}/classes|g' \
 		${WRKSRC}/vncserver
-	${INSTALL_PROGRAM} ${WRKSRC}/xc/programs/Xserver/Xvnc ${PREFIX}/bin/Xvnc
-	${INSTALL_SCRIPT} ${WRKSRC}/vncserver ${PREFIX}/bin/vncserver
-	@if [ -f ${WRKSRC}/xc/programs/Xserver/vnc/module/vnc.so ]; then \
-		${MKDIR} ${X11BASE}/lib/modules/extensions; \
-		${INSTALL_DATA} ${WRKSRC}/xc/programs/Xserver/vnc/module/vnc.so ${X11BASE}/lib/modules/extensions; \
-	fi
+	${INSTALL_PROGRAM} ${WRKSRC}/xc/programs/Xserver/Xvnc ${PREFIX}/bin
+	${INSTALL_SCRIPT} ${WRKSRC}/vncserver ${PREFIX}/bin
+	${MKDIR} ${X11BASE}/lib/modules/extensions
+	${INSTALL_PROGRAM} ${WRKSRC}/xc/programs/Xserver/vnc/module/vnc.so \
+		${X11BASE}/lib/modules/extensions
 	${INSTALL_MAN} ${WRKSRC}/xc/programs/Xserver/Xvnc.man \
 		${PREFIX}/man/man1/Xvnc.1
 	${INSTALL_MAN} ${WRKSRC}/vncserver.man ${PREFIX}/man/man1/vncserver.1
-	${MKDIR} ${PREFIX}/share/vnc/classes
-	${CP} ${WRKDIR}/${DISTNAME}/common/javabin/* ${PREFIX}/share/vnc/classes
+	${MKDIR} ${DATADIR}/classes
+	${INSTALL_DATA} ${WRKSRC}/../common/javabin/* ${DATADIR}/classes
+	${MKDIR} ${X11BASE}/lib/modules/extensions
+	${INSTALL_PROGRAM} ${WRKSRC}/xc/programs/Xserver/vnc/module/vnc.so \
+		${X11BASE}/lib/modules/extensions
 .endif
 
 .include <bsd.port.post.mk>
diff -urN /usr/ports/net/vnc/pkg-descr vnc/pkg-descr
--- /usr/ports/net/vnc/pkg-descr	Sun Nov 24 18:47:11 2002
+++ vnc/pkg-descr	Tue Jan 31 23:08:37 2006
@@ -1,7 +1,7 @@
-"VNC stands for Virtual Network Computing. It is, in essence, a remote
- display system which allows you to view a computing 'desktop'
- environment not only on the machine where it is running, but from
- anywhere on the Internet and from a wide variety of machine
- architectures."
+VNC stands for Virtual Network Computing. It is, in essence, a remote
+display system which allows you to view a computing 'desktop'
+environment not only on the machine where it is running, but from
+anywhere on the Internet and from a wide variety of machine
+architectures.
 
 WWW: http://www.realvnc.com/
diff -urN /usr/ports/net/vnc/pkg-plist vnc/pkg-plist
--- /usr/ports/net/vnc/pkg-plist	Wed Dec 31 21:00:00 1969
+++ vnc/pkg-plist	Wed Feb  1 12:16:00 2006
@@ -0,0 +1,16 @@
+bin/vncviewer
+bin/vncpasswd
+bin/vncconfig
+bin/x0vncserver
+%%SERVER%%bin/Xvnc
+%%SERVER%%bin/vncserver
+%%SERVER%%%%DATADIR%%/classes/index.vnc
+%%SERVER%%%%DATADIR%%/classes/logo150x150.gif
+%%SERVER%%%%DATADIR%%/classes/vncviewer.jar
+%%SERVER%%@dirrm %%DATADIR%%/classes
+%%SERVER%%@dirrm %%DATADIR%%
+@cwd %%X11BASE%%
+lib/modules/extensions/vnc.so
+@dirrmtry lib/modules/extensions
+@dirrmtry lib/modules
+@dirrmtry lib
--- vnc.diff ends here ---



>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1138812298.0>