First check in

This commit is contained in:
2016-11-07 11:57:44 -06:00
commit fe7106dccd
8 changed files with 906 additions and 0 deletions

68
Makefile Normal file
View File

@@ -0,0 +1,68 @@
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation here:
# (http://www.gnu.org/licenses/gpl-2.0.html)
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
DEPENDS = dhclient,glibc
ARCH = x86_64
URL = https://packages.qa.debian.org/i/ifupdown.html
DESC = ifupdown is a set of utilities to assist with basic interface \
manipulation.
SNAPVER = sr0
ARCHIVE := $(PWD)/SRC/$(shell ls SRC|egrep '(bz2|gz|tar|xz)$$'|tail -1)
TYPE := $(shell file -ib $(ARCHIVE)|cut -d';' -f1|tr -d '\n')
SRCDIR := $(shell tar -tf $(ARCHIVE)|head -1|sed 's/\/.*//')
PATCHDIR := $(PWD)/SRC/patches
VERSION := $(shell echo $(ARCHIVE)|egrep -o '\_[0-9].*'| \
sed 's/^_//'|sed 's/\.tar.*//')$(SNAPVER)
include /usr/share/snap/Makefile.snaplinux
$(SRCDIR)/Makefile: $(ARCHIVE)
@if [ '$(TYPE)' == 'application/x-bzip2' ]; then \
tar -jxf $(ARCHIVE); \
elif [ '$(TYPE)' == 'application/x-gzip' ]; then \
tar -zxf $(ARCHIVE); \
elif [ '$(TYPE)' == 'application/x-tar' ]; then \
tar -xf $(ARCHIVE); \
elif [ '$(TYPE)' == 'application/x-xz' ]; then \
tar -xf $(ARCHIVE); \
else \
echo 'Unable to determine archive type'; \
exit 1; \
fi
@touch $(SRCDIR)/Makefile
$(SRCDIR)/ifup: $(SRCDIR)/Makefile
@cd $(SRCDIR) && \
for patch in `find $(PATCHDIR) -name \*.patch|sort`; do \
patch --verbose -Np1 -i $$patch; \
done
@cd $(SRCDIR) && make
$(ROOT): $(SRCDIR)/ifup
@if [ -d $(ROOT) ]; then \
touch $(ROOT); \
else \
mkdir -v $(ROOT); \
fi
@cd $(SRCDIR) && make install DESTDIR=$(ROOT)
test: $(ROOT)
# @cd $(SRCDIR); \
# make check
clean:
@rm -rvf $(ROOT) \
$(SNAPINFO) \
$(MANIFEST) \
$(FILES) \
$(SRCDIR)

3
SNAP/README Normal file
View File

@@ -0,0 +1,3 @@
This is the directory where the manifest, snapinfo, and files.tar.gz
files will be created. It is also where the usher file should be
placed if it is required by the package.

39
SRC/ifupdown_0.7.53.1.dsc Normal file
View File

@@ -0,0 +1,39 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Format: 3.0 (native)
Source: ifupdown
Binary: ifupdown
Architecture: any
Version: 0.7.53.1
Maintainer: Andrew Shadura <andrewsh@debian.org>
Standards-Version: 3.9.4
Vcs-Browser: http://anonscm.debian.org/hg/collab-maint/ifupdown/
Vcs-Hg: http://anonscm.debian.org/hg/collab-maint/ifupdown/
Build-Depends: debhelper (>= 9.20120410~)
Package-List:
ifupdown deb admin important arch=any
Checksums-Sha1:
242a5caca67c4e76772900485ea50fe3af2de0ed 78432 ifupdown_0.7.53.1.tar.xz
Checksums-Sha256:
a97981b52d5758da42a8a2a3885a11d6e5f97eaf1a1b3c5fe36195e638ae6c03 78432 ifupdown_0.7.53.1.tar.xz
Files:
b36eab51a079e927b444a033bc608c65 78432 ifupdown_0.7.53.1.tar.xz
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAEBCAAGBQJVAtYvAAoJEG6k0jEaLSaNBXwP+gI3LLsLrb6z1TB2ZboKMbp5
Zy4bC276r+P/IkOJ+68ZD66jiKpjCpU7f9jFmirVfwGWEn3Z9BHjsGTOHtXNU15I
zN7mXK98R8XFjtM31/IbnF9IjUFEYIrnrQw//FG92UEJhzofgpQd7Yv0m93xGWkD
J3KJCR9wyaiM27aO10avsYKmOF1aMcmcoCqKUcgElPDMubd2tdqz9lL5ofx3qsgA
eB8MyWkftKMeT+5F3FtV8FF2PEnzJY6BIjwYpKiVG/ksmZzSCwtX3+SQ4md7ysp/
XgXsQ/lCl9PZ/GA9dbRXi0NPXEtY/f+gzhmSWYOHWdy3znoGObZnIZojCzlgKDMV
zvGMRK4ih5KCk4mQM1cxlmR+0sAXqNcwQPO3U5wXbFmVMZTPzbcaNwfzo00L0WkF
08X7LCDciungQ41CIfGF1C63oyZwZL0Qn3Bs760Rg3MayYeauVexJ08/KVs8VcpU
+za8rIBzhPIguEOqwpfOg+uu2du8TqtKVWCpp52iCpI8mUIhX9++7WXRRnwbBaSO
nzugyn33cTeSBN/wCQMnwTGwBsXX5ui+uGo2CJ8zwpCONram9IDQU7vR/3d0gEZU
lykdaheyFUATJVzXASSBOYTts3JDevJFFY4PORrccDjFs0GSNKnDl3Sh3AsElyp0
K1JV42/f8ZRoz8Idsl40
=h7wz
-----END PGP SIGNATURE-----

Binary file not shown.

View File

@@ -0,0 +1,12 @@
diff -Naur a/defn2c.pl b/defn2c.pl
--- a/defn2c.pl 2014-03-23 12:27:30.000000000 -0500
+++ b/defn2c.pl 2016-11-06 15:21:35.200000000 -0600
@@ -2,7 +2,7 @@
use strict;
-my $DEB_HOST_ARCH_OS = `dpkg-architecture -qDEB_HOST_ARCH_OS`;
+my $DEB_HOST_ARCH_OS = 'linux';
$DEB_HOST_ARCH_OS =~ s/\n//;

View File

@@ -0,0 +1,761 @@
diff -Naur a/Makefile b/Makefile
--- a/Makefile 2014-11-29 06:34:51.000000000 -0600
+++ b/Makefile 2016-11-06 15:29:30.364000000 -0600
@@ -18,8 +18,8 @@
default : executables
all : executables docs
-executables : ifup ifdown ifquery ifup.8 ifdown.8 ifquery.8 interfaces.5
-docs : ifupdown.ps.gz ifup.8.ps.gz interfaces.5.ps.gz ifupdown.pdf
+executables : ifup ifdown ifquery ifup.8 ifdown.8 ifquery.8 network.conf.5
+docs : ifupdown.ps.gz ifup.8.ps.gz network.conf.5.ps.gz ifupdown.pdf
.PHONY : executables
.PHONY : clean distclean
@@ -35,7 +35,7 @@
rm -f *.aux *.toc *.log *.bbl *.blg *.ps *.eps *.pdf
rm -f *.o *.d $(patsubst %.defn,%.c,$(DEFNFILES)) *~
rm -f $(patsubst %.defn,%.man,$(DEFNFILES))
- rm -f ifup ifdown ifquery interfaces.5 ifdown.8 ifquery.8
+ rm -f ifup ifdown ifquery network.conf.5 ifdown.8 ifquery.8
rm -f ifupdown.dvi *.ps{,.gz}
distclean : clean
@@ -48,7 +48,7 @@
ifquery: ifup
ln -sf ifup ifquery
-interfaces.5: interfaces.5.pre $(MAN)
+network.conf.5: network.conf.5.pre $(MAN)
sed $(foreach man,$(MAN),-e '/^##ADDRESSFAM##$$/r $(man)') \
-e '/^##ADDRESSFAM##$$/d' < $< > $@
diff -Naur a/ifup.8 b/ifup.8
--- a/ifup.8 2014-03-23 12:43:54.000000000 -0500
+++ b/ifup.8 2016-11-06 15:24:00.624000000 -0600
@@ -53,7 +53,7 @@
.BR ifup " and " ifdown
commands may be used to configure (or, respectively, deconfigure) network
interfaces based on interface definitions in the file
-.IR /etc/network/interfaces ". "
+.IR /etc/network.conf ". "
.BR ifquery " command may be used to parse interfaces configuration."
.SH OPTIONS
A summary of options is included below.
@@ -62,14 +62,14 @@
If given to \fBifup\fP, affect all interfaces marked \fBauto\fP.
Interfaces are brought up in the order in which they are defined
in
-.IR /etc/network/interfaces .
+.IR /etc/network.conf .
Combined with \fB-\-allow\fP, acts on all interfaces of a specified class
instead.
If given to \fBifdown\fP, affect all defined interfaces.
Interfaces are brought down in the order in which they are
currently listed in the state file. Only interfaces defined
in
-.I /etc/network/interfaces
+.I /etc/network.conf
will be brought down.
.TP
.B \-\-force
@@ -85,13 +85,13 @@
Only allow interfaces listed in an
.I allow\-CLASS
line in
-.IR /etc/network/interfaces " to be acted upon."
+.IR /etc/network.conf " to be acted upon."
.TP
\fB\-i\fR \fIFILE\fR, \fB\-\-interfaces=\fR\fIFILE\fR
Read interface definitions from
.I FILE
instead of from
-.IR /etc/network/interfaces "."
+.IR /etc/network.conf "."
.TP
.BI \-X " PATTERN\fR, " "\-\-exclude=" PATTERN
Exclude interfaces from the list of interfaces to operate on by the \fIPATTERN\fR.
@@ -101,7 +101,7 @@
.TP
.BI \-o " OPTION" "\fB=" VALUE
Set \fIOPTION\fR to \fIVALUE\fR as though it were in
-.IR /etc/network/interfaces .
+.IR /etc/network.conf .
.TP
.BR \-n ", " \-\-no\-act
Don't configure any interfaces or run any "up" or "down" commands.
@@ -144,7 +144,7 @@
Bring up all the interfaces defined with
.I auto
in
-.I /etc/network/interfaces
+.I /etc/network.conf
.TP
.B ifup eth0
Bring up interface
@@ -196,7 +196,7 @@
was specified.
.SH FILES
.TP
-.I /etc/network/interfaces
+.I /etc/network.conf
definitions of network interfaces
See
.BR interfaces (5)
diff -Naur a/interfaces.5.pre b/interfaces.5.pre
--- a/interfaces.5.pre 2014-11-29 06:37:38.000000000 -0600
+++ b/interfaces.5.pre 1969-12-31 18:00:00.000000000 -0600
@@ -1,334 +0,0 @@
-.\" -*- nroff -*-
-.\" macros
-.de EX \" Begin Example
-. IP
-. ft CW
-. nf
-. ne \\$1
-..
-.de EE \" End Example
-. ft P
-. fi
-. PP
-..
-.TH INTERFACES 5 "5 April 2004" "ifupdown" "File formats"
-.SH NAME
-/etc/network/interfaces \- network interface configuration for ifup and ifdown
-.SH DESCRIPTION
-/etc/network/interfaces contains network interface configuration
-information for the
-.BR ifup (8)
-and
-.BR ifdown (8)
-commands.
-This is where you configure how your system is connected to the network.
-.P
-Lines starting with `#' are ignored. Note that end-of-line comments are
-NOT supported, comments must be on a line of their own.
-.P
-A line may be extended across multiple lines by making the last character
-a backslash.
-.P
-The file consists of zero or more "iface", "mapping", "auto", "allow-",
-"source" and "source-directory" stanzas. Here is an example.
-.EX
-auto eth0
-allow-hotplug eth1
-
-source interfaces.d/machine\-dependent
-
-source-directory interfaces.d
-
-mapping eth0
- script /usr/local/sbin/map\-scheme
- map HOME eth0\-home
- map WORK eth0\-work
-
-iface eth0\-home inet static
- address 192.168.1.1
- netmask 255.255.255.0
- up flush\-mail
-
-iface eth0\-work inet dhcp
-
-iface eth1 inet dhcp
-.EE
-Lines beginning with the word "auto" are used to identify the physical
-interfaces to be brought up when
-.B ifup
-is run with the
-.B \-a
-option. (This option is used by the system boot scripts.)
-Physical interface names should follow the word "auto" on the same line.
-There can be multiple "auto" stanzas.
-.B ifup
-brings the named interfaces up in the order listed.
-.P
-Lines beginning with "allow-" are used to identify interfaces that should
-be brought up automatically by various subsytems. This may be done using
-a command such as "ifup \-\-allow=hotplug eth0 eth1", which will only bring
-up eth0 or eth1 if it is listed in an "allow-hotplug" line. Note that
-"allow-auto" and "auto" are synonyms.
-.P
-Lines beginning with "source" are used to include stanzas from other files,
-so configuration can be split into many files. The word "source" is
-followed by the path of file to be sourced. Shell wildcards can be
-used.
-(See
-.BR wordexp (3)
-for details.)
-.P
-Similarly, "source-directory" keyword is used to source multiple files at once,
-without specifying them individually or using shell globs. Additionally,
-when "source-directory" is used, names of the files are checked to match
-the following regular expression: \fI^[a\-zA\-Z0\-9_\-]+$\fR. In other words,
-the names must consist entirely of ASCII upper- and lower-case letters,
-ASCII digits, ASCII underscores, and ASCII minus-hyphens. In the directory path,
-shell wildcards may be used as well.
-.P
-When sourcing files or directories, if a path doesn't have a leading slash,
-it's considered relative to the directory containing the file in which the
-keyword is placed. In the example above, if the file is located at
-.IR /etc/network/interfaces\fR,
-paths to the included files are understood to be under
-.IR /etc/network\fR.
-.P
-Currently, "source-directory" isn't supported by
-.BR network-manager " and"
-.BR guessnet .
-.P
-By default, on a freshly installed Debian system, the interfaces file includes a
-line to source files in the
-.IR /etc/network/interfaces.d
-directory.
-.P
-Stanzas beginning with the word "mapping" are used to determine how a
-logical interface name is chosen for a physical interface that is to be
-brought up. The first line of a mapping stanza consists of the word
-"mapping" followed by a pattern in shell glob syntax. Each mapping stanza
-must contain a
-.BR script
-definition. The named script is run with the physical interface name as
-its argument and with the contents of all following "map" lines
-(\fBwithout\fR the leading "map") in the
-stanza provided to it on its standard input. The script must print a
-string on its standard output before exiting. See
-.IR /usr/share/doc/ifupdown/examples
-for examples of what the script must print.
-.P
-Mapping a name consists of searching the remaining mapping
-patterns and running the script corresponding to the first match;
-the script outputs the name to which the original is mapped.
-.P
-.B ifup
-is normally given a physical interface name as its first non\-option argument.
-.B ifup
-also uses this name as the initial logical name for the interface unless
-it is accompanied by a suffix of the form \fI=LOGICAL\fR, in which case
-ifup chooses \fILOGICAL\fR as the initial logical name for the interface.
-It then maps this name, possibly more than once according to successive
-mapping specifications, until no further mappings are possible. If the
-resulting name is the name of some defined logical interface then
-.B ifup
-attempts to bring up the physical interface
-as that logical interface. Otherwise
-.B ifup
-exits with an error.
-.P
-Stanzas defining logical interfaces start with a line consisting of the
-word "iface" followed by the name of the logical interface.
-In simple configurations without mapping stanzas this name should simply
-be the name of the physical interface to which it is to be applied.
-(The default mapping script is, in effect, the
-.B echo
-command.)
-The interface name is followed by the name of the address family that the
-interface uses. This will be "inet" for TCP/IP networking, but there is
-also some support for IPX networking ("ipx"), and IPv6 networking ("inet6").
-Following that is the name of the method used to configure the interface.
-.P
-Additional options can be given on subsequent lines in the stanza.
-Which options are available depends on the family and method,
-as described below.
-Additional options can be made available by other Debian packages.
-For example, the wireless\-tools package makes available a number of
-options prefixed with "wireless\-" which can be used to configure the
-interface using
-.BR iwconfig (8) .
-(See
-.BR wireless (7)
-for details.)
-.P
-Options are usually indented for clarity (as in the example above)
-but are not required to be.
-.P
-.SH VLAN AND BRIDGE INTERFACES
-To ease the configuration of VLAN interfaces, interfaces having
-.B .
-(full stop character) in the name are configured as 802.1q tagged
-virtual LAN interface. For example, interface
-.B eth0.1
-is a virtual interface having
-.B eth0
-as physical link, with VLAN ID 1.
-.P
-For compatibility with
-.B bridge-utils
-package, if
-.B bridge_ports
-option is specified, VLAN interface configuration is
-.B not
-performed.
-.SH IFACE OPTIONS
-The following "command" options are available for every family and method.
-Each of these options can be given multiple times in a single stanza,
-in which case the commands are executed in the order in which they appear
-in the stanza.
-(You can ensure a command never fails by suffixing them with "|| true".)
-.TP
-.BI pre\-up " command"
-Run
-.I command
-before bringing the interface up.
-If this command fails then
-.B ifup
-aborts,
-refraining from marking the interface as configured,
-prints an error message,
-and exits with status 0.
-This behavior may change in the future.
-.TP
-.BI up " command"
-.TP
-.BI post\-up " command"
-Run
-.I command
-after bringing the interface up.
-If this command fails then
-.B ifup
-aborts,
-refraining from marking the interface as configured
-(even though it has really been configured),
-prints an error message,
-and exits with status 0.
-This behavior may change in the future.
-.TP
-.BI down " command"
-.TP
-.BI pre\-down " command"
-Run
-.I command
-before taking the interface down.
-If this command fails then
-.B ifdown
-aborts,
-marks the interface as deconfigured
-(even though it has not really been deconfigured),
-and exits with status 0.
-This behavior may change in the future.
-.TP
-.BI post\-down " command"
-Run
-.I command
-after taking the interface down.
-If this command fails then
-.B ifdown
-aborts,
-marks the interface as deconfigured,
-and exits with status 0.
-This behavior may change in the future.
-.P
-There exists for each of the above mentioned options a directory
-.IR /etc/network/if\-\fB<option>\fI.d/
-the scripts in which are run (with no arguments) using
-.BR run\-parts (8)
-after the option itself has been processed. Please note that as
-.BI post\-up
-and
-.BI pre\-down
-are aliases, no files in the corresponding directories are processed.
-Please use
-.IR if-up.d
-and
-.IR if-down.d
-directories instead.
-.P
-All of these commands have access to the following environment variables.
-.TP
-.B IFACE
-physical name of the interface being processed
-.TP
-.B LOGICAL
-logical name of the interface being processed
-.TP
-.B ADDRFAM
-address family of the interface
-.TP
-.B METHOD
-method of the interface (e.g.,
-.IR static )
-.TP
-.B MODE
-.IR start " if run from ifup, " stop " if run from ifdown"
-.TP
-.B PHASE
-as per MODE, but with finer granularity, distinguishing the
-\fIpre-up\fR, \fIpost-up\fR, \fIpre-down\fR and \fIpost-down\fR phases.
-.TP
-.B VERBOSITY
-indicates whether \fB\-\-verbose\fR was used; set to 1 if so, 0 if not.
-.TP
-.B PATH
-the command search path:
-.I /usr/local/sbin:\%/usr/local/bin:\%/usr/sbin:\%/usr/bin:\%/sbin:\%/bin
-.P
-Additionally, all options given in an interface definition stanza are
-exported to the environment in upper case with "IF_" prepended and with
-hyphens converted to underscores and non\-alphanumeric characters discarded.
-.P
-When ifupdown is being called with the \fB\-\-all\fR option, before doing anything
-to interfaces, if calls all the hook scripts (\fIpre-up\fR or \fIdown\fR) with
-\fBIFACE\fR set to "\-\-all", \fBLOGICAL\fR set to the current value of \-\-allow
-parameter (or "auto" if it's not set), \fBADDRFAM\fR="meta" and \fBMETHOD\fR="none".
-After all the interfaces have been brought up or taken down, the appropriate scripts
-(\fIup\fR or \fIpost-down\fR) are executed.
-##ADDRESSFAM##
-.SH KNOWN BUGS/LIMITATIONS
-The
-.B ifup
-and
-.B ifdown
-programs work with so-called "physical" interface names.
-These names are assigned to hardware by the kernel.
-Unfortunately it can happen that the kernel assigns different
-physical interface names to the same hardware at different
-times; for example, what was called "eth0" last time you booted
-is now called "eth1" and vice versa.
-This creates a problem if you want to configure the interfaces
-appropriately.
-A way to deal with this problem is to use mapping scripts that
-choose logical interface names according to the properties of
-the interface hardware.
-See the
-.B get-mac-address.sh
-script in the examples directory for an example of such a mapping
-script. See also Debian bug #101728.
-.SH AUTHOR
-The ifupdown suite was written by Anthony Towns <aj@azure.humbug.org.au>.
-This manpage was contributed by Joey Hess <joey@kitenet.net>.
-.SH "SEE ALSO"
-.BR ifup (8),
-.BR ip (8),
-.BR ifconfig (8),
-.BR run\-parts (8),
-.BR resolvconf (8).
-.P
-For advice on configuring this package read the
-.B Network Configuration
-chapter of the \fIDebian Reference\fR manual,
-available at
-\fIhttp://www.debian.org/doc/manuals/debian-reference/ch05.en.html\fR
-or in the \fBdebian-reference-en\fR package.
-.P
-Examples of how to set up interfaces can be found in
-.BR /usr/share/doc/ifupdown/examples/network-interfaces.gz .
diff -Naur a/network.conf.5.pre b/network.conf.5.pre
--- a/network.conf.5.pre 1969-12-31 18:00:00.000000000 -0600
+++ b/network.conf.5.pre 2016-11-06 15:43:40.364000000 -0600
@@ -0,0 +1,315 @@
+.\" -*- nroff -*-
+.\" macros
+.de EX \" Begin Example
+. IP
+. ft CW
+. nf
+. ne \\$1
+..
+.de EE \" End Example
+. ft P
+. fi
+. PP
+..
+.TH network.conf 5 "5 April 2004" "ifupdown" "File formats"
+.SH NAME
+/etc/network.conf \- network interface configuration for ifup and ifdown
+.SH DESCRIPTION
+/etc/network.conf contains network interface configuration
+information for the
+.BR ifup (8)
+and
+.BR ifdown (8)
+commands.
+This is where you configure how your system is connected to the network.
+.P
+Lines starting with `#' are ignored. Note that end-of-line comments are
+NOT supported, comments must be on a line of their own.
+.P
+A line may be extended across multiple lines by making the last character
+a backslash.
+.P
+The file consists of zero or more "iface", "mapping", "auto", "allow-",
+"source" and "source-directory" stanzas. Here is an example.
+.EX
+auto eth0
+allow-hotplug eth1
+
+source-directory network.d
+
+mapping eth0
+ script /usr/local/sbin/map\-scheme
+ map HOME eth0\-home
+ map WORK eth0\-work
+
+iface eth0\-home inet static
+ address 192.168.1.1
+ netmask 255.255.255.0
+ up flush\-mail
+
+iface eth0\-work inet dhcp
+
+iface eth1 inet dhcp
+.EE
+Lines beginning with the word "auto" are used to identify the physical
+interfaces to be brought up when
+.B ifup
+is run with the
+.B \-a
+option. (This option is used by the system boot scripts.)
+Physical interface names should follow the word "auto" on the same line.
+There can be multiple "auto" stanzas.
+.B ifup
+brings the named interfaces up in the order listed.
+.P
+Lines beginning with "allow-" are used to identify interfaces that should
+be brought up automatically by various subsytems. This may be done using
+a command such as "ifup \-\-allow=hotplug eth0 eth1", which will only bring
+up eth0 or eth1 if it is listed in an "allow-hotplug" line. Note that
+"allow-auto" and "auto" are synonyms.
+.P
+Lines beginning with "source" are used to include stanzas from other files,
+so configuration can be split into many files. The word "source" is
+followed by the path of file to be sourced. Shell wildcards can be
+used.
+(See
+.BR wordexp (3)
+for details.)
+.P
+Similarly, "source-directory" keyword is used to source multiple files at once,
+without specifying them individually or using shell globs. Additionally,
+when "source-directory" is used, names of the files are checked to match
+the following regular expression: \fI^[a\-zA\-Z0\-9_\-]+$\fR. In other words,
+the names must consist entirely of ASCII upper- and lower-case letters,
+ASCII digits, ASCII underscores, and ASCII minus-hyphens. In the directory path,
+shell wildcards may be used as well.
+.P
+When sourcing files or directories, if a path doesn't have a leading slash,
+it's considered relative to the directory containing the file in which the
+keyword is placed. In the example above, if the file is located at
+.IR /etc/network.conf\fR,
+paths to the included files are understood to be under
+.IR /etc\fR.
+.P
+By default, on a freshly installed system, the network.conf file includes a
+line to source files in the
+.IR /etc/network.d
+directory.
+.P
+Stanzas beginning with the word "mapping" are used to determine how a
+logical interface name is chosen for a physical interface that is to be
+brought up. The first line of a mapping stanza consists of the word
+"mapping" followed by a pattern in shell glob syntax. Each mapping stanza
+must contain a
+.BR script
+definition. The named script is run with the physical interface name as
+its argument and with the contents of all following "map" lines
+(\fBwithout\fR the leading "map") in the
+stanza provided to it on its standard input. The script must print a
+string on its standard output before exiting. See
+.IR /usr/share/doc/ifupdown/examples
+for examples of what the script must print.
+.P
+Mapping a name consists of searching the remaining mapping
+patterns and running the script corresponding to the first match;
+the script outputs the name to which the original is mapped.
+.P
+.B ifup
+is normally given a physical interface name as its first non\-option argument.
+.B ifup
+also uses this name as the initial logical name for the interface unless
+it is accompanied by a suffix of the form \fI=LOGICAL\fR, in which case
+ifup chooses \fILOGICAL\fR as the initial logical name for the interface.
+It then maps this name, possibly more than once according to successive
+mapping specifications, until no further mappings are possible. If the
+resulting name is the name of some defined logical interface then
+.B ifup
+attempts to bring up the physical interface
+as that logical interface. Otherwise
+.B ifup
+exits with an error.
+.P
+Stanzas defining logical interfaces start with a line consisting of the
+word "iface" followed by the name of the logical interface.
+In simple configurations without mapping stanzas this name should simply
+be the name of the physical interface to which it is to be applied.
+(The default mapping script is, in effect, the
+.B echo
+command.)
+The interface name is followed by the name of the address family that the
+interface uses. This will be "inet" for TCP/IP networking, but there is
+also some support for IPX networking ("ipx"), and IPv6 networking ("inet6").
+Following that is the name of the method used to configure the interface.
+.P
+Additional options can be given on subsequent lines in the stanza.
+Which options are available depends on the family and method,
+as described below.
+Additional options can be made available by other packages.
+For example, the wireless\-tools package makes available a number of
+options prefixed with "wireless\-" which can be used to configure the
+interface using
+.BR iwconfig (8) .
+(See
+.BR wireless (7)
+for details.)
+.P
+Options are usually indented for clarity (as in the example above)
+but are not required to be.
+.P
+.SH VLAN AND BRIDGE INTERFACES
+To ease the configuration of VLAN interfaces, interfaces having
+.B .
+(full stop character) in the name are configured as 802.1q tagged
+virtual LAN interface. For example, interface
+.B eth0.1
+is a virtual interface having
+.B eth0
+as physical link, with VLAN ID 1.
+.P
+For compatibility with
+.B bridge-utils
+package, if
+.B bridge_ports
+option is specified, VLAN interface configuration is
+.B not
+performed.
+.SH IFACE OPTIONS
+The following "command" options are available for every family and method.
+Each of these options can be given multiple times in a single stanza,
+in which case the commands are executed in the order in which they appear
+in the stanza.
+(You can ensure a command never fails by suffixing them with "|| true".)
+.TP
+.BI pre\-up " command"
+Run
+.I command
+before bringing the interface up.
+If this command fails then
+.B ifup
+aborts,
+refraining from marking the interface as configured,
+prints an error message,
+and exits with status 0.
+This behavior may change in the future.
+.TP
+.BI up " command"
+.TP
+.BI post\-up " command"
+Run
+.I command
+after bringing the interface up.
+If this command fails then
+.B ifup
+aborts,
+refraining from marking the interface as configured
+(even though it has really been configured),
+prints an error message,
+and exits with status 0.
+This behavior may change in the future.
+.TP
+.BI down " command"
+.TP
+.BI pre\-down " command"
+Run
+.I command
+before taking the interface down.
+If this command fails then
+.B ifdown
+aborts,
+marks the interface as deconfigured
+(even though it has not really been deconfigured),
+and exits with status 0.
+This behavior may change in the future.
+.TP
+.BI post\-down " command"
+Run
+.I command
+after taking the interface down.
+If this command fails then
+.B ifdown
+aborts,
+marks the interface as deconfigured,
+and exits with status 0.
+This behavior may change in the future.
+.P
+There exists for each of the above mentioned options a directory
+.IR /etc/network/if\-\fB<option>\fI.d/
+the scripts in which are run (with no arguments) using
+.BR run\-parts (8)
+after the option itself has been processed. Please note that as
+.BI post\-up
+and
+.BI pre\-down
+are aliases, no files in the corresponding directories are processed.
+Please use
+.IR if-up.d
+and
+.IR if-down.d
+directories instead.
+.P
+All of these commands have access to the following environment variables.
+.TP
+.B IFACE
+physical name of the interface being processed
+.TP
+.B LOGICAL
+logical name of the interface being processed
+.TP
+.B ADDRFAM
+address family of the interface
+.TP
+.B METHOD
+method of the interface (e.g.,
+.IR static )
+.TP
+.B MODE
+.IR start " if run from ifup, " stop " if run from ifdown"
+.TP
+.B PHASE
+as per MODE, but with finer granularity, distinguishing the
+\fIpre-up\fR, \fIpost-up\fR, \fIpre-down\fR and \fIpost-down\fR phases.
+.TP
+.B VERBOSITY
+indicates whether \fB\-\-verbose\fR was used; set to 1 if so, 0 if not.
+.TP
+.B PATH
+the command search path:
+.I /usr/local/sbin:\%/usr/local/bin:\%/usr/sbin:\%/usr/bin:\%/sbin:\%/bin
+.P
+Additionally, all options given in an interface definition stanza are
+exported to the environment in upper case with "IF_" prepended and with
+hyphens converted to underscores and non\-alphanumeric characters discarded.
+.P
+When ifupdown is being called with the \fB\-\-all\fR option, before doing anything
+to interfaces, if calls all the hook scripts (\fIpre-up\fR or \fIdown\fR) with
+\fBIFACE\fR set to "\-\-all", \fBLOGICAL\fR set to the current value of \-\-allow
+parameter (or "auto" if it's not set), \fBADDRFAM\fR="meta" and \fBMETHOD\fR="none".
+After all the interfaces have been brought up or taken down, the appropriate scripts
+(\fIup\fR or \fIpost-down\fR) are executed.
+##ADDRESSFAM##
+.SH KNOWN BUGS/LIMITATIONS
+The
+.B ifup
+and
+.B ifdown
+programs work with so-called "physical" interface names.
+These names are assigned to hardware by the kernel.
+Unfortunately it can happen that the kernel assigns different
+physical interface names to the same hardware at different
+times; for example, what was called "eth0" last time you booted
+is now called "eth1" and vice versa.
+This creates a problem if you want to configure the interfaces
+appropriately.
+A way to deal with this problem is to use mapping scripts that
+choose logical interface names according to the properties of
+the interface hardware.
+.SH AUTHOR
+The ifupdown suite was written by Anthony Towns <aj@azure.humbug.org.au>.
+This manpage was contributed by Joey Hess <joey@kitenet.net>.
+.SH "SEE ALSO"
+.BR ifup (8),
+.BR ip (8),
+.BR ifconfig (8),
+.P
+Examples of how to set up interfaces can be found in
+.BR /usr/share/doc/ifupdown/examples/network-interfaces.gz .

View File

@@ -0,0 +1,21 @@
diff -Naur a/main.c b/main.c
--- a/main.c 2014-10-04 06:50:46.000000000 -0500
+++ b/main.c 2016-11-06 15:46:07.708000000 -0600
@@ -83,7 +83,7 @@
printf("\t\t\t\t(note that this option doesn't disable mappings)\n");
printf("\t-v, --verbose\t\tprint out what would happen before doing it\n");
printf("\t-o OPTION=VALUE\t\tset OPTION to VALUE as though it were in\n");
- printf("\t\t\t\t/etc/network/interfaces\n");
+ printf("\t\t\t\t/etc/network.conf\n");
printf("\t--no-mappings\t\tdon't run any mappings\n");
printf("\t--no-scripts\t\tdon't run any hook scripts\n");
printf("\t--no-loopback\t\tdon't act specially on the loopback device\n");
@@ -423,7 +423,7 @@
int list = 0;
bool state_query = false;
char *allow_class = NULL;
- char *interfaces = "/etc/network/interfaces";
+ char *interfaces = "/etc/network.conf";
char **excludeint = NULL;
int excludeints = 0;
variable *option = NULL;

2
SRC/patches/README Normal file
View File

@@ -0,0 +1,2 @@
Place any patch files here and preface each with a number indicating
the order of execution. Patch files are expected to use a .patch extension.