ifup/ifdown: make location of ifstate configurable
No binary (build failed)
—
(log yok)
| @@ -225,6 +225,16 @@ config IFUPDOWN | |
| "ifconfig", "route" and "run-parts" or the "ip" command, either | |
| via busybox or via standalone utilities. | |
| + | config IFUPDOWN_IFSTATE_PATH |
| + | string "Absolute path to ifstate file" |
| + | default "/var/run/ifstate" |
| + | help |
| + | ifupdown keeps state information in a file called ifstate. |
| + | Typically it is located in /var/run/ifstate, however |
| + | some distributions tend to put it in other places |
| + | (debian, for example, uses /etc/network/run/ifstate). |
| + | This config option defines location of ifstate. |
| + | |
| config FEATURE_IFUPDOWN_IP | |
| bool "Use ip applet" | |
| default n | |
| @@ -10,7 +10,9 @@ | |
| * Changes to upstream version | |
| * Remove checks for kernel version, assume kernel version 2.2.0 or better. | |
| * Lines in the interfaces file cannot wrap. | |
| - | * To adhere to the FHS, the default state file is /var/run/ifstate. |
| + | * To adhere to the FHS, the default state file is /var/run/ifstate |
| + | * (defined via CONFIG_IFUPDOWN_IFSTATE_PATH) and can be overridden by build |
| + | * configuration. |
| * | |
| * Licensed under the GPL v2 or later, see the file LICENSE in this tarball. | |
| */ | |
| @@ -1105,7 +1107,7 @@ static llist_t *find_iface_state(llist_t *state_list, const char *iface) | |
| static llist_t *read_iface_state(void) | |
| { | |
| llist_t *state_list = NULL; | |
| - | FILE *state_fp = fopen("/var/run/ifstate", "r"); |
| + | FILE *state_fp = fopen(CONFIG_IFUPDOWN_IFSTATE_PATH, "r"); |
| if (state_fp) { | |
| char *start, *end_ptr; | |
| @@ -1275,7 +1277,7 @@ int ifupdown_main(int argc, char **argv) | |
| } | |
| /* Actually write the new state */ | |
| - | state_fp = xfopen("/var/run/ifstate", "w"); |
| + | state_fp = xfopen(CONFIG_IFUPDOWN_IFSTATE_PATH, "w"); |
| state = state_list; | |
| while (state) { | |
| if (state->data) { | |
| @@ -554,6 +554,7 @@ CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y | |
| CONFIG_FEATURE_IFCONFIG_HW=y | |
| CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y | |
| CONFIG_IFUPDOWN=y | |
| + | CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate" |
| CONFIG_FEATURE_IFUPDOWN_IP=y | |
| CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y | |
| # CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set | |