[Eisfair_dev] [eisfair-1] Fehler in /var/install/bin/master-diff-config

Ansgar Püster ansgar.puester at netcologne.de
Sa Jun 21 17:46:40 CEST 2014


Hallo Jürgen,
hallo Holger,

beim Entwickeln / Testen des Paketes nginx ist mir ein Fehler
in /var/install/bin/master-diff-config aufgefallen.

Zeile 285
---------
Ist:
/var/install/bin/ask "Enter return to continue, q to quit:" 'q' '^$' > 
/tmp/ask.$$
Soll:
/var/install/bin/ask "Enter return to continue, q to quit:" '' '^$' 'q' 
 > /tmp/ask.$$

Der Ist-Zustand terminiert leider nicht, da als Default 'q' angegeben
ist, als mögliche Pattern aber nur '^$' also ENTER. Das passt nicht.

Der Soll-Zustand erlaubt 'q' bzw. '^$' also ENTER und hat _keinen_
Default, der ja bei einem schlichten ENTER genutzt würde.

Zeile 235 / 297
---------------

Ist:
while read line
....
done < $diff_file

Soll z.B.:
while read -u 9 line
....
done 9< $diff_file

Das Lesen der Zeilen der Differenzdatei geschieht über stdin und
konkurriert dann ggf. mit dem in der Schleife befindlichen ask.
Hat ask mal explizit von /dev/tty gelesen?
Egal.Mit der Änderung auf ein read von einem anderen file
descriptor (z.B. 9) funktioniert das Skript wieder.

Irgendwie hätte der Originalautor von master-diff-config vor zehn
Jahren doch mehr Kommentare "stiften" sollen ;-)

Bis dann
Ansgar


Mehr Informationen über die Mailingliste Eisfair_dev