aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--en/ports/Makefile28
-rw-r--r--en/ports/Makefile.inc6
-rw-r--r--en/ports/index.sgml71
-rw-r--r--en/ports/installing.sgml30
-rwxr-xr-xen/ports/portindex96
-rw-r--r--en/ports/ports.ent26
-rw-r--r--en/ports/references.sgml90
-rw-r--r--en/ports/searching.sgml40
-rw-r--r--en/ports/updating.sgml52
9 files changed, 402 insertions, 37 deletions
diff --git a/en/ports/Makefile b/en/ports/Makefile
index d3f5aaf102..ace0407b65 100644
--- a/en/ports/Makefile
+++ b/en/ports/Makefile
@@ -1,4 +1,4 @@
-# $FreeBSD: www/en/ports/Makefile,v 1.44 2005/11/30 22:43:47 pav Exp $
+# $FreeBSD: www/en/ports/Makefile,v 1.45 2005/11/30 22:46:33 pav Exp $
.if exists(../Makefile.conf)
.include "../Makefile.conf"
@@ -50,8 +50,19 @@ packages.exists:
${TOUCH} ${.TARGET}
.endif
-Makefile.gen: index.sgml .NOTMAIN
+Makefile.gen: categories-alpha.sgml categories-grouped.sgml index.sgml \
+ installing.sgml master-index.sgml references.sgml searching.sgml \
+ statistics.ent updating.sgml .NOTMAIN
${ECHO_CMD} DOCS= *.sgml > Makefile.gen
+ ${ECHO_CMD} -n "DYNAMIC_DOCS= " >> Makefile.gen
+ ${ECHO_CMD} -n " categories-alpha.sgml" >> Makefile.gen
+ ${ECHO_CMD} -n " categories-grouped.sgml" >> Makefile.gen
+ ${ECHO_CMD} -n " master-index.sgml" >> Makefile.gen
+ ${ECHO_CMD} -n " statistics.ent" >> Makefile.gen
+ for categoryfile in ${CATEGORYLIST}; do \
+ ${ECHO_CMD} -n " $$categoryfile.sgml" >> Makefile.gen; \
+ done
+ ${ECHO_CMD} >> Makefile.gen
.if defined(NO_TIDY)
${ECHO_CMD} NO_TIDY=${NO_TIDY} >> Makefile.gen
.endif
@@ -70,8 +81,16 @@ ports.size:
${FETCH} -s ${PORTS_TARGZ_URL} > ${.TARGET}
.endif
-index.sgml: ${INDEX} categories categories.descriptions packages.exists portindex ports.inc ports.size .NOTMAIN
- ${RM} -f *.sgml
+# this builds: categories-alpha.sgml, categories-grouped.sgml,
+# master-index.sgml, statistics.ent, <category>.sgml
+CATEGORYLIST=`grep "^[a-z]" categories | sed -e s"/,.*//"`
+categories-alpha.sgml: ${INDEX} categories categories.descriptions \
+ packages.exists portindex ports.ent ports.size .NOTMAIN
+ ${RM} -f categories-alpha.sgml categories-grouped.sgml \
+ master-index.sgml statistics.ent
+ for categoryfile in ${CATEGORYLIST}; do \
+ rm -f "$$categoryfile.sgml"; \
+ done
${PORTINDEX} ${INDEX} ${.CURDIR}
install: all beforeinstall
@@ -86,6 +105,7 @@ beforeinstall:
.else
beforeinstall:
${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 "${WEB_PREFIX}/share/mk/web.site.mk"
diff --git a/en/ports/Makefile.inc b/en/ports/Makefile.inc
index 60143809dd..ac45e0e1d1 100644
--- a/en/ports/Makefile.inc
+++ b/en/ports/Makefile.inc
@@ -1,4 +1,4 @@
-# $FreeBSD: www/en/ports/Makefile.inc,v 1.7 2005/11/15 10:09:26 osa Exp $
+# $FreeBSD: www/en/ports/Makefile.inc,v 1.8 2005/11/30 22:43:47 pav Exp $
PORTINDEX= ${PERL} ${.CURDIR}/portindex
INDEX= INDEX
@@ -8,9 +8,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.size
+CLEANFILES+= ports.count ports.size
_ALLINSTALL= packages.exists ${INDEX} categories
diff --git a/en/ports/index.sgml b/en/ports/index.sgml
new file mode 100644
index 0000000000..8e52d72029
--- /dev/null
+++ b/en/ports/index.sgml
@@ -0,0 +1,71 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" [
+<!ENTITY base CDATA '..'>
+<!ENTITY date "$FreeBSD$">
+<!ENTITY title 'About FreeBSD Ports'>
+<!ENTITY % navincludes SYSTEM "../includes.navports.sgml"> %navincludes;
+<!ENTITY % includes SYSTEM "../includes.sgml">
+<!ENTITY % ports.ent SYSTEM "ports.ent">
+<!ENTITY email 'ports'>
+%includes;
+%ports.ent;
+%statistics.ent;
+]>
+<HTML>&header;
+
+&searchform;
+
+<HR>
+
+<P>The FreeBSD Ports and Packages Collection offers a simple way for
+users and administrators to install applications. There are currently
+<A HREF="growth/status.png"><B>&ports.count;</B></A> ports available.
+</P>
+
+<P>The Ports Collection supports the latest release on the
+<A HREF="&base;/doc/en_US.ISO8859-1/books/faq/introduction.html#CURRENT">
+FreeBSD-CURRENT</A> and
+<A HREF="&base;/doc/en_US.ISO8859-1/books/faq/introduction.html#STABLE">
+FreeBSD-STABLE</A> branches. Older releases are not
+supported and may or may not work correctly with an up-to-date ports
+collection. Over time, changes to the ports collection may rely on
+features that are not present in older releases. Wherever convenient,
+we try not to gratuitously break support for recent releases, but it
+is sometimes unavoidable. When this occurs, patches contributed by
+the user community to maintain support for older releases will usually
+be committed.
+</P>
+
+<P>Each ``port'' listed here
+contains any patches necessary to make the original application source
+code compile and run on FreeBSD. Installing an application is as
+simple as downloading the port, unpacking it and typing
+<A HREF="http://www.freebsd.org/cgi/man.cgi?query=make"><TT>make</TT></A>
+in the port directory. However, the most convenient (and common) method
+is to download the framework for the entire list of ports by installing the
+<!--<A HREF="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/ports/ports.tar.gz">-->
+<A HREF="installing.html">
+entire ports hierarchy</A> at FreeBSD installation time, and then have
+thousands of applications right at your fingertips.
+</P>
+
+<P>
+Each port's <TT>Makefile</TT> automatically fetches the
+application source code, either from a local disk, CDROM or via
+<A HREF="http://www.freebsd.org/cgi/man.cgi?query=ftp"><TT>ftp</TT></A>,
+unpacks it on your system, applies the patches, and compiles. If
+all went well, a simple <TT>make install</TT> will install the
+application and register it with the package system.</P>
+
+<P>For most ports, a precompiled <TT>package</TT> also exists, saving
+the user the work of having to compile anything at all. Each port
+contains a link to its corresponding package and you may either simply
+download that file and then run the
+<A HREF="http://www.freebsd.org/cgi/man.cgi?query=pkg_add"><TT>pkg_add</TT></A>
+command
+on it or you can simply grab the link location and hand it straight
+to <TT>pkg_add</TT> since it is capable of accepting FTP URLs as
+well as filenames.</P>
+
+&footer;
+</BODY>
+</HTML>
diff --git a/en/ports/installing.sgml b/en/ports/installing.sgml
new file mode 100644
index 0000000000..5839f38e9f
--- /dev/null
+++ b/en/ports/installing.sgml
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" [
+<!ENTITY base CDATA '..'>
+<!ENTITY date "$FreeBSD$">
+<!ENTITY title 'Installing the FreeBSD Ports Collection'>
+<!ENTITY % navincludes SYSTEM "../includes.navports.sgml"> %navincludes;
+<!ENTITY % includes SYSTEM "../includes.sgml">
+<!ENTITY % ports.ent SYSTEM "ports.ent">
+<!ENTITY email 'ports'>
+%includes;
+%ports.ent;
+%statistics.ent;
+]>
+<HTML>&header;
+
+&searchform;
+
+<HR>
+
+<P>If you are installing FreeBSD from CDROM or an ftp site, the
+ <A HREF="&base;/cgi/man.cgi?query=sysinstall"><TT>sysinstall</TT></A>
+ application will allow you to install the Ports Collection directly.</P>
+
+<P>However, if you are not installing using that method, you may
+ <A HREF="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/ports/ports.tar.gz">
+ download the gzipped tarball</A> for the entire ports hierarchy. The
+ size of the file is &ports.size;.</P>
+
+&footer;
+</BODY>
+</HTML>
diff --git a/en/ports/portindex b/en/ports/portindex
index f9a94b5cb8..e55107b937 100755
--- a/en/ports/portindex
+++ b/en/ports/portindex
@@ -1,10 +1,10 @@
#!/usr/bin/perl -w
-# convert a ports INDEX file to HTML
+# convert a ports INDEX file to SGML files
#
# by John Fieber <jfieber@FreeBSD.org>
# Mon May 13 10:31:58 EST 1996
-# $FreeBSD: www/en/ports/portindex,v 1.54 2005/11/15 10:09:26 osa Exp $
+# $FreeBSD: www/en/ports/portindex,v 1.55 2005/11/29 18:11:47 pav Exp $
############################################################
@@ -75,13 +75,20 @@ sub header {
<!ENTITY base CDATA '..'>
<!ENTITY date "<em>$today</em>">
<!ENTITY title '$htext'>
-<!ENTITY blurb SYSTEM "ports.inc">
-<!ENTITY % navincludes SYSTEM "../includes.navdownload.sgml"> %navincludes;
+<!ENTITY % navincludes SYSTEM "../includes.navports.sgml"> %navincludes;
<!ENTITY % includes SYSTEM "../includes.sgml">
+<!ENTITY % ports.ent SYSTEM "ports.ent">
<!ENTITY email 'ports'>
%includes;
+%ports.ent;
+%statistics.ent;
]>
<html>&header;
+
+&searchform;
+
+<hr>
+
EOF
}
@@ -168,6 +175,7 @@ sub main {
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";
@@ -267,32 +275,13 @@ sub main {
$portnumber++;
}
- my $ptgzsize = `cat ports.size 2>/dev/null` || "";
- if ($ptgzsize =~ /^\d+$/) {
- $ptgzsize = sprintf("%.0f", $ptgzsize/(1024*1024));
- } else {
- warn "Unknown size for ports.tar.gz\n";
- }
+ # create categories-grouped.sgml and <category>.sgml
- $moutf->open(">index.sgml");
+ $moutf->open(">categories-grouped.sgml");
+ header($moutf, "FreeBSD Ports Categories Listed By Groups");
- header($moutf, "FreeBSD Ports");
-# print $moutf "<!--#include virtual=\"./ports.inc\" -->\n";
- print $moutf "&blurb;";
print $moutf <<EOF;
-<HR>
-<H3>Current status</H3>
-<P>There are currently $portnumber ports in the FreeBSD Ports Collection.<BR>
-You may
-<A HREF="$baseFTP/ports.tar.gz">download a gzip'd tar file of all ports</A>
-EOF
- print $moutf "(about $ptgzsize megabytes)" if ($ptgzsize =~ /^\d+$/);
- print $moutf <<EOF;
-, view the
-<A HREF=\"master-index.html\">alphabetical list of all ports</A>,
-or browse the ports in the following categories:
-<A NAME=\"categories\"></A>
-</P>
+<A NAME=\"top\"></A>
EOF
if ($portnumber eq '0') {
@@ -330,7 +319,7 @@ EOF
$d =~ s/##([^#]*)##/$catkey{$1}/g;
print $outf $d;
print $outf "</DL>\n";
- footer($outf, "<p></p><A HREF=\"index.html#categories\">Port Categories</A>" .
+ footer($outf, "<p></p><A HREF=\"#top\">top</A>" .
" -- <A HREF=\"master-index.html\">Index</A>");
$outf->close;
}
@@ -341,13 +330,60 @@ EOF
footer($moutf, "");
$moutf->close;
- # Create the master index file
+ # create categories-alpha.sgml
+
+ $moutf->open(">categories-alpha.sgml");
+ header($moutf, "FreeBSD Ports Categories Listed Alphabetically");
+
+ print $moutf <<EOF;
+<A NAME=\"top\"></A>
+EOF
+
+ if ($portnumber eq '0') {
+ print $moutf "<P>none found</P>\n";
+ } else {
+ print $moutf "<UL>\n";
+ foreach my $key (sort(keys(%stats))) {
+ 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};
+ print $moutf "</LI>\n";
+ }
+ }
+ print $moutf "</UL>\n";
+ }
+
+ footer($moutf, "");
+ $moutf->close;
+
+ # Create master-index.sgml
+
$mindex->open(">master-index.sgml");
header($mindex, "FreeBSD Ports Collection Index");
print $mindex "<P>\n";
print $mindex sort @master;
print $mindex "</P>";
- footer($mindex, "<A HREF=\"index.html#categories\">Port Categories</A>");
+ footer($mindex, "<A HREF=\"#top\">top</A>");
$mindex->close;
+
+ # Create statistics.ent
+
+ $statistics->open(">statistics.ent");
+
+ # doesn't seem to work:
+ # print $statistics "<!ENTITY date '<em>$today</em>'>\n";
+
+ my $ptgzsize = `cat ports.size 2>/dev/null` || "";
+ if ($ptgzsize =~ /^\d+$/) {
+ $ptgzsize = sprintf("%.0f", $ptgzsize/(1024*1024));
+ print $statistics "<!ENTITY ports.size 'about $ptgzsize megabytes'>\n";
+ } else {
+ warn "Unknown size for ports.tar.gz\n";
+ print $statistics "<!ENTITY ports.size 'several tens of megabytes'>\n";
+ }
+ print $statistics "<!ENTITY ports.count '$portnumber'>\n";
+
+ $statistics->close;
close(INDEX);
}
diff --git a/en/ports/ports.ent b/en/ports/ports.ent
new file mode 100644
index 0000000000..c717127a66
--- /dev/null
+++ b/en/ports/ports.ent
@@ -0,0 +1,26 @@
+<!-- $FreeBSD$ -->
+
+<!ENTITY searchform '<FORM METHOD="GET" ACTION="http://www.FreeBSD.org/cgi/ports.cgi">
+Search ports for:
+<INPUT NAME="query" VALUE="">
+<SELECT NAME="stype">
+<OPTION VALUE="all">All</OPTION>
+<OPTION VALUE="name">Package Name</OPTION>
+<OPTION VALUE="text">Description</OPTION>
+<OPTION VALUE="pkgdescr">Long description</OPTION>
+<OPTION VALUE="maintainer">Maintainer</OPTION>
+<OPTION VALUE="requires">Requires</OPTION>
+</SELECT>
+<INPUT TYPE="submit" VALUE="Submit">
+</FORM>'>
+
+<!ENTITY % statistics.ent SYSTEM "statistics.ent">
+
+<!--
+ Local Variables:
+ mode: sgml
+ sgml-indent-data: t
+ sgml-omittag: nil
+ sgml-always-quote-attributes: t
+ End:
+-->
diff --git a/en/ports/references.sgml b/en/ports/references.sgml
new file mode 100644
index 0000000000..ba9cb5f519
--- /dev/null
+++ b/en/ports/references.sgml
@@ -0,0 +1,90 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" [
+<!ENTITY base CDATA '..'>
+<!ENTITY date "$FreeBSD$">
+<!ENTITY title 'FreeBSD Ports -- References'>
+<!ENTITY % navincludes SYSTEM "../includes.navports.sgml"> %navincludes;
+<!ENTITY % includes SYSTEM "../includes.sgml">
+<!ENTITY % ports.ent SYSTEM "ports.ent">
+<!ENTITY email 'ports'>
+%includes;
+%ports.ent;
+%statistics.ent;
+]>
+<html>&header;
+
+&searchform;
+
+<HR>
+
+<P>To start learning more about ports and packages, see
+ <A HREF="&base;/doc/en_US.ISO8859-1/books/handbook/ports.html">
+ Installing Applications: Packages and Ports</A>, a section of the
+ <A HREF="&base;/doc/en_US.ISO8859-1/books/handbook/index.html">
+ FreeBSD Handbook</A>.
+</P>
+
+<P>The
+ <A HREF="&base;/doc/en_US.ISO8859-1/books/porters-handbook/index.html">
+ Porter's Handbook</A> is the master reference for both creating new
+ ports and maintaining existing ports, including a section on
+ <A HREF="&base;/doc/en_US.ISO8859-1/books/porters-handbook/keeping-up.html">
+ Keeping Up</A>. It also contains more detail about the topics below, as
+ well as more references for further study.
+</P>
+
+<P>You may also find the following to be useful:</P>
+
+<UL>
+ <LI>The archives of the
+ <A HREF="http://docs.FreeBSD.org/mail/current/freebsd-ports.html">
+ FreeBSD ports mailing list</A>.
+ </LI>
+
+ <LI>The article
+ <A HREF="&base;/doc/en_US.ISO8859-1/articles/contributing-ports/index.html">
+ Contributing to the FreeBSD Ports Collection</A>.
+ </LI>
+
+ <LI>
+ <A HREF="http://www.FreshPorts.org">FreshPorts.org</A> is a
+ valuable tool for further information about individual ports,
+ such as current version, last checkin, and many other useful
+ statistics. You may subscribe to a mailing list to get the
+ latest information about your favorite ports.
+ </LI>
+
+ <LI>Here is a graph of the
+ <A HREF="growth/status.png">rapid rate of growth</A>
+ of the Ports Collection.</LI>
+
+ <LI>The manual pages for
+ <A HREF="&base;/cgi/man.cgi?query=ftp"><TT>ftp</TT></A>,
+ <A HREF="&base;/cgi/man.cgi?query=pkg_add"><TT>pkg_add</TT></A>, and
+ <A HREF="&base;/cgi/man.cgi?query=ports"><TT>ports</TT></A>.
+ </LI>
+
+ <LI>The
+ <A HREF="http://pointyhat.FreeBSD.org">ports and packages build cluster</A>.
+ </LI>
+
+ <LI>The
+ <A HREF="&base;/www/en/portmgr/">Ports Management Team</A> (portmgr) pages.
+ </LI>
+
+ <LI>The
+ <A HREF="http://cvsweb.FreeBSD.org">
+ Web Interface to the Source Repository</A>
+ allows you to browse the files in the source repository. Changes
+ that affect the entire port system are now documented in the
+ <A HREF="http://cvsweb.FreeBSD.org/ports/CHANGES">CHANGES</A> file.
+ Changes that affect individual ports are now documented in the
+ <A HREF="http://cvsweb.FreeBSD.org/ports/UPDATING">UPDATING</A> file.
+ However, the definitive answer to any question is undoubtedly to read
+ the source code of <A HREF="http://cvsweb.FreeBSD.org/ports/Mk/bsd.port.mk">
+ bsd.port.mk</A>, and associated files.
+ </LI>
+</UL>
+
+&footer;
+</BODY>
+</HTML>
diff --git a/en/ports/searching.sgml b/en/ports/searching.sgml
new file mode 100644
index 0000000000..e2cbd41065
--- /dev/null
+++ b/en/ports/searching.sgml
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" [
+<!ENTITY base CDATA '..'>
+<!ENTITY date "$FreeBSD$">
+<!ENTITY title 'Updating FreeBSD Ports'>
+<!ENTITY % navincludes SYSTEM "../includes.navports.sgml"> %navincludes;
+<!ENTITY % includes SYSTEM "../includes.sgml">
+<!ENTITY % ports.ent SYSTEM "ports.ent">
+<!ENTITY email 'ports'>
+%includes;
+%ports.ent;
+%statistics.ent;
+]>
+<HTML>&header;
+
+&searchform;
+
+<HR>
+
+<P>
+The form above will allow you to search for ports on this site.
+A completed search will take you to a
+<A HREF="&base;/cgi/ports.cgi">more complete search page</A>.
+</P>
+
+<P>However, if you already have the Ports Collection installed on
+your machine, you may also search by changing to the <TT>/usr/ports</TT>
+directory and performing <TT>make search name=</TT><EM>string</EM>.
+See <A HREF="http://cvsweb.FreeBSD.org/ports/Mk/bsd.port.subdir.mk">
+bsd.port.subdir.mk</A> for all the options.
+</P>
+
+<P>
+Another option is to visit
+<A HREF="http://www.FreshPorts.org">FreshPorts.org</A>
+and either browse the site or subscribe to the lists hosted there.
+</P>
+
+&footer;
+</BODY>
+</HTML>
diff --git a/en/ports/updating.sgml b/en/ports/updating.sgml
new file mode 100644
index 0000000000..6275049d1b
--- /dev/null
+++ b/en/ports/updating.sgml
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" [
+<!ENTITY base CDATA '..'>
+<!ENTITY date "$FreeBSD$">
+<!ENTITY title 'Updating FreeBSD Ports'>
+<!ENTITY % navincludes SYSTEM "../includes.navports.sgml"> %navincludes;
+<!ENTITY % includes SYSTEM "../includes.sgml">
+<!ENTITY % ports.ent SYSTEM "ports.ent">
+<!ENTITY email 'ports'>
+%includes;
+%ports.ent;
+%statistics.ent;
+]>
+<HTML>&header;
+
+&searchform;
+
+<HR>
+
+<P>
+The ports listed on these web pages are continually being updated.
+It is strongly recommended that you refresh the entire collection
+together, as many ports depend on other parts of the tree, even
+where that might seem counterintuitive (e.g. <TT>japanese/</TT>.)
+</P>
+
+<P>Changes that affect the entire port system are now documented in the
+<A HREF="http://cvsweb.FreeBSD.org/ports/CHANGES">CHANGES</A> file.
+Changes that affect individual ports are now documented in the
+<A HREF="http://cvsweb.FreeBSD.org/ports/UPDATING">UPDATING</A> file.
+</P>
+
+<P>For more information about new, changed or removed ports/packages,
+or if you wish to search for a specific application to see if it's
+available as a port/package, you may use the form above; alternatively,
+you may wish to visit
+<A HREF="http://www.FreshPorts.org">FreshPorts.org</A>
+and either browse the site or subscribe to the lists hosted there.
+</P>
+
+<P>To learn more about installing and maintaining ports, see
+<A HREF="&base;/doc/en_US.ISO8859-1/books/handbook/ports.html">
+Installing Applications: Packages and Ports</A>, a section of the
+<A HREF="../doc/en_US.ISO8859-1/books/handbook/index.html">
+FreeBSD Handbook</A>; the section of the Porter's Handbook called
+<A HREF="&base;/doc/en_US.ISO8859-1/books/porters-handbook/keeping-up.html">
+Keeping Up</A>; and the
+<A HREF="&base;/cgi/man.cgi?query=ports"><TT>ports manual page</TT></A>.
+</P>
+
+&footer;
+</BODY>
+</HTML>