diff --git a/en/ports/portindex b/en/ports/portindex index 18a3595c3e..67169f5620 100755 --- a/en/ports/portindex +++ b/en/ports/portindex @@ -1,280 +1,280 @@ #!/usr/bin/perl # convert a ports INDEX file to HTML # # by John Fieber # Mon May 13 10:31:58 EST 1996 -# $FreeBSD: www/en/ports/portindex,v 1.46 2003/04/20 11:04:18 brueffer Exp $ +# $FreeBSD: www/en/ports/portindex,v 1.47 2003/07/10 21:41:29 osa Exp $ ############################################################ # 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'; do $config if -f $config; # This is the base of where we ftp stuff from 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/branches/-current"; +$baseFTP = "$ftpserver/pub/FreeBSD/ports/ports"; $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 = ''; $ftparchive = 'tar' if !defined $ftparchive; # ports download sources script $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; sub getdate { @months = ("January", "February", "March", "April", "May","June", "July", "August", "September", "October", "November", "December"); ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); $year += 1900; return "Last modified: $mday-$months[$mon]-$year"; } sub header { local ($fh, $htext) = @_; print $fh "\n"; print $fh "$today\">\n"; print $fh "\n"; print $fh "\n"; print $fh "\n"; print $fh "\n"; print $fh "%includes;\n"; print $fh "]>\n"; print $fh "&header;\n"; } sub footer { local ($fh, $ftext) = @_; print $fh "\n$ftext\n"; print $fh "&footer;\n"; print $fh "\n\n"; } sub packages_exist { local($file, *p) = @_; open(P, $file) || do { warn "open $file: $!\n"; warn "Cannot create packages links\n"; return 1; }; while(

) { chop; $p{$_} = 1; } close P; return 0; } sub category_description { local($file, *p) = @_; open(P, $file) || do { warn "open $file: $!\n"; warn "Cannot find category description\n"; return 1; }; local($category, $description); while(

) { # ignore comments next if /^\s*#/; ($category, $description) = /^\s*"([^"]+)",\s*"([^"]+)/; $p{$category} = $description; } close P; return 0; } sub main { $sep = ":"; open(INDEX, $ARGV[0]); while () { chop; s/&/&/g; s//>/g; # Read a record ($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); $catkey{$name} = $cat[0]; local($sourcepath) = $loc; $sourcepath =~ s%/usr/%%; foreach $i (@cat) { $stats{$i}++; # figure out the FTP url $loc =~ s/\/usr\//$baseCVSWEB/; $ldesc =~ s/\/usr\//$baseHTTP/; # The name description and maintainer $data{$i} .= "

$name "; $data{$i} .= "
$desc
Long description"; if ($packages{"$name.tbz"}) { $data{$i} .= qq{ | Package}; } elsif ($packages{"$name.tgz"}) { $data{$i} .= qq{ | Package}; } $data{$i} .= qq{ | Sources}; if ($www ne "") { $data{$i} .= qq{ | Main Web Site}; } $ownerurl = $owner; $ownerurl =~ s/<//g; $data{$i} .= "
Maintained by: $owner"; # If there are any dependencies, list them if ($bdep ne "" || $rdep ne "") { $data{$i} .= "
Requires: "; @dep = split(/ /, "$bdep $rdep"); local($last) = ''; foreach $j (sort @dep) { next if $j eq $last; $last = $j; $data{$i} .= " $j,"; } # 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} .= "
Also listed in: "; foreach $j (@cat) { if ($j ne $i) { if ($j eq $cat[0]) { $data{$i} .= " \u$j,"; } else { $data{$i} .= " \u$j,"; } } } # remove the trailing comma chop($data{$i}); } $data{$i} .= "

\n" } # Add an entry to the master index # workaround for SGML bug, `--' is not allowed in comments local ($sname) = $name; $sname =~ s/--/-=/g; $master[$portnumber] = "$name " . " -- $desc
\n"; $portnumber++; } open(MOUTF, ">index.sgml"); &header(MOUTF, "FreeBSD Ports"); # print MOUTF "\n"; print MOUTF "&blurb;"; print MOUTF "

There are currently $portnumber ports in the FreeBSD Ports Collection.
Download a gzip'd tar file of all $portnumber ports (about 19 megabytes) or browse the following categories:\n"; print MOUTF "

\n"; print MOUTF "\n"; &footer(MOUTF, ""); close(MOUTF); # Create the master index file open(MINDEX, ">master-index.sgml"); &header(MINDEX, "FreeBSD Ports Collection Index"); print MINDEX "

\n"; print MINDEX sort @master; print MINDEX "

"; &footer(MINDEX, "Port Categories"); close(MINDEX); close(INDEX); } diff --git a/en/ports/ports.inc b/en/ports/ports.inc index 2e1276f976..31ba96fd32 100644 --- a/en/ports/ports.inc +++ b/en/ports/ports.inc @@ -1,67 +1,67 @@ - +

The FreeBSD Ports and Packages Collection offers a simple way for users and administrators to install applications. The ports collection has been growing at a tremendous rate.

The Ports Collection supports the latest release on the FreeBSD-CURRENT and FreeBSD-STABLE 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.

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 make in the port directory. For even greater convenience, you can simply -install the +install the entire ports hierarchy at installation time (or use CVSup to track it on an ongoing basis) and have thousands of applications right at your fingertips. Each port's Makefile automatically fetches the application source code, either from a local disk, CDROM or via ftp, unpacks it on your system, applies the patches, and compiles. If all went well, a simple make install will install the application and register it with the package system.

For most ports, a precompiled package 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 pkg_add command on it or you can simply grab the link location and hand it straight to pkg_add since it's capable of accepting FTP URLs as well as filenames.

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, please see the FreeBSD Ports Changes page.

Search for:

For more information about using ports, see Installing Applications: Packages and Ports, a section of the FreeBSD Handbook. For information about creating new ports, see the Porter's Handbook.