Bug#765577: debian 8.0 errata (Re: Bug#765577: netboot install writes duplicates to 70-persistent-net.rules)

Michael Biebl biebl at debian.org
Thu Apr 23 18:39:11 BST 2015


Hi everyone!


I talked to the release team and they prefer to postpone a fix to 8.1.
I therefor would like to see a short paragraph added to the d-i 8.0
errata [1].

Afaics, the issue so far only happened for automated installations.
There is no real solution/workaround ttbomk besides rebuilding d-i with
a fixed udev-udeb. What people can do, is check
/etc/udev/rules.d/70-persistent-net.rules and clean that up manually.


Does the following paragraph sound ok

Errata for release 8.0

netboot install writes duplicate entries to 70-persistent-net.rules
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

When doing automated installations, the installer may detect NICs twice,
causing network interfaces to not be configured properly. This will
produce a shift in the names of the NICs (so e.g. eth0/eth1 may be named
as eth1/eth2). This is caused by a udev bug (#765577) and can be
corrected in the installed system by manually editing
/etc/udev/rules.d/70-persistent-net.rules and /etc/network/interfaces
accordingly.

Status: Will be fixed in 8.1


CCed the mail in full, so KiBi has some context.

[1] https://www.debian.org/releases/stable/debian-installer/

Am 22.04.2015 um 14:25 schrieb Faidon Liambotis:
> reopen 765577 !
> found 765577 215-14
> thanks
> 
> On Mon, Mar 30, 2015 at 06:06:47AM +0200, Marco d'Itri wrote:
>> I see that we have independently devised the same fix, I am attaching 
>> a test case and a more refined version of your patch.
> 
> I tried Jessie RC3 today and immediately found that the fix is,
> unfortunately, buggy. Your patch constructs a regexp and takes care to
> escape metacharacters "?" and "*" with a sed but does not escape "{" and
> "}" that are also metacharacters in the extended set of POSIX regexps.
> These are always found in the string-to-be-matched here with
> 'ATTR{dev_id}=="0x0"' and 'ATTR{type}=="1"', so the if always fails.
> 
> This was likely not caught by your test case (and was harder to debug
> and figure out!) because GNU grep's -E mode handles { as both a literal
> and a metacharacter heuristically for historic reasons (consult grep's
> manpage for that) but busybox grep does not:
>   $ echo 'foo{bar}' > test
>   $ egrep 'foo{bar}' test 
>   foo{bar}
>   $ busybox egrep 'foo{bar}' test 
>   egrep: bad regex 'foo{bar}'
>   $ egrep 'fo{1,2}' test 
>   foo{bar}
>   $ busybox egrep 'fo{1,2}' test 
>   foo{bar}
> Note that this is NOT a bug in busybox; foo{bar} is indeed an invalid
> extended POSIX regexp and busybox is right to complain and error out.
> 
> The very minimal last-minute fix below did the trick for me but I have
> to say... constructing regexps in shell is tricky and the whole
> escaping-with-sed logic feels like a hack. I think a literal grep (i.e.
> -F) would be better here, especially since I don't see the point of an
> exact match (even if the file was modified by the sysadmin, the right
> thing would to not write a new rule anyway). This is probably something
> to be considered post-jessie.
> 
> Thanks,
> Faidon
> 
> diff --git a/debian/extra/write_net_rules b/debian/extra/write_net_rules
> index 38a3ca0..fedc0f1 100644
> --- a/debian/extra/write_net_rules
> +++ b/debian/extra/write_net_rules
> @@ -118,7 +118,7 @@ basename=${INTERFACE%%[0-9]*}
>  match="$match, KERNEL==\"$basename*\""
>  
>  # build a regular expression that matches the new rule that we want to write
> -new_rule_pattern=$(echo "^SUBSYSTEM==\"net\", ACTION==\"add\"$match" | sed -re 's/([\?\*])/\\\1/g')
> +new_rule_pattern=$(echo "^SUBSYSTEM==\"net\", ACTION==\"add\"$match" | sed -re 's/([\?\*\{\}])/\\\1/g')
>  
>  # Double check if the new rule has already been written. This happens if
>  # multiple add events are generated before the script returns and udevd
> 
> _______________________________________________
> Pkg-systemd-maintainers mailing list
> Pkg-systemd-maintainers at lists.alioth.debian.org
> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-systemd-maintainers
> 


-- 
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/pkg-systemd-maintainers/attachments/20150423/9c7fbbb0/attachment-0002.sig>


More information about the Pkg-systemd-maintainers mailing list