Bug 92691 - [UPDATE] net/vnc: clean-up
Summary: [UPDATE] net/vnc: clean-up
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Pav Lucistnik
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-02-01 16:50 UTC by Alejandro Pulver
Modified: 2006-03-27 21:54 UTC (History)
0 users

See Also:


Attachments
vnc.diff (7.74 KB, patch)
2006-02-01 16:50 UTC, Alejandro Pulver
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alejandro Pulver 2006-02-01 16:50:02 UTC

* Clean-up.
* Use static pkg-plist.
* Use OPTIONS.
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2006-02-01 16:56:19 UTC
State Changed
From-To: open->feedback

Awaiting maintainers feedback
Comment 2 Marcus Alves Grando freebsd_committer freebsd_triage 2006-02-19 01:55:12 UTC
State Changed
From-To: feedback->open

Feedback timeout.
Comment 3 Pav Lucistnik freebsd_committer freebsd_triage 2006-03-26 23:37:41 UTC
State Changed
From-To: open->feedback

Your patch is incorrect. Note that the port may or may not compile vnc.so 
(X server module). In the old port, both ways are fine and supported. 
In your port, it breaks when vnc.so is not built. 

Please fix. 


Comment 4 Pav Lucistnik freebsd_committer freebsd_triage 2006-03-26 23:37:41 UTC
Responsible Changed
From-To: freebsd-ports-bugs->pav

Track
Comment 5 Alejandro Pulver 2006-03-27 19:10:17 UTC
>Submitter-Id:	current-users 
>Originator:	Alejandro Pulver 
>Organization:	 
>Confidential:	no 
>Synopsis:	Re: ports/92691: [UPDATE] net/vnc: clean-up 
>Severity:	non-critical 
>Priority:	low 
>Category:	ports 
>Class:		update 
>Release:	FreeBSD 5.4-RELEASE i386 
>Environment:


System: FreeBSD 5.4-RELEASE #1: Sat Feb 25 17:20:39 ART 2006
    ale@phobos.mars.bsd:/usr/src/sys/i386/compile/ATHLON-ALE



>Description:


* This new diff maintains the dynamic (optional) installation of vnc.so.


>How-To-Repeat:





>Fix:


--- vnc.diff begins here ---
diff -urdN /usr/ports/net/vnc/Makefile vnc/Makefile
--- /usr/ports/net/vnc/Makefile	Sun Jan 22 03:28:47 2006
+++ vnc/Makefile	Mon Mar 27 15:06:30 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
@@ -49,39 +28,53 @@
 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' \
@@ -96,58 +89,42 @@
 .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}
+	@${CP} ${PKGDIR}/pkg-plist ${PLIST}
+.if defined(WITH_SERVER)
 	@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
+		${ECHO_CMD} @cwd ${X11BASE} ; \
+		${ECHO_CMD} lib/modules/extensions/vnc.so ; \
+		${ECHO_CMD} "@dirrmtry lib/modules/extensions" ; \
+		${ECHO_CMD} "@dirrmtry lib/modules" ; \
+		${ECHO_CMD} "@dirrmtry lib" ; \
+	fi >> ${PLIST}
 .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
+	${INSTALL_PROGRAM} ${WRKSRC}/xc/programs/Xserver/Xvnc ${PREFIX}/bin
+	${INSTALL_SCRIPT} ${WRKSRC}/vncserver ${PREFIX}/bin
 	@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; \
+		${MKDIR} ${X11BASE}/lib/modules/extensions ; \
+		${INSTALL_PROGRAM} \
+			${WRKSRC}/xc/programs/Xserver/vnc/module/vnc.so \
+			${X11BASE}/lib/modules/extensions ; \
 	fi
 	${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 -urdN /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	Mon Mar 27 14:28:02 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 -urdN /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	Mon Mar 27 14:38:48 2006
@@ -0,0 +1,11 @@
+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%%
--- vnc.diff ends here ---
Comment 6 Pav Lucistnik freebsd_committer freebsd_triage 2006-03-27 21:54:08 UTC
State Changed
From-To: feedback->closed

Committed, thanks!