diff --git a/en/ports/Makefile b/en/ports/Makefile
index 33fa77c27a..3645e30baa 100644
--- a/en/ports/Makefile
+++ b/en/ports/Makefile
@@ -1,4 +1,4 @@
-# $FreeBSD: www/en/ports/Makefile,v 1.37 2004/09/25 11:59:58 simon Exp $
+# $FreeBSD: www/en/ports/Makefile,v 1.38 2004/11/05 12:47:07 simon Exp $
 
 .if exists(../Makefile.conf)
 .include "../Makefile.conf"
@@ -10,11 +10,7 @@
 .include "Makefile.inc"
 .endif
 
-CVS_READONLY?=	YES
-CVS_OPT+=	-Q
-.if !empty(CVS_READONLY)
-CVS_OPT+=	-R
-.endif
+FETCH_OPT?=	-am
 
 #
 # Force NO_TIDY for the ports web pages, since it takes a long time to
@@ -23,23 +19,15 @@ CVS_OPT+=	-R
 #
 NO_TIDY=	YES
 
-#
-# This hack is allows to build www/ tree for case when ports/ located
-# in other repository, for example Repository of Translation Project
-#
-.if defined(PORTSCVSROOT) && !empty(PORTSCVSROOT)
-CVS_OPT+=	-d ${PORTSCVSROOT}
-.endif
-
 .if defined(PINDEX_OVERRIDE)
 ${INDEX}: ${PINDEX_OVERRIDE}
 	${CP} ${PINDEX_OVERRIDE} ${INDEX}
-.elif defined(NOPORTSCVS)
+.elif defined(NOPORTSNET)
 ${INDEX}: $${PORTSBASE}/${PINDEX}
 	${CP} ${PORTSBASE}/${PINDEX} ${INDEX}
 .else
 ${INDEX}:
-	${CVS} ${CVS_OPT} co -p ${PINDEX} > ${INDEX}
+	${FETCH} ${FETCH_OPT} ${INDEXURI}
 .endif
 
 # build the list of available packages only on the 
diff --git a/es/ports/Makefile b/es/ports/Makefile
index 8ac652d75e..b50d600972 100644
--- a/es/ports/Makefile
+++ b/es/ports/Makefile
@@ -1,4 +1,4 @@
-# $FreeBSD: www/es/ports/Makefile,v 1.10 2001/12/06 12:28:23 phantom Exp $
+# $FreeBSD: www/es/ports/Makefile,v 1.11 2001/12/12 11:57:37 phantom Exp $
 
 .if exists(../Makefile.conf)
 .include "../Makefile.conf"
@@ -10,12 +10,14 @@
 .include "Makefile.inc"
 .endif
 
+FETCH_OPT?=	-am
+
 .if defined(NOPORTSCVS)
 ${INDEX}: $${PORTSBASE}/${PINDEX}
 	cp ${PORTSBASE}/${PINDEX} ${INDEX}
 .else
 ${INDEX}:
-	cvs -QR co -p ${PINDEX} > ${INDEX}
+	${FETCH} ${FETCH_OPT} ${INDEXURI}
 .endif
 
 # build the list of available packages only on the 
diff --git a/ja/ports/Makefile b/ja/ports/Makefile
index af9277706b..010de6884e 100644
--- a/ja/ports/Makefile
+++ b/ja/ports/Makefile
@@ -1,4 +1,4 @@
-# $FreeBSD: www/ja/ports/Makefile,v 1.25 2001/11/19 15:35:42 hrs Exp $
+# $FreeBSD: www/ja/ports/Makefile,v 1.26 2004/11/01 06:36:22 rushani Exp $
 # The FreeBSD Japanese Documentation Project
 # Original revision: 1.37
 
@@ -12,29 +12,17 @@
 .include "../../en/ports/Makefile.inc"
 .endif
 
-CVS_READONLY?=	YES
-CVS_OPT+=	-Q
-.if !empty(CVS_READONLY)
-CVS_OPT+=	-R
-.endif
-
-#
-# This hack is allows to build www/ tree for case when ports/ located
-# in other repository, for example Repository of Translation Project
-#
-.if defined(PORTSCVSROOT) && !empty(PORTSCVSROOT)
-CVS_OPT+=	-d ${PORTSCVSROOT}
-.endif
+FETCH_OPT?=	-am
 
 .if defined(PINDEX_OVERRIDE)
 ${INDEX}: ${PINDEX_OVERRIDE}
 	${CP} ${PINDEX_OVERRIDE} ${INDEX}
-.elif defined(NOPORTSCVS)
+.elif defined(NOPORTSNET)
 ${INDEX}: $${PORTSBASE}/${PINDEX}
 	${CP} ${PORTSBASE}/${PINDEX} ${INDEX}
 .else
 ${INDEX}:
-	${CVS} ${CVS_OPT} co -p ${PINDEX} > ${INDEX}
+	${FETCH} ${FETCH_OPT} ${INDEXURI}
 .endif
 
 # build the list of available packages only on the 
diff --git a/ru/ports/Makefile b/ru/ports/Makefile
index 4b17935a14..7fe9b62b16 100644
--- a/ru/ports/Makefile
+++ b/ru/ports/Makefile
@@ -1,7 +1,7 @@
 #
 # The FreeBSD Russian Documentation Project
 #
-# $FreeBSD$
+# $FreeBSD: www/ru/ports/Makefile,v 1.7 2004/03/23 23:04:23 phantom Exp $
 # $FreeBSDru: frdp/www/ru/ports/Makefile,v 1.9 2004/03/23 21:09:19 phantom Exp $
 #
 # Original revision: 1.36
@@ -17,27 +17,14 @@
 .include "Makefile.inc"
 .endif
 
-CVS_READONLY?=	YES
-CVS_OPT+=	-Q
-.if !empty(CVS_READONLY)
-CVS_OPT+=	-R
-.endif
+FETCH_OPT?=	-am
 
-#
-# This hack is allows to build www/ tree for case when ports/ located
-# in other repository, for example Repository of Translation Project
-#
-.if defined(PORTSCVSROOT) && !empty(PORTSCVSROOT)
-CVS_OPT+=	-d ${PORTSCVSROOT}
-.endif
-
-.if defined(NOPORTSCVS)
+.if defined(NOPORTSNET)
 ${INDEX}: $${PORTSBASE}/${PINDEX}
 	${CP} ${PORTSBASE}/${PINDEX} ${INDEX}
 .else
 ${INDEX}:
-	${CVS} ${CVS_OPT} co -p ${PINDEX} > ${INDEX} || \
-						(${RM} -f ${INDEX} && false)
+	${FETCH} ${FETCH_OPT} ${INDEXURI} || (${RM} -f ${INDEX} && false)
 .endif
 
 # build the list of available packages only on the 
diff --git a/share/mk/web.site.mk b/share/mk/web.site.mk
index 2c8e7eb879..0f3cb40ca4 100644
--- a/share/mk/web.site.mk
+++ b/share/mk/web.site.mk
@@ -1,5 +1,5 @@
 # bsd.web.mk
-# $FreeBSD: www/share/mk/web.site.mk,v 1.61 2004/06/27 06:22:31 hrs Exp $
+# $FreeBSD: www/share/mk/web.site.mk,v 1.62 2004/06/27 14:40:04 simon Exp $
 
 #
 # Build and install a web site.
@@ -30,6 +30,7 @@ CGIMODE?=	775
 CP?=		/bin/cp
 CVS?=		/usr/bin/cvs
 ECHO_CMD?=	echo
+FETCH?=		/usr/bin/fetch
 FIND?=		/usr/bin/find
 SETENV?=	/usr/bin/env
 LN?=		/bin/ln
@@ -107,6 +108,11 @@ COPY=	-C
 #
 PORTSBASE?=	/usr
 
+#
+# URL where INDEX can be found (define NOPORTSNET to disable)
+#
+INDEXURI?=	http://www.FreeBSD.org/ports/INDEX
+
 #
 # Instruct bsd.subdir.mk to NOT to process SUBDIR directive.  It is not
 # neccessary since web.site.mk do it using own rules.