Comment 45 for bug 44194

Revision history for this message
Soren Hansen (soren) wrote :

> Glancing at its pre-up script, I'm guessing your problem is this:
>
>> # quit if executables are not installed
>> if [ ! -x "$WPA_SUP_BIN" ] || [ ! -x "$WPA_CLI_BIN" ]; then
>> exit 0
>> fi
> This is a perfectly valid use case when the wpasupplicant package is
> removed but not purged.

I know why the check is there. That doesn't mean that the problem here
doesn't stem from that very check. If you have a separate /usr, the
wpasupplicant binary is likely to not be available when the interface is
discovered and the first configuration attempt is made. That's the case
you need to handle somehow. One of the ways to do so is to add a check
for the /var/run/network/initialized flag *before* the above check, and
*fail* if it's not there. That way, ifupdown will fail to configure the
interface the first time around, and will retry it when we reach S40networking.

> The wpasupplicant-ifupdown script is installed as a conffile, because
> we expected that local users might want to do some changes to it.
> /etc/network/if-*.d is installed in /etc/ as conffile for a reason
> after all.

I'm familiar with the concept of conffiles.

> What we could do however is to move the ifupdown conffile to
> /var/lib/wpasupplicant

What purpose would that serve? Whether a file is a conffile or not does
not depend on whether it's in /etc or not. Besides, there's not
guarantee that /var will be mounted at that point, and then you lose
again.