[Eisfair] Update Base 2.6.2 online

Peter Bäumer peter at baeumer.dd-dns.de
So Mai 10 16:30:37 CEST 2015


Glück Auf! Holger,
fast perfekt, beim Update von 2.6.1 auf 2.6.2 auf einem Testrechner ist 
mir aufgefallen:

2015-05-10 11:00:36 (246 KB/s) - 'base.tar.gz' saved [20511/20511]

Please wait ...
tar: tmp/preinstall.sh: Not found in archive
tar: Exiting with failure status due to previous errors

--

Als zweites gibt es ein Problem bei Alsa das Skript alsaconf, es findet 
keine Soundkarten mehr. Das Anlegen der card_db (ligt in 
/var/tmp/alsaconf.cards) funktioniert und sind bei beiden Base Versionen 
Identisch.
Das Problem liegt in der Funktion > probe_cards <
Da gibt es einen awk block in dem die im System vorhanden Soundkarten in 
eine Liste (file der in /tmp liegt) angelegt werden soll.
Der Bleibt aber leer :(

Hier erst mal den abschnitt den ich in verdacht habe:

     awk '
BEGIN {
         format="%-40s %s\n";
         ncards='"$ncards"';
         idx=0;
}
/^snd-.*\.o$/{
         sub(/.o$/, "");
         driver=$0;
         perc=(idx * 100) / (ncards + 1);
         print int(perc);
         idx++;
}
/^[<literal space><literal tab>]*PCI: /{
         gsub(/0x/, "");
         gsub(/=/, ":");
         x = sprintf ("'$lspci' -n 2>/dev/null| grep '"' 04..: '"' | 
grep %s", $2);
         if (system (x) == 0)
                 printf "%s %s\n", $2, driver >>"'"$FOUND"'"
}
/^[<literal space><literal tab>]*ISAPNP: /{
         id2 = substr($0, index($0, "=")+1);
         gsub(/=.*/, "");
         x = sprintf ("grep '\''^Card [0-9] .%s:'\'' '"$DUMP"'", $2);
         if (system (x) == 0)
                 printf "%s %s\n", $2, driver >>"'"$FOUND"'"
         else if (index($2, "ffff") > 0) {
                 x = sprintf ("grep '\''^BIOS [0-9]* .%s.'\'' 
'"$DUMP"'", id2);
                 if (system (x) == 0)
                         printf "%s %s\n", id2, driver >>"'"$FOUND"'"
         }
}' < $CARDID_DB |\
     $DIALOG --gauge "$msg" 6 40 0

Das Problem schneit zu sein das >(system (x)< nicht 0 sein möchte.
Wenn die if Abfrage auskommentiert ist wird eine Liste mit allen im 
System verfügbaren Modulen angelegt.

DA ich mich mit awk nicht auskenne stellt sich für mich die Frage warum 
x nicht 0 sein will und wie ich die nächste Zeile ab ändern muss?

x = sprintf ("'$lspci' -n 2>/dev/null| grep '"' 04..: '"' | grep %s", $2);

Die Variabel $lspci ist auf /usr/sbin/lspci eingestellt.

---
Das Init Skript hatte auch Probleme, das habe ich aber alleine Fixen 
können. Die Ausgabe von modprobe -c  hat sich geändert und ich habe zwei 
greps angepasst.

Ausgabe modprobe -c
Neu:
   alias snd_card_0 snd_hda_intel

   # End of configuration files. Dumping indexes now:

   alias RedBoot redboot
   alias USBVision usbvision
   ...

Alt
   alias snd-card-0 snd-intel8x0
   alias sound-slot-0 snd-intel8x0
   alias RedBoot redboot
   ...

PS.: Eigenlicht wollte ich heute noch ein bisschen Doku einfügen und die 
Pakete dann auf dem Packeis-Server hoch laden. War wohl nix :(


Wer sich die Sache angucken möchte:
http://baeumer.dd-dns.de:8080/eisfair/testteam/eis-list.txt

Wäre die Versionen 0.1.1 von ALSA

MfG
   Peter





Mehr Informationen über die Mailingliste Eisfair