rc.conf amalgamation

Before converting into the native form for this system the external formats import subsystem first creates an amalgamated rc.conf file which incorporates the information from all of the several system rc.conf files as well as from other sources.

This file incorporates the information from:

The result is an amalgam that can be conveniently used with read-conf when one needs to access configuration settings. This amalgam is the unified source of information for the subsequent conversion into native form.

The amalgamation process is not designed to be restrictive when it comes to platforms. It permits (for examples) a Debian-style /etc/network/interfaces to be used on OpenBSD, or a FreeNAS database to be used on Debian, or an OpenBSD /etc/hostname.interface file to be used on FreeBSD.

The conversion of a Debian-style /etc/network/interfaces can cope with the "new-style" assignments of multiple IP address to a single network interface, where one repeats the same iface … static "stanza" several times. However, it does not convert any post-up or pre-down settings. Those do not have rc.conf equivalents; and the conversion of /etc/network/interfaces is constrained to stuff that does not constitute the execution of arbitrary commands and programs.

The conversion of an OpenBSD /etc/hostname.interface file does not convert any embedded shell commands. It also marks all interfaces as "AUTO".