svn commit: r39681 - in head/ru_RU.KOI8-R/htdocs/ports: . growth

Sergey Kandaurov pluknet at FreeBSD.org
Sun Oct 7 19:34:46 UTC 2012


Author: pluknet
Date: Sun Oct  7 19:34:45 2012
New Revision: 39681
URL: http://svn.freebsd.org/changeset/doc/39681

Log:
  MFen: Resync with the latest English version of ports pages.

Added:
  head/ru_RU.KOI8-R/htdocs/ports/categories.descriptions   (contents, props changed)
  head/ru_RU.KOI8-R/htdocs/ports/growth/
  head/ru_RU.KOI8-R/htdocs/ports/growth/Makefile   (contents, props changed)
  head/ru_RU.KOI8-R/htdocs/ports/index.xml   (contents, props changed)
  head/ru_RU.KOI8-R/htdocs/ports/installing.xml   (contents, props changed)
  head/ru_RU.KOI8-R/htdocs/ports/ports.ent   (contents, props changed)
  head/ru_RU.KOI8-R/htdocs/ports/references.xml   (contents, props changed)
  head/ru_RU.KOI8-R/htdocs/ports/searching.xml   (contents, props changed)
  head/ru_RU.KOI8-R/htdocs/ports/updating.xml   (contents, props changed)
Deleted:
  head/ru_RU.KOI8-R/htdocs/ports/ports.inc
Modified:
  head/ru_RU.KOI8-R/htdocs/ports/Makefile
  head/ru_RU.KOI8-R/htdocs/ports/Makefile.inc
  head/ru_RU.KOI8-R/htdocs/ports/Makefile.inc0
  head/ru_RU.KOI8-R/htdocs/ports/categories
  head/ru_RU.KOI8-R/htdocs/ports/packages
  head/ru_RU.KOI8-R/htdocs/ports/portindex

Modified: head/ru_RU.KOI8-R/htdocs/ports/Makefile
==============================================================================
--- head/ru_RU.KOI8-R/htdocs/ports/Makefile	Sun Oct  7 18:34:10 2012	(r39680)
+++ head/ru_RU.KOI8-R/htdocs/ports/Makefile	Sun Oct  7 19:34:45 2012	(r39681)
@@ -4,7 +4,7 @@
 # $FreeBSD$
 # $FreeBSDru: frdp/www/ru/ports/Makefile,v 1.9 2004/03/23 21:09:19 phantom Exp $
 #
-# Original revision: 1.38
+# Original revision: r39632
 #
 
 .if exists(../Makefile.conf)
@@ -13,8 +13,8 @@
 .if exists(../Makefile.inc)
 .include "../Makefile.inc"
 .endif
-.if exists(${DOC_PREFIX}/en_US.ISO8859-1/htdocs/ports/Makefile.inc)
-.include "${DOC_PREFIX}/en_US.ISO8859-1/htdocs/ports/Makefile.inc"
+.if exists(Makefile.inc)
+.include "Makefile.inc"
 .endif
 
 FETCH_OPT?=	-am
@@ -31,66 +31,79 @@ ${INDEX}:
 	${BUNZIP2} ${INDEX}.bz2
 .endif
 
-# build the list of available packages only on the
-# main FreeBSD machines
-hostname!= hostname
-
-#
-# don't build the packages links if NO_PACKAGES_LINK
-# is set and not empty.
-#
-# XXX: you can set NO_PACKAGES_LINK to your hostname to
-#      test the packages link generation
-#
-.if defined(NO_PACKAGES_LINK) && !empty(NO_PACKAGES_LINK)
-hostname=	${NO_PACKAGES_LINK}
+HOSTNAME!= hostname
+.if ${HOSTNAME} == "hub.freebsd.org" || ${HOSTNAME} == "freefall.freebsd.org" || ${HOSTNAME} == "www.freebsd.org"
+CLUSTER_MACHINE=	YES
 .endif
 
+# Build the list of available packages, but only on the main FreeBSD machines.
+# Don't build the list if NO_PACKAGES_LINK is set and not empty.
+#
 packages.exists:
-.if ${hostname} == "hub.freebsd.org" || ${hostname} == "freefall.freebsd.org" || ${hostname} == "www.freebsd.org"
-.if  exists(${DOC_PREFIX}/en_US.ISO8859-1/htdocs/ports/packages.exists)
-	${CP} ${DOC_PREFIX}/en_US.ISO8859-1/htdocs/ports/${.TARGET} ${.CURDIR}
-.else
-	@if ${SH} ${DOC_PREFIX}/en_US.ISO8859-1/htdocs/ports/packages > ${.TARGET}.temp; then \
+.if defined(CLUSTER_MACHINE) && (!defined(NO_PACKAGES_LINK) || empty(NO_PACKAGES_LINK))
+	@if ${SH} ${.CURDIR}/packages > ${.TARGET}.temp; then \
 		${MV} ${.TARGET}.temp ${.TARGET}; \
 	else \
 		${RM} ${.TARGET}.temp; ${TOUCH} ${.TARGET}; \
 	fi;
-.endif
 .else
 	${TOUCH} ${.TARGET}
 .endif
 
-Makefile.gen: index.xml .NOTMAIN
+Makefile.gen: categories-alpha.xml categories-grouped.xml index.xml \
+	installing.xml master-index.xml references.xml searching.xml \
+	statistics.ent updating.xml .NOTMAIN
 	(	${ECHO_CMD} DOCS= *.xml | ${SED} 's|catalog-cwd\.xml||g';\
 		${ECHO_CMD} -n "DYNAMIC_DOCS= ";\
+		${ECHO_CMD} -n " categories-alpha.xml";\
+		${ECHO_CMD} -n " categories-grouped.xml";\
 		${ECHO_CMD} -n " master-index.xml";\
-		${ECHO_CMD} -n " index.xml";\
+		${ECHO_CMD} -n " statistics.ent";\
 	) > Makefile.gen
 	for categoryfile in ${CATEGORYLIST}; do \
 		${ECHO_CMD} -n " $$categoryfile.xml" >> Makefile.gen; \
 	done
+	${ECHO_CMD} >> Makefile.gen
 
-index.xml: ${INDEX} categories packages.exists portindex ports.inc .NOTMAIN
-	${RM} -f *.xml
-	${PORTINDEX} ${INDEX} ${.CURDIR}
+.if defined(CLUSTER_MACHINE)
+PORTS_TARGZ_URL?= ftp://ftp-master.FreeBSD.org/pub/FreeBSD/ports/ports/ports.tar.gz
+.else
+PORTS_TARGZ_URL?= ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/ports/ports.tar.gz
+.endif
+
+ports.size:
+.if defined (NOPORTSNET)
+	touch ${.TARGET}
+.else
+	${RM} -f ${.TARGET}
+	${FETCH} -s ${PORTS_TARGZ_URL} > ${.TARGET}
+.endif
 
 # this builds: categories-alpha.xml, categories-grouped.xml,
 # master-index.xml, statistics.ent, <category>.xml
-CATEGORYLIST=`grep "^[a-z]" ${DOC_PREFIX}/en_US.ISO8859-1/htdocs/ports/categories | sed -e s"/,.*//"`
+CATEGORYLIST=`grep "^[a-z]" categories | sed -e s"/,.*//"`
+categories-alpha.xml: ${INDEX} categories categories.descriptions \
+	packages.exists portindex ports.ent ports.size .NOTMAIN
+	${RM} -f categories-alpha.xml categories-grouped.xml \
+		master-index.xml statistics.ent
+	for categoryfile in ${CATEGORYLIST}; do \
+		rm -f "$$categoryfile.xml"; \
+	done
+	${PORTINDEX} ${INDEX} ${.CURDIR}
 
 install: all beforeinstall
 
 all install clean:
 	cd ${.CURDIR}; \
 		${MAKE} ${MAKEFLAGS} -f ${.CURDIR}/Makefile.inc0 ${.TARGET}
-#.if defined(WITH_PORTS_GROWTH)
-#	cd growth; \
-#		${MAKE} ${MAKEFLAGS} ${.TARGET}
-#beforeinstall:
-#.else
+.if defined(WITH_PORTS_GROWTH)
+	cd growth; \
+		${MAKE} ${MAKEFLAGS} ${.TARGET}
+beforeinstall:
+.else
 beforeinstall:
-	${PERL} -pi -e 's/href=\"growth/href=\"http:\/\/www.FreeBSD.org\/ports\/growth/' index.html
-#.endif
+	${SED} -i "" -e 's,href="growth,href="http://www.FreeBSD.org/ports/growth,' index.html
+	${SED} -i "" -e 's,href="growth,href="http://www.FreeBSD.org/ports/growth,' references.html
+.endif
 
 .include "${DOC_PREFIX}/share/mk/web.site.mk"

Modified: head/ru_RU.KOI8-R/htdocs/ports/Makefile.inc
==============================================================================
--- head/ru_RU.KOI8-R/htdocs/ports/Makefile.inc	Sun Oct  7 18:34:10 2012	(r39680)
+++ head/ru_RU.KOI8-R/htdocs/ports/Makefile.inc	Sun Oct  7 19:34:45 2012	(r39681)
@@ -4,7 +4,7 @@
 # $FreeBSD$
 # $FreeBSDru: frdp/www/ru/ports/Makefile.inc,v 1.3 2004/01/06 17:28:41 andy Exp $
 #
-#  Original revision: 1.6
+#  Original revision: r39534
 #
 
 PORTINDEX=	${PERL} ${.CURDIR}/portindex
@@ -15,8 +15,9 @@ COOKIE=		${INDEX} Makefile.gen
 
 CLEANFILES+=	${INDEX} ${INDEX}.bz2
 CLEANFILES+=	packages.exists.temp  packages.exists
-CLEANFILES+= 	${DOCS}
+CLEANFILES+= 	${DYNAMIC_DOCS}
 CLEANFILES+=	Makefile.gen
+CLEANFILES+=	ports.count ports.size
 
-_ALLINSTALL= packages.exists ${INDEX} categories
+_ALLINSTALL= packages.exists categories
 

Modified: head/ru_RU.KOI8-R/htdocs/ports/Makefile.inc0
==============================================================================
--- head/ru_RU.KOI8-R/htdocs/ports/Makefile.inc0	Sun Oct  7 18:34:10 2012	(r39680)
+++ head/ru_RU.KOI8-R/htdocs/ports/Makefile.inc0	Sun Oct  7 19:34:45 2012	(r39681)
@@ -1,18 +1,16 @@
 # $FreeBSD$
 # The FreeBSD Russian Documentation Project
 # $FreeBSDru: frdp/www/ru/ports/Makefile.inc0,v 1.4 2000/11/10 17:04:52 phantom Exp $
-# Original revision: 1.4
+# Original revision: r38826
 
 .if exists(../Makefile.conf)
 .include "../Makefile.conf"
 .endif
-
 .if exists(../Makefile.inc)
 .include "../Makefile.inc"
 .endif
-
-.if exists(${.CURDIR}/../../en/ports/Makefile.inc)
-.include "${.CURDIR}/../../en/ports/Makefile.inc"
+.if exists(Makefile.inc)
+.include "Makefile.inc"
 .endif
 
 .if exists(Makefile.gen)

Modified: head/ru_RU.KOI8-R/htdocs/ports/categories
==============================================================================
--- head/ru_RU.KOI8-R/htdocs/ports/categories	Sun Oct  7 18:34:10 2012	(r39680)
+++ head/ru_RU.KOI8-R/htdocs/ports/categories	Sun Oct  7 19:34:45 2012	(r39681)
@@ -7,94 +7,94 @@
 #
 # Original revision: r38826
 
-    "accessibility", "ðÏÒÔÙ × ÐÏÍÏÝØ ÌÀÄÑÍ Ó ÏÇÒÁÎÉÞÅÎÎÙÍÉ ×ÏÚÍÏÖÎÏÓÔÑÍÉ.",
-    "afterstep", "ðÏÒÔÙ, ÐÏÄÄÅÒÖÉ×ÁÀÝÉÅ ÍÅÎÅÄÖÅÒ ÏËÏÎ AfterStep.",
-    "arabic", "ðÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ, ÁÄÁÐÔÉÒÏ×ÁÎÎÏÅ Ë ÁÒÁÂÓËÏÍÕ ÒÙÎËÕ.",
-    "archivers", "õÔÉÌÉÔÙ ÄÌÑ ÁÒÈÉ×ÉÒÏ×ÁÎÉÑ É ÒÁÚÁÒÈÉ×ÉÒÏ×ÁÎÉÑ ÄÁÎÎÙÈ.",
-    "astro", "ðÒÉÌÏÖÅÎÉÑ, Ó×ÑÚÁÎÎÙÅ Ó ÁÓÔÒÏÎÏÍÉÅÊ.",
-    "audio", "õÔÉÌÉÔÙ ÄÌÑ ÒÁÂÏÔÙ ÓÏ Ú×ÕËÏÍ - ÂÏÌØÛÉÎÓÔ×Õ ÔÒÅÂÕÅÔÓÑ Ú×ÕËÏ×ÏÊ ÁÄÁÐÔÅÒ.",
-    "benchmarks", "õÔÉÌÉÔÙ ÄÌÑ ÉÚÍÅÒÅÎÉÑ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ ÓÉÓÔÅÍÙ.",
-    "biology", "ðÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ, Ó×ÑÚÁÎÎÏÅ Ó ÂÉÏÌÏÇÉÅÊ.",
-    "cad", "õÔÉÌÉÔÙ ÄÌÑ óÉÓÔÅÍ á×ÔÏÍÁÔÉÚÉÒÏ×ÁÎÎÏÇÏ ðÒÏÅËÔÉÒÏ×ÁÎÉÑ.",
-    "chinese", "ðÏÒÔÉÒÏ×ÁÎÎÙÅ ÐÒÉÌÏÖÅÎÉÑ, ÓÐÅÃÉÆÉÞÅÓËÉÅ ÄÌÑ ëÉÔÁÑ.",
-    "comms", "ëÏÍÍÕÎÉËÁÃÉÏÎÎÙÅ ÕÔÉÌÉÔÙ.",
-    "converters", "õÔÉÌÉÔÙ ÄÌÑ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ ÆÏÒÍÁÔÏ×.",
-    "databases", "ðÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ ÄÌÑ ÂÁÚ ÄÁÎÎÙÈ.",
-    "deskutils", "òÁÚÌÉÞÎÙÅ ÕÔÉÌÉÔÙ ÄÌÑ ÒÁÂÏÞÅÇÏ ÓÔÏÌÁ.",
-    "devel", "õÔÉÌÉÔÙ É ÂÉÂÌÉÏÔÅËÉ ÄÌÑ ÒÁÚÒÁÂÏÔËÉ ÐÒÏÇÒÁÍÍÎÏÇÏ ÏÂÅÓÐÅÞÅÎÉÑ.",
-    "dns", "ëÌÉÅÎÔÓËÉÅ É ÓÅÒ×ÅÒÎÙÅ ÕÔÉÌÉÔÙ DNS.",
-    "docs", "íÅÔÁ-ÐÏÒÔÙ ÄÌÑ ÄÏËÕÍÅÎÔÁÃÉÉ FreeBSD.",
-    "editors", "ïÂÙÞÎÙÅ ÔÅËÓÔÏ×ÙÅ ÒÅÄÁËÔÏÒÙ.",
-    "elisp", "÷Ó£, ÞÔÏ Ó×ÑÚÁÎÏ Ó Emacs Lisp.",
-    "emulators", "ðÒÏÇÒÁÍÍÙ ÜÍÕÌÑÃÉÉ ÄÒÕÇÉÈ ÔÉÐÏ× ïó.",
-    "enlightenment", "Enlightenment Desktop Environment.",
-    "finance", "ðÒÉÌÏÖÅÎÉÑ, Ó×ÑÚÁÎÎÙÅ Ó ÄÅÎØÇÁÍÉ É ÆÉÎÁÎÓÁÍÉ",
-    "french", "ðÏÒÔÉÒÏ×ÁÎÎÙÅ ÐÒÏÇÒÁÍÍÙ, ÓÐÅÃÉÆÉÞÅÓËÉÅ ÄÌÑ æÒÁÎÃÉÉ",
-    "ftp", "ëÌÉÅÎÔÙ É ÓÅÒ×ÅÒÙ FTP.",
-    "games", "òÁÚÎÏÏÂÒÁÚÎÅÊÛÉÅ ÉÇÒÕÛËÉ.",
-    "geography", "ðÏÒÔÙ, ÉÍÅÀÝÉÅ ÏÔÎÏÛÅÎÉÅ Ë ÇÅÏÇÒÁÆÉÉ.",
-    "german", "ðÏÒÔÉÒÏ×ÁÎÎÙÅ ÐÒÉÌÏÖÅÎÉÑ, ÓÐÅÃÉÆÉÞÅÓËÉÅ ÄÌÑ ÎÅÍÅÃËÏÑÚÙÞÎÙÈ ÓÔÒÁÎ.",
-    "gnome", "ëÏÍÐÏÎÅÎÔÙ ÄÌÑ Gnome Desktop.",
-    "gnustep", "ðÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ ÄÌÑ GNUstep Desktop Environment.",
-    "graphics", "õÔÉÌÉÔÙ É ÂÉÂÌÉÏÔÅËÉ ÄÌÑ ÒÁÂÏÔÙ Ó ÇÒÁÆÉËÏÊ.",
-    "hamradio", "ðÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ ÄÌÑ ÒÁÄÉÏÌÀÂÉÔÅÌÅÊ.",
-    "haskell", "ðÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ, Ó×ÑÚÁÎÎÏÅ Ó ÑÚÙËÏÍ Haskell.",
-    "hebrew", "ðÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ Ó ÐÏÄÄÅÒÖËÏÊ É×ÒÉÔÁ.",
-    "hungarian", "ðÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ, ÁÄÁÐÔÉÒÏ×ÁÎÎÏÅ Ë ×ÅÎÇÅÒÓËÏÍÕ ÒÙÎËÕ.",
-    "ipv6", "ðï Ó ÐÏÄÄÅÒÖËÏÊ IPv6.",
-    "irc", "õÔÉÌÉÔÙ ÄÌÑ Internet Relay Chat.",
-    "japanese", "ðÏÒÔÉÒÏ×ÁÎÎÙÅ ÐÒÉÌÏÖÅÎÉÑ, ÓÐÅÃÉÆÉÞÅÓËÉÅ ÄÌÑ ñÐÏÎÉÉ.",
-    "java", "ðÏÄÄÅÒÖËÁ ÑÚÙËÁ Java.",
-    "kde", "ðÒÏÇÒÁÍÍÙ ÄÌÑ K Desktop Environment.",
-    "kld", "úÁÇÒÕÖÁÅÍÙÅ ÍÏÄÕÌÉ ÑÄÒÁ.",
-    "korean", "ðÏÒÔÉÒÏ×ÁÎÎÙÅ ÐÒÉÌÏÖÅÎÉÑ, ÓÐÅÃÉÆÉÞÅÓËÉÅ ÄÌÑ ëÏÒÅÉ.",
-    "lang", "ñÚÙËÉ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ.",
-    "linux", "ðÒÏÇÒÁÍÍÙ ÄÌÑ Linux, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÂÙÔØ ÚÁÐÕÝÅÎÙ × ÒÅÖÉÍÅ ÂÉÎÁÒÎÏÊ ÓÏ×ÍÅÓÔÉÍÏÓÔÉ.",
-    "lisp", "÷ÓÅ, ÞÔÏ ÉÍÅÅÔ ÏÔÎÏÛÅÎÉÅ Ë ÞÉÓÔÏÍÕ lisp.",
-    "mail", "õÔÉÌÉÔÙ É ÐÁËÅÔÙ ÄÌÑ ÒÁÂÏÔÙ Ó ÜÌÅËÔÒÏÎÎÏÊ ÐÏÞÔÏÊ.",
-    "math", "íÁÔÅÍÁÔÉÞÅÓËÏÅ ÐÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ.",
-    "mbone", "ðÒÉÌÏÖÅÎÉÑ É ÕÔÉÌÉÔÙ ÄÌÑ MBONE.",
-    "misc", "òÁÚÎÏÅ.",
-    "multimedia", "ðÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÑ ÄÌÑ ÒÁÂÏÔÙ Ó ÍÕÌØÔÉÍÅÄÉÁ.",
-    "net", "õÔÉÌÉÔÙ ÄÌÑ ÒÁÂÏÔÙ Ó ÓÅÔØÀ.",
-    "net-im", "ðÒÉÌÏÖÅÎÉÑ ÄÌÑ ÍÇÎÏ×ÅÎÎÏÇÏ ÏÂÍÅÎÁ ÓÏÏÂÝÅÎÉÑÍÉ.",
-    "net-mgmt", "õÔÉÌÉÔÙ ÕÐÒÁ×ÌÅÎÉÑ ÓÅÔØÀ.",
-    "net-p2p", "ðÒÉÌÏÖÅÎÉÑ ÄÌÑ ÒÁÂÏÔÙ Ó ÐÉÒÉÎÇÏ×ÙÍÉ (P2P) ÓÅÔÑÍÉ.",
-    "news", "ðÏÄÄÅÒÖËÁ ÔÅÌÅËÏÎÆÅÒÅÎÃÉÊ USENET.",
-    "palm", "ðÒÏÇÒÁÍÍÎÁÑ ÐÏÄÄÅÒÖËÁ ÌÉÎÅÊËÉ Palm(tm).",
-    "parallel", "ðÒÉÌÏÖÅÎÉÑ, ÉÍÅÀÝÉÅ ÏÔÎÏÛÅÎÉÅ Ë ÐÁÒÁÌÌÅÌØÎÙÍ ×ÙÞÉÓÌÅÎÉÑÍ.",
-    "pear", "õÔÉÌÉÔÙ/ÍÏÄÕÌÉ ÓÉÓÔÅÍÙ PEAR.",
-    "perl5", "õÔÉÌÉÔÙ/ÍÏÄÕÌÉ ÄÌÑ ÑÚÙËÁ PERL5.",
-    "plan9", "ðÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ ÏÐÅÒÁÃÉÏÎÎÏÊ ÓÉÓÔÅÍÙ Plan9.",
-    "polish", "ðÏÒÔÉÒÏ×ÁÎÎÙÅ ÐÒÉÌÏÖÅÎÉÑ, ÁÄÁÐÔÉÒÏ×ÁÎÎÙÅ Ë ÐÏÌØÓËÏÍÕ ÒÙÎËÕ.",
-    "ports-mgmt", "õÔÉÌÉÔÙ ÄÌÑ ÕÐÒÁ×ÌÅÎÉÑ ÐÏÒÔÁÍÉ É ÐÁËÅÔÁÍÉ.",
-    "portuguese", "ðÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ, ÁÄÁÐÔÉÒÏ×ÁÎÎÏÅ Ë ÐÏÒÔÕÇÁÌØÓËÏÍÕ ÒÙÎËÕ",
-    "print", "éÎÓÔÒÕÍÅÎÔÙ ÄÌÑ ÒÁÂÏÔÙ Ó ÐÅÞÁÔØÀ.",
-    "python", "ðÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ, Ó×ÑÚÁÎÎÏÅ Ó ÑÚÙËÏÍ Python.",
-    "ruby", "ðÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ, Ó×ÑÚÁÎÎÏÅ Ó ÑÚÙËÏÍ Ruby.",
-    "rubygems", "ðÁËÅÔÙ ÄÌÑ ÓÉÓÔÅÍÙ RubyGems.",
-    "russian", "ðÏÒÔÉÒÏ×ÁÎÎÙÅ ÐÒÉÌÏÖÅÎÉÑ, ÓÐÅÃÉÆÉÞÅÓËÉÅ ÄÌÑ òÏÓÓÉÉ.",
-    "scheme", "ðÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ, Ó×ÑÚÁÎÎÏÅ Ó ÑÚÙËÏÍ Scheme.",
-    "science", "îÁÕÞÎÏÅ ÐÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ.",
-    "security", "ðÒÏÇÒÁÍÍÙ, ÏÂÅÓÐÅÞÉ×ÁÀÝÉÅ ÂÅÚÏÐÁÓÎÏÓÔØ ÓÉÓÔÅÍÙ.",
-    "shells", "òÁÚÌÉÞÎÙÅ ÏÂÏÌÏÞËÉ (tcsh, bash, É Ô.Ä.).",
-    "spanish", "ðÏÒÔÉÒÏ×ÁÎÎÙÅ ÐÒÉÌÏÖÅÎÉÑ, ÓÐÅÃÉÆÉÞÎÙÅ ÄÌÑ éÓÐÁÎÉÉ.",
-    "sysutils", "òÁÚÌÉÞÎÙÅ ÓÉÓÔÅÍÎÙÅ ÕÔÉÌÉÔÙ.",
-    "tcl", "TCL É ÏÓÎÏ×ÁÎÎÙÅ ÎÁ ÎÅÍ ÐÁËÅÔÙ.",
-    "textproc", "õÔÉÌÉÔÙ ÄÌÑ ÔÅËÓÔÏ×ÏÊ ÏÂÒÁÂÏÔËÉ/ÐÏÉÓËÁ.",
-    "tk", "Tk É ÏÓÎÏ×ÁÎÎÙÅ ÎÁ ÎÅÍ ÐÁËÅÔÙ.",
-    "ukrainian", "ðÏÒÔÉÒÏ×ÁÎÎÙÅ ÐÒÉÌÏÖÅÎÉÑ, ÓÐÅÃÉÆÉÞÅÓËÉÅ ÄÌÑ õËÒÁÉÎÙ.",
-    "vietnamese", "ðÏÒÔÉÒÏ×ÁÎÎÙÅ ÐÒÉÌÏÖÅÎÉÑ, ÓÐÅÃÉÆÉÞÅÓËÉÅ ÄÌÑ ÷ØÅÔÎÁÍÁ.",
-    "windowmaker", "ðÏÒÔÙ, ÐÏÄÄÅÒÖÉ×ÁÀÝÉÅ ÍÅÎÅÄÖÅÒ ÏËÏÎ WindowMaker.",
-    "www", "õÔÉÌÉÔÙ ÄÌÑ WEB (ÂÒÁÕÚÅÒÙ, ÓÅÒ×ÅÒÙ HTTP, É Ô.Ä.).",
-    "x11", "õÔÉÌÉÔÙ ÄÌÑ X Window System.",
-    "x11-clocks", "þÁÓÙ ÄÌÑ X Window System.",
-    "x11-drivers", "äÒÁÊ×ÅÒÁ ÄÌÑ X Window System.",
-    "x11-fm", "íÅÎÅÄÖÅÒÙ ÆÁÊÌÏ× ÄÌÑ X Window System.",
-    "x11-fonts", "ûÒÉÆÔÙ ÄÌÑ X Window System É ÕÔÉÌÉÔÙ ÄÌÑ ÒÁÂÏÔÙ Ó ÎÉÍÉ.",
-    "x11-servers", "óÅÒ×ÅÒÙ ÄÌÑ X Window System.",
-    "x11-themes", "ôÅÍÙ ÄÌÑ X Window System.",
-    "x11-toolkits", "ðÁËÅÔÙ ÒÁÚÒÁÂÏÔËÉ ÐÒÉÌÏÖÅÎÉÑ ÄÌÑ X Window System.",
-    "x11-wm", "ïËÏÎÎÙÅ ÍÅÎÅÄÖÅÒÙ ÄÌÑ X Window System.",
-    "xfce", "ðÏÒÔÙ, ÐÏÄÄÅÒÖÉ×ÁÀÝÉÅ Xfce ÄÅÓËÔÏÐ.",
-    "zope", "ðÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ, ÉÍÅÀÝÅÅ ÏÔÎÏÛÅÎÉÅ Ë ÐÌÁÔÆÏÒÍÅ Zope",
+accessibility, "ðÏÒÔÙ × ÐÏÍÏÝØ ÌÀÄÑÍ Ó ÏÇÒÁÎÉÞÅÎÎÙÍÉ ×ÏÚÍÏÖÎÏÓÔÑÍÉ.",EU
+afterstep, "ðÏÒÔÙ, ÐÏÄÄÅÒÖÉ×ÁÀÝÉÅ ÍÅÎÅÄÖÅÒ ÏËÏÎ AfterStep.",VC
+arabic, "ðÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ, ÁÄÁÐÔÉÒÏ×ÁÎÎÏÅ Ë ÁÒÁÂÓËÏÍÕ ÒÙÎËÕ.",HL
+archivers, "õÔÉÌÉÔÙ ÄÌÑ ÁÒÈÉ×ÉÒÏ×ÁÎÉÑ É ÒÁÚÁÒÈÉ×ÉÒÏ×ÁÎÉÑ ÄÁÎÎÙÈ.",SAAD
+astro, "ðÒÉÌÏÖÅÎÉÑ, Ó×ÑÚÁÎÎÙÅ Ó ÁÓÔÒÏÎÏÍÉÅÊ.",SAE
+audio, "õÔÉÌÉÔÙ ÄÌÑ ÒÁÂÏÔÙ ÓÏ Ú×ÕËÏÍ - ÂÏÌØÛÉÎÓÔ×Õ ÔÒÅÂÕÅÔÓÑ Ú×ÕËÏ×ÏÊ ÁÄÁÐÔÅÒ.",EU
+benchmarks, "õÔÉÌÉÔÙ ÄÌÑ ÉÚÍÅÒÅÎÉÑ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ ÓÉÓÔÅÍÙ.",AOP
+biology, "ðÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ, Ó×ÑÚÁÎÎÏÅ Ó ÂÉÏÌÏÇÉÅÊ.",SAE
+cad, "õÔÉÌÉÔÙ ÄÌÑ óÉÓÔÅÍ á×ÔÏÍÁÔÉÚÉÒÏ×ÁÎÎÏÇÏ ðÒÏÅËÔÉÒÏ×ÁÎÉÑ.",SAE
+chinese, "ðÏÒÔÉÒÏ×ÁÎÎÙÅ ÐÒÉÌÏÖÅÎÉÑ, ÓÐÅÃÉÆÉÞÅÓËÉÅ ÄÌÑ ëÉÔÁÑ.",HL
+comms, "ëÏÍÍÕÎÉËÁÃÉÏÎÎÙÅ ÕÔÉÌÉÔÙ.",CCATI
+converters, "õÔÉÌÉÔÙ ÄÌÑ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ ÆÏÒÍÁÔÏ×.",AOP
+databases, "ðÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ ÄÌÑ ÂÁÚ ÄÁÎÎÙÈ.",SAAD
+deskutils, "òÁÚÌÉÞÎÙÅ ÕÔÉÌÉÔÙ ÄÌÑ ÒÁÂÏÞÅÇÏ ÓÔÏÌÁ.",EU
+devel, "õÔÉÌÉÔÙ É ÂÉÂÌÉÏÔÅËÉ ÄÌÑ ÒÁÚÒÁÂÏÔËÉ ÐÒÏÇÒÁÍÍÎÏÇÏ ÏÂÅÓÐÅÞÅÎÉÑ.",SAAD
+dns, "ëÌÉÅÎÔÓËÉÅ É ÓÅÒ×ÅÒÎÙÅ ÕÔÉÌÉÔÙ DNS.",CCATI
+docs, "íÅÔÁ-ÐÏÒÔÙ ÄÌÑ ÄÏËÕÍÅÎÔÁÃÉÉ FreeBSD.",VC
+editors, "ïÂÙÞÎÙÅ ÔÅËÓÔÏ×ÙÅ ÒÅÄÁËÔÏÒÙ.",SAAD
+elisp, "÷Ó£, ÞÔÏ Ó×ÑÚÁÎÏ Ó Emacs Lisp.",VC
+emulators, "ðÒÏÇÒÁÍÍÙ ÜÍÕÌÑÃÉÉ ÄÒÕÇÉÈ ÔÉÐÏ× ïó.",SAAD
+enlightenment, "Enlightenment Desktop Environment.",VC
+finance, "ðÒÉÌÏÖÅÎÉÑ, Ó×ÑÚÁÎÎÙÅ Ó ÄÅÎØÇÁÍÉ É ÆÉÎÁÎÓÁÍÉ",EU
+french, "ðÏÒÔÉÒÏ×ÁÎÎÙÅ ÐÒÏÇÒÁÍÍÙ, ÓÐÅÃÉÆÉÞÅÓËÉÅ ÄÌÑ æÒÁÎÃÉÉ",HL
+ftp, "ëÌÉÅÎÔÙ É ÓÅÒ×ÅÒÙ FTP.",CCATI
+games, "òÁÚÎÏÏÂÒÁÚÎÅÊÛÉÅ ÉÇÒÕÛËÉ.",EU
+geography, "ðÏÒÔÙ, ÉÍÅÀÝÉÅ ÏÔÎÏÛÅÎÉÅ Ë ÇÅÏÇÒÁÆÉÉ.",VC
+german, "ðÏÒÔÉÒÏ×ÁÎÎÙÅ ÐÒÉÌÏÖÅÎÉÑ, ÓÐÅÃÉÆÉÞÅÓËÉÅ ÄÌÑ ÎÅÍÅÃËÏÑÚÙÞÎÙÈ ÓÔÒÁÎ.",HL
+gnome, "ëÏÍÐÏÎÅÎÔÙ ÄÌÑ Gnome Desktop.",VC
+gnustep, "ðÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ ÄÌÑ GNUstep Desktop Environment.",VC
+graphics, "õÔÉÌÉÔÙ É ÂÉÂÌÉÏÔÅËÉ ÄÌÑ ÒÁÂÏÔÙ Ó ÇÒÁÆÉËÏÊ.",EU
+hamradio, "ðÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ ÄÌÑ ÒÁÄÉÏÌÀÂÉÔÅÌÅÊ.",VC
+haskell, "ðÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ, Ó×ÑÚÁÎÎÏÅ Ó ÑÚÙËÏÍ Haskell.",VC
+hebrew, "ðÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ Ó ÐÏÄÄÅÒÖËÏÊ É×ÒÉÔÁ.",HL
+hungarian, "ðÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ, ÁÄÁÐÔÉÒÏ×ÁÎÎÏÅ Ë ×ÅÎÇÅÒÓËÏÍÕ ÒÙÎËÕ.",HL
+ipv6, "ðï Ó ÐÏÄÄÅÒÖËÏÊ IPv6.",VC
+irc, "õÔÉÌÉÔÙ ÄÌÑ Internet Relay Chat.",CCATI
+japanese, "ðÏÒÔÉÒÏ×ÁÎÎÙÅ ÐÒÉÌÏÖÅÎÉÑ, ÓÐÅÃÉÆÉÞÅÓËÉÅ ÄÌÑ ñÐÏÎÉÉ.",HL
+java, "ðÏÄÄÅÒÖËÁ ÑÚÙËÁ Java.",SAAD
+kde, "ðÒÏÇÒÁÍÍÙ ÄÌÑ K Desktop Environment.",VC
+kld, "úÁÇÒÕÖÁÅÍÙÅ ÍÏÄÕÌÉ ÑÄÒÁ.",VC
+korean, "ðÏÒÔÉÒÏ×ÁÎÎÙÅ ÐÒÉÌÏÖÅÎÉÑ, ÓÐÅÃÉÆÉÞÅÓËÉÅ ÄÌÑ ëÏÒÅÉ.",HL
+lang, "ñÚÙËÉ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ.",SAAD
+linux, "ðÒÏÇÒÁÍÍÙ ÄÌÑ Linux, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÂÙÔØ ÚÁÐÕÝÅÎÙ × ÒÅÖÉÍÅ ÂÉÎÁÒÎÏÊ ÓÏ×ÍÅÓÔÉÍÏÓÔÉ.",VC
+lisp, "÷ÓÅ, ÞÔÏ ÉÍÅÅÔ ÏÔÎÏÛÅÎÉÅ Ë ÞÉÓÔÏÍÕ lisp.",VC
+mail, "õÔÉÌÉÔÙ É ÐÁËÅÔÙ ÄÌÑ ÒÁÂÏÔÙ Ó ÜÌÅËÔÒÏÎÎÏÊ ÐÏÞÔÏÊ.",CCATI
+math, "íÁÔÅÍÁÔÉÞÅÓËÏÅ ÐÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ.",SAE
+mbone, "ðÒÉÌÏÖÅÎÉÑ É ÕÔÉÌÉÔÙ ÄÌÑ MBONE.",VC
+misc, "òÁÚÎÏÅ.",AOP
+multimedia, "ðÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÑ ÄÌÑ ÒÁÂÏÔÙ Ó ÍÕÌØÔÉÍÅÄÉÁ.",EU
+net, "õÔÉÌÉÔÙ ÄÌÑ ÒÁÂÏÔÙ Ó ÓÅÔØÀ.",CCATI
+net-im, "ðÒÉÌÏÖÅÎÉÑ ÄÌÑ ÍÇÎÏ×ÅÎÎÏÇÏ ÏÂÍÅÎÁ ÓÏÏÂÝÅÎÉÑÍÉ.",CCATI
+net-mgmt, "õÔÉÌÉÔÙ ÕÐÒÁ×ÌÅÎÉÑ ÓÅÔØÀ.",CCATI
+net-p2p, "ðÒÉÌÏÖÅÎÉÑ ÄÌÑ ÒÁÂÏÔÙ Ó ÐÉÒÉÎÇÏ×ÙÍÉ (P2P) ÓÅÔÑÍÉ.",EU
+news, "ðÏÄÄÅÒÖËÁ ÔÅÌÅËÏÎÆÅÒÅÎÃÉÊ USENET.",CCATI
+palm, "ðÒÏÇÒÁÍÍÎÁÑ ÐÏÄÄÅÒÖËÁ ÌÉÎÅÊËÉ Palm(tm).",AOP
+parallel, "ðÒÉÌÏÖÅÎÉÑ, ÉÍÅÀÝÉÅ ÏÔÎÏÛÅÎÉÅ Ë ÐÁÒÁÌÌÅÌØÎÙÍ ×ÙÞÉÓÌÅÎÉÑÍ.",VC
+pear, "õÔÉÌÉÔÙ/ÍÏÄÕÌÉ ÓÉÓÔÅÍÙ PEAR.",VC
+perl5, "õÔÉÌÉÔÙ/ÍÏÄÕÌÉ ÄÌÑ ÑÚÙËÁ PERL5.",VC
+plan9, "ðÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ ÏÐÅÒÁÃÉÏÎÎÏÊ ÓÉÓÔÅÍÙ Plan9.",VC
+polish, "ðÏÒÔÉÒÏ×ÁÎÎÙÅ ÐÒÉÌÏÖÅÎÉÑ, ÁÄÁÐÔÉÒÏ×ÁÎÎÙÅ Ë ÐÏÌØÓËÏÍÕ ÒÙÎËÕ.",HL
+ports-mgmt, "õÔÉÌÉÔÙ ÄÌÑ ÕÐÒÁ×ÌÅÎÉÑ ÐÏÒÔÁÍÉ É ÐÁËÅÔÁÍÉ.",SAAD
+portuguese, "ðÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ, ÁÄÁÐÔÉÒÏ×ÁÎÎÏÅ Ë ÐÏÒÔÕÇÁÌØÓËÏÍÕ ÒÙÎËÕ",HL
+print, "éÎÓÔÒÕÍÅÎÔÙ ÄÌÑ ÒÁÂÏÔÙ Ó ÐÅÞÁÔØÀ.",EU
+python, "ðÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ, Ó×ÑÚÁÎÎÏÅ Ó ÑÚÙËÏÍ Python.",VC
+ruby, "ðÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ, Ó×ÑÚÁÎÎÏÅ Ó ÑÚÙËÏÍ Ruby.",VC
+rubygems, "ðÁËÅÔÙ ÄÌÑ ÓÉÓÔÅÍÙ RubyGems.",VC
+russian, "ðÏÒÔÉÒÏ×ÁÎÎÙÅ ÐÒÉÌÏÖÅÎÉÑ, ÓÐÅÃÉÆÉÞÅÓËÉÅ ÄÌÑ òÏÓÓÉÉ.",HL
+scheme, "ðÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ, Ó×ÑÚÁÎÎÏÅ Ó ÑÚÙËÏÍ Scheme.",VC
+science, "îÁÕÞÎÏÅ ÐÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ.",SAE
+security, "ðÒÏÇÒÁÍÍÙ, ÏÂÅÓÐÅÞÉ×ÁÀÝÉÅ ÂÅÚÏÐÁÓÎÏÓÔØ ÓÉÓÔÅÍÙ.",SAAD
+shells, "òÁÚÌÉÞÎÙÅ ÏÂÏÌÏÞËÉ (tcsh, bash, É Ô.Ä.).",EU
+spanish, "ðÏÒÔÉÒÏ×ÁÎÎÙÅ ÐÒÉÌÏÖÅÎÉÑ, ÓÐÅÃÉÆÉÞÎÙÅ ÄÌÑ éÓÐÁÎÉÉ.",HL
+sysutils, "òÁÚÌÉÞÎÙÅ ÓÉÓÔÅÍÎÙÅ ÕÔÉÌÉÔÙ.",SAAD
+tcl, "TCL É ÏÓÎÏ×ÁÎÎÙÅ ÎÁ ÎÅÍ ÐÁËÅÔÙ.",VC
+textproc, "õÔÉÌÉÔÙ ÄÌÑ ÔÅËÓÔÏ×ÏÊ ÏÂÒÁÂÏÔËÉ/ÐÏÉÓËÁ.",EU
+tk, "Tk É ÏÓÎÏ×ÁÎÎÙÅ ÎÁ ÎÅÍ ÐÁËÅÔÙ.",VC
+ukrainian, "ðÏÒÔÉÒÏ×ÁÎÎÙÅ ÐÒÉÌÏÖÅÎÉÑ, ÓÐÅÃÉÆÉÞÅÓËÉÅ ÄÌÑ õËÒÁÉÎÙ.",HL
+vietnamese, "ðÏÒÔÉÒÏ×ÁÎÎÙÅ ÐÒÉÌÏÖÅÎÉÑ, ÓÐÅÃÉÆÉÞÅÓËÉÅ ÄÌÑ ÷ØÅÔÎÁÍÁ.",HL
+windowmaker, "ðÏÒÔÙ, ÐÏÄÄÅÒÖÉ×ÁÀÝÉÅ ÍÅÎÅÄÖÅÒ ÏËÏÎ WindowMaker.",VC
+www, "õÔÉÌÉÔÙ ÄÌÑ WEB (ÂÒÁÕÚÅÒÙ, ÓÅÒ×ÅÒÙ HTTP, É Ô.Ä.).",CCATI
+x11, "õÔÉÌÉÔÙ ÄÌÑ X Window System.",XWS
+x11-clocks, "þÁÓÙ ÄÌÑ X Window System.",XWS
+x11-drivers, "äÒÁÊ×ÅÒÁ ÄÌÑ X Window System.",XWS
+x11-fm, "íÅÎÅÄÖÅÒÙ ÆÁÊÌÏ× ÄÌÑ X Window System.",XWS
+x11-fonts, "ûÒÉÆÔÙ ÄÌÑ X Window System É ÕÔÉÌÉÔÙ ÄÌÑ ÒÁÂÏÔÙ Ó ÎÉÍÉ.",XWS
+x11-servers, "óÅÒ×ÅÒÙ ÄÌÑ X Window System.",XWS
+x11-themes, "ôÅÍÙ ÄÌÑ X Window System.",XWS
+x11-toolkits, "ðÁËÅÔÙ ÒÁÚÒÁÂÏÔËÉ ÐÒÉÌÏÖÅÎÉÑ ÄÌÑ X Window System.",XWS
+x11-wm, "ïËÏÎÎÙÅ ÍÅÎÅÄÖÅÒÙ ÄÌÑ X Window System.",XWS
+xfce, "ðÏÒÔÙ, ÐÏÄÄÅÒÖÉ×ÁÀÝÉÅ Xfce ÄÅÓËÔÏÐ.",VC
+zope, "ðÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ, ÉÍÅÀÝÅÅ ÏÔÎÏÛÅÎÉÅ Ë ÐÌÁÔÆÏÒÍÅ Zope",VC

Added: head/ru_RU.KOI8-R/htdocs/ports/categories.descriptions
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/ru_RU.KOI8-R/htdocs/ports/categories.descriptions	Sun Oct  7 19:34:45 2012	(r39681)
@@ -0,0 +1,13 @@
+# $FreeBSD$
+#
+# Original revision: r38826
+#
+
+EU,ðÏÒÔÙ, ÐÒÅÄÎÁÚÎÁÞÅÎÎÙÅ ÄÌÑ ÏÂÙÞÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
+SAAD,ðÏÒÔÙ, ÐÒÅÄÎÁÚÎÁÞÅÎÎÙÅ ÄÌÑ ÓÉÓÔÅÍÎÙÈ ÁÄÍÉÎÉÓÔÒÁÔÏÒÏ× É ÒÁÚÒÁÂÏÔÞÉËÏ×
+CCATI,ðÏÒÔÙ ÄÌÑ ËÏÍÐØÀÔÅÒÎÙÈ ËÏÍÍÕÎÉËÁÃÉÊ É ÄÌÑ ÒÁÂÏÔÙ Ó éÎÔÅÒÎÅÔ
+XWS,ðÏÒÔÙ X Window System
+SAE,ðÏÒÔÙ ÎÁÕÞÎÙÈ É ÉÎÖÅÎÅÒÎÙÈ ÐÒÏÇÒÁÍÍ
+HL,ðÏÒÔÙ, ÉÍÅÀÝÉÅ ÏÔÎÏÛÅÎÉÅ Ë ÅÓÔÅÓÔ×ÅÎÎÙÍ ÑÚÙËÁÍ
+VC,ðÏÒÔÙ × ×ÉÒÔÕÁÌØÎÙÈ ËÁÔÅÇÏÒÉÑÈ
+AOP,ðÒÏÞÉÅ ÐÏÒÔÙ

Added: head/ru_RU.KOI8-R/htdocs/ports/growth/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/ru_RU.KOI8-R/htdocs/ports/growth/Makefile	Sun Oct  7 19:34:45 2012	(r39681)
@@ -0,0 +1,11 @@
+# $FreeBSD$
+#
+# Original revision: r38826
+#
+
+TOOLDIR=${.CURDIR}/../../../../share/tools/portsgrowth
+
+all install clean:
+	cd ${TOOLDIR}; \
+		 ${MAKE} ${MAKEFLAGS} ${.TARGETS}
+

Added: head/ru_RU.KOI8-R/htdocs/ports/index.xml
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/ru_RU.KOI8-R/htdocs/ports/index.xml	Sun Oct  7 19:34:45 2012	(r39681)
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="koi8-r"?>
+<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
+"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
+<!ENTITY title 'ðÏÒÔÙ FreeBSD'>
+<!ENTITY email 'ports'>
+<!ENTITY % ports.ent SYSTEM "ports.ent">
+%ports.ent;
+<!ENTITY % statistics.ent SYSTEM "statistics.ent">
+%statistics.ent;
+]>
+
+<!--
+     Original revision: r39632
+-->
+
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+      <title>&title;</title>
+
+      <cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
+    </head>
+
+    <body class="navinclude.ports">
+
+&searchform;
+
+<hr/>
+
+<p>ëÏÌÌÅËÃÉÑ ðÏÒÔÏ× É ðÁËÅÔÏ× FreeBSD ÄÁ£Ô ÐÏÌØÚÏ×ÁÔÅÌÑÍ É ÁÄÍÉÎÉÓÔÒÁÔÏÒÁÍ
+ÐÒÏÓÔÏÊ ÍÅÔÏÄ ÕÓÔÁÎÏ×ËÉ ÐÒÉÌÏÖÅÎÉÊ.  îÁ ÔÅËÕÝÉÊ ÍÏÍÅÎÔ ×ÓÅÇÏ ÐÏÒÔÏ× ÄÏÓÔÕÐÎÏ:
+<!--<a href="growth/status.png">--><b>&ports.count;</b><!--</a>-->.
+</p>
+
+<p>ëÏÌÌÅËÃÉÑ ÐÏÒÔÏ× ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÎÁ ÐÏÓÌÅÄÎÉÈ ÒÅÌÉÚÁÈ ×ÅÔÏË
+<a href="&enbase;/doc/ru_RU.KOI8-R/books/faq/introduction.html#CURRENT">
+FreeBSD-CURRENT</a> É
+<a href="&enbase;/doc/ru_RU.KOI8-R/books/faq/introduction.html#STABLE">
+FreeBSD-STABLE</a>.  ðÒÅÄÙÄÕÝÉÅ ÒÅÌÉÚÙ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ É ÍÏÇÕÔ ÒÁÂÏÔÁÔØ
+ÉÌÉ ÎÅ ÒÁÂÏÔÁÔØ ËÏÒÒÅËÔÎÏ Ó ÏÂÎÏ×ÌÅÎÎÏÊ ËÏÌÌÅËÃÉÅÊ ÐÏÒÔÏ×.  óÏ ×ÒÅÍÅÎÅÍ
+ÉÚÍÅÎÅÎÉÑ × ËÏÌÌÅËÃÉÉ ÐÏÒÔÏ× ÍÏÇÕÔ ÂÙÔØ ÏÓÎÏ×ÁÎÙ ÎÁ ×ÏÚÍÏÖÎÏÓÔÑÈ, ÎÅ
+ÐÒÅÄÓÔÁ×ÌÅÎÎÙÈ × ÐÒÅÄÙÄÕÝÉÈ ÒÅÌÉÚÁÈ.  íÙ ÓÔÁÒÁÅÍÓÑ ÎÅ ÎÁÒÕÛÁÔØ ÐÏÄÄÅÒÖËÕ
+ÐÏÓÌÅÄÎÉÈ ÒÅÌÉÚÏ×, ÎÏ ÉÎÏÇÄÁ ÜÔÏ ÎÅ×ÏÚÍÏÖÎÏ. ëÏÇÄÁ ÓÏÏÂÝÅÓÔ×Ï ÐÏÌØÚÏ×ÁÔÅÌÅÊ
+ÐÒÅÄÌÁÇÁÅÔ ÉÓÐÒÁ×ÌÅÎÉÑ, ÏÎÉ ÏÂÙÞÎÏ ×ÎÏÓÑÔÓÑ.
+</p>
+
+<p>ëÁÖÄÙÊ ``ÐÏÒÔ'', ÕËÁÚÁÎÎÙÊ ÚÄÅÓØ, ÓÏÄÅÒÖÉÔ ×ÓÅ ÐÁÔÞÉ, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ
+ËÏÍÐÉÌÑÃÉÉ É ÚÁÐÕÓËÁ ÏÒÉÇÉÎÁÌØÎÏÇÏ ÐÒÉÌÏÖÅÎÉÑ ×Ï FreeBSD.  õÓÔÁÎÏ×ËÁ
+ÐÒÉÌÏÖÅÎÉÑ ÐÒÏÓÔÁ É Ó×ÏÄÉÔÓÑ Ë ×ÙÐÏÌÎÅÎÉÀ ËÏÍÁÎÄÙ
+<tt><a href="http://www.freebsd.org/cgi/man.cgi?query=make">make</a>
+install</tt> × ËÁÔÁÌÏÇÅ ÐÏÒÔÁ.  úÁÇÒÕÚÉ× É ÕÓÔÁÎÏ×É×
+<!--<a href="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/ports/ports.tar.gz">-->
+<a href="&enbase;/doc/ru_RU.KOI8-R/books/handbook/ports-using.html#ports-tree">
+ÐÏÌÎÏÅ ÄÅÒÅ×Ï ÐÏÒÔÏ×</a>, ×Ù ÍÏÍÅÎÔÁÌØÎÏ ÐÏÌÕÞÁÅÔÅ ÔÙÓÑÞÉ ÐÒÉÌÏÖÅÎÉÊ ÐÏÄ
+ÒÕËÏÊ.
+</p>
+
+<p>
+<tt>Makefile</tt> ËÁÖÄÏÇÏ ÐÏÒÔÁ Á×ÔÏÍÁÔÉÞÅÓËÉ ÓÇÒÕÖÁÅÔ ÉÓÈÏÄÎÙÊ ËÏÄ
+ÐÒÉÌÏÖÅÎÉÑ Ó ÌÏËÁÌØÎÏÇÏ ÄÉÓËÁ ÉÌÉ CDROM ÌÉÂÏ ÐÏ
+<a href="http://www.freebsd.org/cgi/man.cgi?query=ftp"><tt>ftp</tt></a>,
+ÒÁÓÐÁËÏ×Ù×ÁÅÔ ÅÇÏ × ×ÁÛÅÊ ÓÉÓÔÅÍÅ, ÐÒÉËÌÁÄÙ×ÁÅÔ ÐÁÔÞÉ É ËÏÍÐÉÌÉÒÕÅÔ.  åÓÌÉ
+×Ó£ ÐÒÏÈÏÄÉÔ ÇÌÁÄËÏ, ÎÁÂÏÒ ËÏÍÁÎÄÙ <tt>make install</tt> ÐÒÉ×ÏÄÉÔ Ë
+ÕÓÔÁÎÏ×ËÅ ÐÒÉÌÏÖÅÎÉÑ É ÒÅÇÉÓÔÒÁÃÉÉ ÅÇÏ × ÓÉÓÔÅÍÅ.</p>
+
+<p>äÌÑ ÂÏÌØÛÉÎÓÔ×Á ÐÏÒÔÏ× ÉÍÅÅÔÓÑ ÕÖÅ ÏÔËÏÍÐÉÌÉÒÏ×ÁÎÎÙÊ <tt>ÐÁËÅÔ</tt>,
+ÞÔÏ ÐÏÚ×ÏÌÑÅÔ ÉÚÂÁ×ÉÔØÓÑ ÏÔ ËÏÍÐÉÌÑÃÉÉ ÞÅÇÏ ÂÙ ÔÏ ÎÉ ÂÙÌÏ.  ÷ ËÁÖÄÏÍ ÐÏÒÔÕ
+ÉÍÅÅÔÓÑ ÓÓÙÌËÁ ÎÁ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÊ ÐÁËÅÔ É ×Ù ÍÏÖÅÔÅ ÐÒÏÓÔÏ ÓËÁÞÁÔØ
+ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÊ ÆÁÊÌ, Á ÚÁÔÅÍ ÐÒÉÍÅÎÉÔØ Ë ÎÅÍÕ ËÏÍÁÎÄÕ
+<a href="http://www.freebsd.org/cgi/man.cgi?query=pkg_add"><tt>pkg_add</tt></a>
+ÌÉÂÏ ÕËÁÚÁÔØ ÍÅÓÔÏÐÏÌÏÖÅÎÉÅ ÐÁËÅÔÁ × ×ÉÄÅ ÓÓÙÌËÉ × ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÅ ÐÒÉ
+ÚÁÐÕÓËÅ <tt>pkg_add</tt>, ÔÁË ËÁË ÜÔÁ ÕÔÉÌÉÔÁ ÓÐÏÓÏÂÎÁ ×ÏÓÐÒÉÎÉÍÁÔØ
+ËÁË ÉÍÅÎÁ ÆÁÊÌÏ×, ÔÁË É URL.</p>
+
+</body>
+</html>

Added: head/ru_RU.KOI8-R/htdocs/ports/installing.xml
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/ru_RU.KOI8-R/htdocs/ports/installing.xml	Sun Oct  7 19:34:45 2012	(r39681)
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="koi8-r"?>
+<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
+"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
+<!ENTITY title 'õÓÔÁÎÏ×ËÁ ëÏÌÌÅËÃÉÉ ÐÏÒÔÏ× FreeBSD'>
+<!ENTITY % ports.ent SYSTEM "ports.ent">
+%ports.ent;
+<!ENTITY email 'ports'>
+%statistics.ent;
+]>
+
+<!--
+     $FreeBSD$
+
+     Original revision: r39632
+-->
+
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+      <title>&title;</title>
+
+      <cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
+    </head>
+
+    <body class="navinclude.ports">
+
+&searchform;
+
+<hr/>
+
+<p>åÓÌÉ ×Ù ÕÓÔÁÎÁ×ÌÉ×ÁÅÔÅ FreeBSD Ó CD-ROM ÉÌÉ ÐÏ ftp, ÐÒÉÌÏÖÅÎÉÅ
+  <a href="&enbase;/cgi/man.cgi?query=sysinstall"><tt>sysinstall</tt></a>
+  ÐÏÚ×ÏÌÉÔ ×ÁÍ ÚÁÏÄÎÏ ÕÓÔÁÎÏ×ÉÔØ ëÏÌÌÅËÃÉÀ ðÏÒÔÏ×.</p>
+
+<p>åÓÌÉ ÖÅ ×Ù ÎÅ ÉÓÐÏÌØÚÕÅÔÅ ÜÔÏÔ ÍÅÔÏÄ ÕÓÔÁÎÏ×ËÉ, ×Ù ÍÏÖÅÔÅ
+  <a href="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/ports/ports.tar.gz">
+  ÚÁÇÒÕÚÉÔØ ÓÖÁÔÙÊ ÁÒÈÉ×</a> Ó ÐÏÌÎÙÍ ÄÅÒÅ×ÏÍ ÐÏÒÔÏ×.  òÁÚÍÅÒ ÆÁÊÌÁ
+  ÓÏÓÔÁ×ÌÑÅÔ &ports.size;.</p>
+
+</body>
+</html>

Modified: head/ru_RU.KOI8-R/htdocs/ports/packages
==============================================================================
--- head/ru_RU.KOI8-R/htdocs/ports/packages	Sun Oct  7 18:34:10 2012	(r39680)
+++ head/ru_RU.KOI8-R/htdocs/ports/packages	Sun Oct  7 19:34:45 2012	(r39681)
@@ -6,12 +6,12 @@
 #
 # $FreeBSD$
 # The FreeBSD Russian Documentation Project
-# Original revision: 1.7
+# Original revision: r38826
 
 PATH=/bin:/usr/bin:/usr/local/bin; export PATH
 
 release='packages-stable';
-url="ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/$release/All/"
+url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/$release/All/"
 
 temp=_lynx$$
 

Modified: head/ru_RU.KOI8-R/htdocs/ports/portindex
==============================================================================
--- head/ru_RU.KOI8-R/htdocs/ports/portindex	Sun Oct  7 18:34:10 2012	(r39680)
+++ head/ru_RU.KOI8-R/htdocs/ports/portindex	Sun Oct  7 19:34:45 2012	(r39681)
@@ -1,8 +1,8 @@
-#!/usr/bin/perl
+#!/usr/bin/perl -w
 
-# convert a ports INDEX file to HTML
+# convert a ports INDEX file to XML files
 #
-# by John Fieber <jfieber at freebsd.org>
+# by John Fieber <jfieber at FreeBSD.org>
 # Mon May 13 10:31:58 EST 1996
 
 #
@@ -11,85 +11,116 @@
 # $FreeBSD$
 # $FreeBSDru: frdp/www/ru/ports/portindex,v 1.14 2004/03/23 21:10:07 phantom Exp $
 #
-# Original revision: 1.49
+# Original revision: r39632
 #
 
 ############################################################
 
+use strict;
+use POSIX;
+use IO::File;
+
+my $base = "";
+my $baseHTTP = "";
+my $urlcgi = "";
+my $packagesURL = "";
+my $today = getdate();
+my %p = ();
+
 # Load local config file. You can override in portindex.conf
 # the variables for the default web and the ftp server. This
 # make it easy to maintain a local web mirror and let the
 # URL point to yourself and not to the standard FreeBSD FTP server.
-$config = $0 . '.' . 'conf';
+
+my $config = $0 . '.' . 'conf';
 do $config if -f $config;
 
 # This is the base of where we ftp stuff from
+my $ftpserver;
 if ($ENV{'MASTER_FTP_SERVER'}) {
     $ftpserver = $ENV{'MASTER_FTP_SERVER'};
 } else {
     $ftpserver = 'ftp://ftp.FreeBSD.org' if !$ftpserver;
 }
-$base = "" if !$base;
 $baseHTTP = $base if !$baseHTTP;
-$baseFTP = "$ftpserver/pub/FreeBSD/ports/ports";
-$baseCVSWEB = 'http://www.FreeBSD.org/cgi/cvsweb.cgi/';
-$urlcgi = 'http://www.freebsd.org/cgi/url.cgi' if !$urlcgi;
+my $baseFTP = "$ftpserver/pub/FreeBSD/ports/ports";
+my $baseCVSWEB = 'http://www.FreeBSD.org/cgi/cvsweb.cgi/';
+$urlcgi = 'http://www.FreeBSD.org/cgi/url.cgi' if !$urlcgi;
 $packagesURL = "$ftpserver/pub/FreeBSD/ports/i386/packages-stable/All/"
     if !$packagesURL;
 # support tar on the fly or gzip'ed tar on the fly
-$ftparchive = '';
+my $ftparchive = '';
 $ftparchive = 'tar' if !defined $ftparchive;
 
 
 # ports download sources script
-$pds = 'http://www.FreeBSD.org/cgi/pds.cgi';
+my $pds = 'http://www.FreeBSD.org/cgi/pds.cgi';
 
 # better layout and link to the sources
 if ($urlcgi) {
     $baseHTTP = $urlcgi . '?' . $baseHTTP;
 }
 
-$today = &getdate;
-
-&packages_exist('packages.exists', *packages);
-&category_description(($ARGV[1] || '.') . '/categories', *category_description);
-&main;
+my %packages = ();
+my %category_description = ();
+my @category_groups = ();
+my %category_groups = ();
+packages_exist('packages.exists');
+category_description(($ARGV[1] || '.') . '/categories' );
+category_groups(($ARGV[1] || '.') . '/categories.descriptions' );
+main();
 
 sub getdate {
-    @months = ("ñÎ×ÁÒÑ", "æÅ×ÒÁÌÑ", "íÁÒÔÁ", "áÐÒÅÌÑ", "íÁÑ","éÀÎÑ",
-	       "éÀÌÑ", "á×ÇÕÓÔÁ", "óÅÎÔÑÂÒÑ", "ïËÔÑÂÒÑ", "îÏÑÂÒÑ", "äÅËÁÂÒÑ");
-    ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
-    $year += 1900;
-    return "$mday $months[$mon], $year";
+    return POSIX::strftime("%d-%B-%Y", localtime);
 }
 
 sub header {
-    local ($fh, $htext) = @_;
-    print $fh "<?xml version=\"1.0\" encoding=\"koi8-r\"?>\n";
-    print $fh "<!DOCTYPE html PUBLIC \"-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN\"\n";
-    print $fh "\"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd\" [\n";
-    print $fh "<!ENTITY base '..'>\n";
-    print $fh "<!ENTITY blurb  SYSTEM \"ports.inc\">\n";
-    print $fh "<!ENTITY % navinclude.ports \"INCLUDE\">\n";
-    print $fh "<!ENTITY email 'ports'>\n";
-    print $fh "]>\n";
-
-    print $fh "<html xmlns=\"http://www.w3.org/1999/xhtml\">";
-    print $fh "<head><title>$htext</title>";
-    print $fh "<cvs:keyword xmlns:cvs=\"http://www.FreeBSD.org/XML/CVS\">x x x $today x x x</cvs:keyword>";
-    print $fh "</head>";
+    my $fh = shift;
+    my $htext = shift;
+    #local($fh, $htext) = @_;
+    print $fh <<EOF;
+<?xml version="1.0" encoding="koi8-r"?>
+<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
+"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
+<!ENTITY base '..'>
+<!ENTITY % navinclude.ports "INCLUDE">
+<!ENTITY % ports.ent SYSTEM "ports.ent">
+%ports.ent;
+<!ENTITY email 'ports'>
+%statistics.ent;
+]>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>$htext</title>
+
+    <cvs:keyword xmlns:cvs=\"http://www.FreeBSD.org/XML/CVS\">x x x $today x x x</cvs:keyword>
+  </head>
+
+  <body class="navinclude.port">
+
+&searchform;
+
+<hr/>
 
-    print $fh "<body class=\"navinclude.about\">";
+EOF
 }
 
 sub footer {
-    local ($fh, $ftext) = @_;
-    print $fh "\n$ftext\n";
-    print $fh "</body>\n</html>\n";
+    my $fh = shift;
+    my $ftext = shift;
+    #local ($fh, $ftext) = @_;
+print $fh <<EOF;
+
+$ftext
+</body>
+</html>
+EOF
 }
 
 sub packages_exist {
-    local($file, *p) = @_;
+    my $file=shift;
+    my %p;
+    #local($file, *p) = @_;
 
     open(P, $file) || do {
 	warn "open $file: $!\n";
@@ -99,14 +130,13 @@ sub packages_exist {
 
     while(<P>) {
 	chop;
-	$p{$_} = 1;
+	$packages{$_} = 1;
     }
     close P;
-    return 0;
 }
 
 sub category_description {
-    local($file, *p) = @_;
+    my $file = shift;
 
     open(P, $file) || do {
 	warn "open $file: $!\n";
@@ -114,23 +144,53 @@ sub category_description {
 	return 1;
     };
 
-    local($category, $description);
     while(<P>) {
 	# ignore comments
 	next if /^\s*#/;
+	if (/^\s*([^,]+),\s*"([^"]+)",\s*([A-Z]+)/) {
+	    $category_description{$1}{desc}=$2;
+	    $category_description{$1}{group}=$3;
+	}
+    }
+    close P;
+}
+
+sub category_groups {
+    my $file = shift;
 
-       ($category, $description) = /^\s*"([^"]+)",\s*"([^"]+)/;
-	$p{$category} = $description;
+    open(P, $file) || do {
+	warn "open $file: $!\n";
+	warn "Cannot find category groups\n";
+	return 1;
+    };
+
+    while(<P>) {
+	# ignore comments
+	next if /^\s*#/;
+	if (/^\s*([^,]+),\s*(.+)/) {
+	    $category_groups{$1}=$2;
+	    push(@category_groups,$1);
+	}
     }
     close P;
-    return 0;
 }
 
 sub main {
-
-    $sep = "<b>:</b>";
+    my @master=();
+    my %stats;
+    my %catkey;
+    my %data;
+    my $portnumber = 0;
+
+    my $sep = "<B>:</B>";
+
+    my $moutf = new IO::File;
+    my $outf = new IO::File;
+    my $mindex = new IO::File;
+    my $statistics = new IO::File;
 
     open(INDEX, $ARGV[0]);
+    $portnumber = "0";
     while (<INDEX>) {
 	chop;
 	s/&/&amp;/g;
@@ -138,29 +198,28 @@ sub main {
     	s/>/&gt;/g;
 
     	# Read a record
-	($name, $loc, $prefix, $desc, $ldesc, $owner, $cats, 
+	my ($name, $loc, $prefix, $desc, $ldesc, $owner, $cats, 
 	    $bdep, $rdep, $www) = split('\|');
 
 	# Check for double hyphens in the name (--).
 	$name =~ s/--/-/g;
 
     	# Split the categories into an array
-	@cat = split("[ \t]+", $cats);
+	my @cat = split("[ \t]+", $cats);
 
     	$catkey{$name} = $cat[0];
 
-	local($sourcepath) = $loc;
+	my $sourcepath = $loc;
 	$sourcepath =~ s%/usr/%%;
-
-	foreach $i (@cat) {
-
+	
+	foreach my $i (sort(@cat)) {
 	    $stats{$i}++;
 
-    	    # figure out the FTP url
+	    # figure out the FTP url
 	    $loc =~ s/\/usr\//$baseCVSWEB/;
-	    $ldesc =~ s/\/usr/$baseHTTP/;
+	    $ldesc =~ s/\/usr\//$baseHTTP/;
 
-    	    # The name description and maintainer
+	    # The name description and maintainer
 	    $name =~ s/,.*//g;
 	    $name =~ s/\++//g;
 	    $data{$i} .= "<dt><b><a name=\"$name\"></a><a href=\"$loc$ftparchive\">$name</a></b></dt>";
@@ -175,54 +234,54 @@ sub main {
 
 	    $data{$i} .= qq{ | <a href="$pds?$sourcepath">éÓÈÏÄÎÙÅ ÔÅËÓÔÙ</a>};
 
-            if ($www ne "") {
+	    if ($www ne "") {
 		$data{$i} .= qq{ | <a href="$www">ïÓÎÏ×ÎÏÊ Web ÓÁÊÔ</a>};
-            }
+	    }
 
-    	    $ownerurl = $owner;
-    	    $ownerurl =~ s/&lt;/</g;
-    	    $owenrurl =~ s/&gt;/>/g;
+	    my $ownerurl = $owner;
+	    $ownerurl =~ s/&lt;/</g;
+	    $ownerurl =~ s/&gt;/>/g;
 	    $data{$i} .= 
 		"<br/><i>ðÏÄÄÅÒÖËÏÊ ÚÁÎÉÍÁÅÔÓÑ:</i> <a href=\"mailto:$ownerurl\">$owner</a>";
 
-    	    # If there are any dependencies, list them
-    	    if ($bdep ne "" || $rdep ne "") {
-    	    	$data{$i} .= "<br/><i>ôÒÅÂÕÅÔ:</i> ";
-    	    	@dep = split(/ /, "$bdep $rdep");
-		local($last) = '';
-    	    	foreach $j (sort @dep) {
+	    # If there are any dependencies, list them
+	    if ($bdep ne "" || $rdep ne "") {
+		$data{$i} .= "<br/><i>ôÒÅÂÕÅÔ:</i> ";
+		my @dep = split(/ /, "$bdep $rdep");
+		my $last = '';
+		foreach my $j (sort @dep) {
 		    next if $j eq $last;
 		    $last = $j;
-    	    	    $data{$i} .= " <a href=\"##$j##.html#$j\">$j</a>,";
-    	    	}
-    	    	# remove the trailing comma
-    	    	chop $data{$i};
-    	    }
-
-    	    # If the port is listed in more than one category, throw
-    	    # in some cross references
-    	    if ($#cat > 0) {
-    	    	$data{$i} .= "<br/><em>ôÁËÖÅ ÐÒÉÓÕÔÓÔ×ÕÅÔ ×:</em> ";
-    	    	foreach $j (@cat) {
-    	    	    if ($j ne $i) {
+		    $data{$i} .= " <a href=\"##$j##.html#$j\">$j</a>,";
+		}
+		# remove the trailing comma
+		chop $data{$i};
+	    }
+
+	    # If the port is listed in more than one category, throw
+	    # in some cross references
+	    if ($#cat > 0) {
+		$data{$i} .= "<br/><em>ôÁËÖÅ ÐÒÉÓÕÔÓÔ×ÕÅÔ ×:</em> ";
+		foreach my $j (@cat) {
+		    if ($j ne $i) {
 			if ($j eq $cat[0]) {
 			    $data{$i} .= " <strong><a href=\"$j.html#$name\">\u$j</a></strong>,";
 			}
 			else {
 			    $data{$i} .= " <a href=\"$j.html#$name\">\u$j</a>,";
 			}
-    	    	    }
-    	    	}
-    	    	# remove the trailing comma
-    	    	chop($data{$i});
-    	    }
-    	    $data{$i} .= "<p></p></dd>\n"
+		    }
+		}
+		# remove the trailing comma
+		chop($data{$i});
+	    }
+	    $data{$i} .= "<p></p></dd>\n"
 	}
 
-        # Add an entry to the master index
+    	# Add an entry to the master index
 
-        # workaround for SGML bug, `--' is not allowed in comments
-	local ($sname) = $name; 
+	# workaround XML syntax, `--' is not allowed in comments
+	my $sname = $name; 
 	$sname =~ s/--/-=/g;
     	$master[$portnumber] = 
     	    "<!-- $sname --><strong><a href=\"$cat[0].html#$name\">$name</a></strong> " .
@@ -230,67 +289,113 @@ sub main {
 	$portnumber++;
     }
 
-    open(MOUTF, ">index.xml");
+    # create categories-grouped.xml and <category>.xml
 
-    &header(MOUTF, "ðÏÒÔÙ FreeBSD");
-#    print MOUTF "<!--#include virtual=\"./ports.inc\" -->\n";
-    print MOUTF "&blurb;";
-    print MOUTF "<hr/><p>÷ ÓÐÉÓËÅ ëÏÌÌÅËÃÉÉ ðÏÒÔÏ× FreeBSD ÎÁ ÄÁÎÎÙÊ ÍÏÍÅÎÔ
-ÐÒÉÓÕÔÓÔ×ÕÀÔ $portnumber ÐÏÒÔÉÒÏ×ÁÎÎÙÈ ÎÁ FreeBSD ÐÒÏÇÒÁÍÍ.<br/>
-<a href=\"$baseFTP/ports.tar.gz\">óÇÒÕÚÉÔÅ gzip-ÁÒÈÉ×, ÓÏÄÅÒÖÁÝÉÊ ×ÓÅ
-$portnumber ÐÏÒÔÏ×</a> (ÏËÏÌÏ 21 íÂÁÊÔÁ) ÉÌÉ ÐÒÏÓÍÏÔÒÉÔÅ ÓÌÅÄÕÀÝÉÅ
-ËÁÔÅÇÏÒÉÉ:</p>\n";
-
-    print MOUTF "<ul>\n";
-
-    @foos = sort(keys %stats);
-    foreach $key  (@foos) {
-	# For the master file...
-	print MOUTF 
-	    "<li><a href=\"$key.html\">\u$key</a> <em>($stats{$key})</em>";
-	if ($category_description{$key}) {
-	    print MOUTF " -- " . $category_description{$key};
-	}
+    $moutf->open(">categories-grouped.xml");
+    header($moutf, "ëÁÔÅÇÏÒÉÉ ðÏÒÔÏ× FreeBSD ÐÏ ÇÒÕÐÐÁÍ");
+
+    print $moutf <<EOF;
+<a name=\"top\"></a>
+EOF
+
+    if ($portnumber eq '0') {
+      print $moutf "<p>ÎÉÞÅÇÏ ÎÅ ÎÁÊÄÅÎÏ</p>\n";
+    } else {
+    foreach my $cg (@category_groups) {
+	print $moutf "<h3>",$category_groups{$cg},"</h3>\n";
+	print $moutf "<ul>\n";
+	foreach my $key (sort(keys(%stats))) {
+	    next if ($category_description{$key}{group} ne $cg);
+	    # For the master file...
+	    print $moutf 
+		"<li><a href=\"$key.html\">\u$key</a> <em>($stats{$key})</em>";
+	    if ($category_description{$key}{desc}) {
+		print $moutf " -- " . $category_description{$key}{desc};
+	    }
+
+	    # Someone forgot to add a category to the description file
+	    # or there is a typo in the category field.
+	    else {
+		warn "No description found for category: ``$key''!\n";
+		warn "Please fix me or send an E-Mail to doc\@FreeBSD.org\a\n";
+		sleep(3);
+	    }
+	    print $moutf "</li>\n";
 
-	# Someone forgot to add a category to the description file
-	# or there is a typo in the category field.
-	else {
-	   warn "No description found for category: ``$key''!\n";
-	   warn "Please fix me or send an E-Mail to doc\@FreeBSD.org\a\n";
-	   sleep(3);
+	    # Create the category file
+	    $outf->open(">$key.xml");
+	    header($outf, "ðÏÒÔÙ FreeBSD: \u$key");
+	    if ($category_description{$key}{desc}) {
+		print $outf "<h3>", $category_description{$key}{desc}, "</h3>\n";
+	    }
+	    print $outf "<dl>\n";
+	    my $d = join("\n", sort(split(/\n/, $data{$key})));
+	    $d =~ s/##([^#]*)##/$catkey{$1}/g;
+	    print $outf $d;
+	    print $outf "</dl>\n";
+	    footer($outf, "<p></p><a href=\"#top\">top</a>" .
+		" -- <a href=\"master-index.html\">Index</a>");
+	    $outf->close;
 	}
- 
-	print MOUTF "</li>\n";
+	print $moutf "</ul>\n";
+    }
+    }
+
+    footer($moutf, "");
+    $moutf->close;
+
+    # create categories-alpha.xml
 
-	# Create the category file
-	open(OUTF, ">$key.xml");
-	&header(OUTF, "ðÏÒÔÙ FreeBSD: \u$key");
-	if ($category_description{$key}) {
-	    print OUTF "<h3>", $category_description{$key}, "</h3>\n";
+    $moutf->open(">categories-alpha.xml");

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-doc-head mailing list