* * * * *
                                        
            Don't talk to me about package managers—they're all bad!
                                        
So today I get to play around with FreeBSD's ports system [1], aka (Also
Known As) a “package manager.”

> PORTS(7)           FreeBSD Miscellaneous Information Manual           PORTS(7)
> 
> NAME

>         **ports**—contributed applications
>         
> DESCRIPTION

>         The FreeBSD Ports Collection offers a simple way for users and
>         administrators to install applications. Each port contains any
>         patches necessary to make the original application source code
>         compile and run on BSD. Compiling an application is as simple as
>         typing make build in the port directory! The Makefile automatically
>         fetches the application source code, either from a local disk or
>         via FTP (File Transfer Protocol), unpacks it on your system,
>         applies the patches, and compiles it. If all goes well, simply type
>         make install to install the application.
>         
> 

Okay. Seems simple enough. Do a search (not much better than a simple grep
but it's something) and find the package I need to install.

> SNMP# cd /usr/ports/databases/mysql41-client/
> SNMP# make build
> ===>  Vulnerability check disabled, database not found
> => mysql-4.1.13.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
> => Attempting to fetch from ftp://ftp.easynet.be/mysql/Downloads/MySQL-4.1/.
> fetch: ftp://ftp.easynet.be/mysql/Downloads/MySQL-4.1/mysql-4.1.13.tar.gz: File unavailable (e.g., file not found, no access)
> => Attempting to fetch from ftp://ftp.fi.muni.cz/pub/mysql/Downloads/MySQL-4.1/.
> fetch: ftp://ftp.fi.muni.cz/pub/mysql/Downloads/MySQL-4.1/mysql-4.1.13.tar.gz: File unavailable (e.g., file not found, no access)
> => Attempting to fetch from http://mysql.mirrors.cybercity.dk/Downloads/MySQL-4.1/.
> fetch: http://mysql.mirrors.cybercity.dk/Downloads/MySQL-4.1/mysql-4.1.13.tar.gz: Not Found
> => Attempting to fetch from ftp://ftp.fh-wolfenbuettel.de/pub/database/mysql/Downloads/MySQL-4.1/.
> fetch: ftp://ftp.fh-wolfenbuettel.de/pub/database/mysql/Downloads/MySQL-4.1/mysql-4.1.13.tar.gz: File unavailable (e.g., file not found, no access)
> => Attempting to fetch from ftp://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-4.1/.
> fetch: ftp://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-4.1/mysql-4.1.13.tar.gz: File unavailable (e.g., file not found, no access)
> => Attempting to fetch from http://netmirror.org/mirror/mysql.com/Downloads/MySQL-4.1/.
> fetch: http://netmirror.org/mirror/mysql.com/Downloads/MySQL-4.1/mysql-4.1.13.tar.gz: Not Found
> => Attempting to fetch from ftp://netmirror.org/mysql.com/Downloads/MySQL-4.1/.
> fetch: ftp://netmirror.org/mysql.com/Downloads/MySQL-4.1/mysql-4.1.13.tar.gz: File unavailable (e.g., file not found, no access)
> => Attempting to fetch from http://mirrors.ntua.gr/MySQL/Downloads/MySQL-4.1/.
> fetch: http://mirrors.ntua.gr/MySQL/Downloads/MySQL-4.1/mysql-4.1.13.tar.gz: Not Found
> => Attempting to fetch from ftp://ftp.ntua.gr/pub/databases/mysql/Downloads/MySQL-4.1/.
> fetch: ftp://ftp.ntua.gr/pub/databases/mysql/Downloads/MySQL-4.1/mysql-4.1.13.tar.gz: File unavailable (e.g., file not found, no access)
> => Attempting to fetch from http://mysql.sote.hu/Downloads/MySQL-4.1/.
> fetch: http://mysql.sote.hu/Downloads/MySQL-4.1/mysql-4.1.13.tar.gz: Not Found
> => Attempting to fetch from ftp://ftp.rhnet.is/pub/mysql/Downloads/MySQL-4.1/.
> fetch: ftp://ftp.rhnet.is/pub/mysql/Downloads/MySQL-4.1/mysql-4.1.13.tar.gz: File unavailable (e.g., file not found, no access)
> => Attempting to fetch from ftp://mirror.widexs.nl/pub/mysql/Downloads/MySQL-4.1/.
> ^Cfetch: transfer interrupted
> 
> SNMP#  cd /usr/ports/databases/mysql50-client/
> SNMP# make build
> ===>  Vulnerability check disabled, database not found
> => mysql-5.0.9-beta.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
> => Attempting to fetch from ftp://ftp.easynet.be/mysql/Downloads/MySQL-5.0/.
> fetch: ftp://ftp.easynet.be/mysql/Downloads/MySQL-5.0/mysql-5.0.9-beta.tar.gz: File unavailable (e.g., file not found, no access)
> => Attempting to fetch from ftp://ftp.fi.muni.cz/pub/mysql/Downloads/MySQL-5.0/.
> fetch: ftp://ftp.fi.muni.cz/pub/mysql/Downloads/MySQL-5.0/mysql-5.0.9-beta.tar.gz: File unavailable (e.g., file not found, no access)
> => Attempting to fetch from http://mysql.mirrors.cybercity.dk/Downloads/MySQL-5.0/.
> fetch: http://mysql.mirrors.cybercity.dk/Downloads/MySQL-5.0/mysql-5.0.9-beta.tar.gz: Not Found
> => Attempting to fetch from ftp://ftp.fh-wolfenbuettel.de/pub/database/mysql/Downloads/MySQL-5.0/.
> fetch: ftp://ftp.fh-wolfenbuettel.de/pub/database/mysql/Downloads/MySQL-5.0/mysql-5.0.9-beta.tar.gz: File unavailable (e.g., file not found, no access)
> => Attempting to fetch from ftp://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.0/.
> fetch: ftp://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.0/mysql-5.0.9-beta.tar.gz: File unavailable (e.g., file not found, no access)
> => Attempting to fetch from http://netmirror.org/mirror/mysql.com/Downloads/MySQL-5.0/.
> fetch: http://netmirror.org/mirror/mysql.com/Downloads/MySQL-5.0/mysql-5.0.9-beta.tar.gz: Not Found
> => Attempting to fetch from ftp://netmirror.org/mysql.com/Downloads/MySQL-5.0/.
> fetch: ftp://netmirror.org/mysql.com/Downloads/MySQL-5.0/mysql-5.0.9-beta.tar.gz: File unavailable (e.g., file not found, no access)
> => Attempting to fetch from http://mirrors.ntua.gr/MySQL/Downloads/MySQL-5.0/.
> fetch: http://mirrors.ntua.gr/MySQL/Downloads/MySQL-5.0/mysql-5.0.9-beta.tar.gz: Not Found
> => Attempting to fetch from ftp://ftp.ntua.gr/pub/databases/mysql/Downloads/MySQL-5.0/.
> fetch: ftp://ftp.ntua.gr/pub/databases/mysql/Downloads/MySQL-5.0/mysql-5.0.9-beta.tar.gz: File unavailable (e.g., file not found, no access)
> => Attempting to fetch from http://mysql.sote.hu/Downloads/MySQL-5.0/.
> fetch: http://mysql.sote.hu/Downloads/MySQL-5.0/mysql-5.0.9-beta.tar.gz: Not Found
> => Attempting to fetch from ftp://ftp.rhnet.is/pub/mysql/Downloads/MySQL-5.0/.
> ^Cfetch: transfer interrupted
> 
> SNMP# 
> 

Okay, so how exactly is this better than getting the tarballs?

[1] http://www.freebsd.org/ports/

Email author at sean@conman.org