diff --git a/en/ports/portindex b/en/ports/portindex index 4ac25a28de..58dc5a591d 100755 --- a/en/ports/portindex +++ b/en/ports/portindex @@ -1,274 +1,274 @@ #!/usr/bin/perl # convert a ports INDEX file to HTML # # by John Fieber # Mon May 13 10:31:58 EST 1996 ############################################################ # 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; + $ftpserver = 'ftp://ftp5.freebsd.org' if !$ftpserver; } $base = "$ftpserver/pub/FreeBSD/branches/-current" if !$base; $baseHTTP = $base if !$baseHTTP; $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 = 'tar' if !$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 ""; print $fh "$today\">\n"; print $fh ""; print $fh "\n"; print $fh "\n"; print $fh ""; 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/$base/; $ldesc =~ s/\/usr/$baseHTTP/; # The name description and maintainer $data{$i} .= "

$name "; $data{$i} .= "
$desc
Long description"; if ($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 10 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 a774580817..2b68319617 100644 --- a/en/ports/ports.inc +++ b/en/ports/ports.inc @@ -1,115 +1,115 @@ - +

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.

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 covenience, 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 The ports collection, a section of the FreeBSD Handbook. For information about creating new ports, see Porting applications.


Upgrade kits

The ports listed on these web pages are continually being updated. It is recommended that you refresh the entire collection together, as many ports depend on other parts of the tree. If that is not possible, at least make sure you get the latest make macro files in ports/Mk. (If you are using cvsup, this means you need ports-base in your cvsupfile.) If you still see errors even with the latest bsd.port.mk and friends, please fetch the entire collection.

The current ports tree officially supports only FreeBSD-current and FreeBSD-stable. Consequently, you may need to update a few files on your FreeBSD system to make use of ports developed after your version of FreeBSD was released. Please install one of the following depending on the release you are running. If your system is newer than any of the packages listed below, you do not need an upgrade package. If your system is older than 4.1-RELEASE, or is running any branch before 4.1, your only reasonable choice for using ports-current is to upgrade to some point along the 4.x branch.

4.1 +href="ftp://ftp5.freebsd.org/pub/FreeBSD/ports/i386/packages-4-stable/Latest/41upgrade.tgz">4.1 to 4-STABLE upgrade kit
For users of 4.1-RELEASE or 4.1-STABLE before October 31, 2000 and after July 27, 2000
4.2 +href="ftp://ftp5.freebsd.org/pub/FreeBSD/ports/i386/packages-4-stable/Latest/42upgrade.tgz">4.2 to 4-STABLE upgrade kit
For users of 4.2-RELEASE or 4.x-STABLE or 4.2-BETA or 4.2-RC before January 8, 2001 and after October 31, 2000

These are FreeBSD packages; please use pkg_add to install them. That should enable you to use all the ports listed here. Note that it will only change just enough files to enable ports/packages to be used; for a full upgrade to -STABLE, please refer to the synchronizing your source tree section of the handbook. The 2.2.x and 3.x branches are officially unsupported by ports-current. While the ports tree as distributed with previous releases will probably work well these are also unsupported by the ports team, because time is already stretched thin enough supporting ports-current.

Many of the ports require the X Window System to compile and run. We compile and test our ports on XFree86. Their current release is 3.3.6. Some ports may not work with older or newer releases.