Sisyphus repositório
Última atualização: 1 outubro 2023 | SRPMs: 18631 | Visitas: 37715723
en ru br
ALT Linux repositórios
S:29-alt11
5.0: 29-alt4
4.1: 29-alt2.M41.1
4.0: 28-alt7.1
3.0: 28-alt5.pre10

Group :: Sistema/Kernel e hardware
RPM: wireless-tools

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs e FR  Repocop 

#!/bin/sh -efu

iftab='/etc/iftab'
rules='/etc/udev/rules.d/70-persistent-net.rules'
udevadm=/sbin/udevadm

[ -x "$udevadm" ] &&
iftab_lines="$(grep -cs '^[[:space:]]*[^[:space:]#]' "$iftab")" ||
exit 0

>>"$rules"
rules_old_lines="$(grep -cs '^SUBSYSTEM==' "$rules")" ||:

sed -n 's/^[[:space:]]*\([^[:space:]#*]\+\)[[:space:]]\+\(mac\|SYSFS{address}\)[[:space:]]\+\(\([[:xdigit:]][[:xdigit:]]:\)\{5\}[[:xdigit:]][[:xdigit:]]\)\([[:space:]].*\|$\)/\1 \3/p' -- "$iftab" |
sort -u |
while read -r iface mac; do
touch -d '1 second ago' "$rules"
t="$(stat -c %Y "$rules")"
$udevadm trigger --subsystem-match=net --attr-match=address="$mac"
for i in `seq 1 10`; do
[ "$t" = "$(stat -c %Y "$rules")" ] || break
sleep 0.05
done
sed -i "/ATTR{address}==\"$mac\"/s/NAME=\"[^\"]\+\"/NAME=\"$iface\"/" "$rules"
done

rules_new_lines="$(grep -cs '^SUBSYSTEM==' "$rules")" ||:
rules_added="$(($rules_new_lines-$rules_old_lines))"

rules_added_suff=
[ $rules_added = 1 ] || rules_added_suff=s
iftab_lines_suff=
[ $iftab_lines = 1 ] || iftab_lines_suff=s

echo >&2 "Added $rules_added new rule$rules_added_suff to $rules based on $iftab_lines line$iftab_lines_suff from $iftab"
[ "$rules_added" = "$iftab_lines" ] ||
echo >&2 "WARNING: Automatic $iftab -> $rules conversion failed"
 
projeto & código: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
mantenedor atual: Michael Shigorin
mantenedor da tradução: Fernando Martini aka fmartini © 2009