THE IANA /etc FILES PACKAGE
ABOUT
The iana-etc package installs services(5) and protocols(5) using data from
the Internet Assigned Numbers Authority <http://www.iana.org/>. In future,
other such files may be added.
Included are snapshots of the data from the IANA, scripts to transform that
data into the needed formats, and scripts to fetch the latest data.
Maintainer: Seth W. Klein <sk@sethwklein.net>
Home Page: http://www.sethwklein.net/projects/iana-etc/
Bug reports and patches are welcome.
PORT ALIASES
Please report any additional port aliases that you need. The port-aliases
file contains the current list. To minimize cruft, it includes only
aliases for which there has been reported need.
If you need an alias that isn't included, you may see the error:
getaddrinfo: Servname not supported for ai_socktype
Some useful things for finding out what alias is needed:
* strace from <http://www.wi.leidenuniv.nl/~wichert/strace/>
* grep -r 'getaddrinfo' in the appropriate source tree
The various RFCs and such usually list the number for an alias but it may
be faster to just check the FreeBSD services file at
<http://www.freebsd.org/cgi/cvsweb.cgi/src/etc/services>.
Bug reports and patches are welcome at the maintainer address listed above.
DEPENDENCIES
GNU Awk 3.1.0 or Later
Numerous GNU Awk extensions are used. Awk was chosen over Perl for
its smaller size and more flexible installation process both of which
are important in a bootstrap environment.
Version 3.1.0 or later is required for support of the third argument
to match(). The workaround to support older versions would be less
readable and slower so I'd rather not include it without good reason.
Like GNU Awk before 3.1.0, Mawk doesn't support three argument match()
and so is not supported. It also doesn't support network extensions.
Make
Testing is only done with GNU Make but incompatibilities with other
make implementations are bugs. Please send patches.
INSTALLATION
The installation process is flexible and friendly to unattended install-
ation even though, due to its simplicity, it does not use Autoconf.
For basic installation run:
make
su
make install
This creates /etc/services and /etc/protocols without using internet
access.
To throw out the useful comments in generated files, use:
make STRIP=yes
To install to a temporary location as package managers often do, use
DESTDIR like this:
make DESTDIR=/mnt/tmp install
This will create /mnt/tmp/etc/services and /mnt/tmp/etc/protocols.
PREFIX is also supported but currently does the same thing as DESTDIR.
For unusual installations,
make DESTDIR=/tmp PREFIX=/foo ETC_DIR=/bar install
will create /tmp/foo/bar/services and /tmp/foo/bar/protocols.
GETTING FRESH DATA
To fetch the latest data from the IANA run:
make get
make
make test
Beware that while test checks for invalid lines in the output files, it
cannot check for applications that might be broken by changes made by
the IANA. In addition, there is generally little of interest in the
IANA's changes unless you're trying to pick a port for new development
in which case you're better off consulting the unfiltered files.
DOCUMENTATION
Man pages are provided by the man-pages package. See
http://ftp.kernel.org/pub/linux/docs/manpages/ and
http://freshmeat.net/projects/man-pages/
BUGS
The Makefile uses the .PHONY target which (according to the GNU Make
info page, IIRC) is not supported by other common make implementations.
There are plans to fix this in a future release.