* * * * * 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