[smartmontools-support] Fehler in update-smart-drivedb auf macOS / Homebrew

Olaf Pokorny o.pokorny at web.de
Tue Mar 29 13:09:19 CEST 2022


Moin,

danke für die viele Arbeit an smartmontools.

Das Update der drivedb.h mit dem Script „update-smart-drivedb“
funktioniert seit smartmontools 7.3 auf macOS in der Homebrew-Version
nicht mehr. Es spuckt folgende Fehlermeldung aus:

sed: 1: "/^[ {]*"VERSION: *[^"]* ...": extra characters at the end of q
command


Der Fehler wird offenbar in Zeile 545 ausgelöst, bei der Überprüfung der
drivedb.h Version:
x=$(sed -n '/^[ {]*"VERSION: *[^"]*"/{s,^[ {]*"VERSION: \([1-9][./0-9]*
[^"]*\)".*$,\1,p;q}' "$1") \

Nach einiger Recherche habe ich den Tipp gefunden, hinter das letzte q
noch ein Semikolon einzufügen und dann funktioniert es tatsächlich:
x=$(sed -n '/^[ {]*"VERSION: *[^"]*"/{s,^[ {]*"VERSION: \([1-9][./0-9]*
[^"]*\)".*$,\1,p;q;}' "$1") \

Wieso, weshalb und warum das so ist, weiß ich nicht, da ich mich mit sed
nicht auskenne. Ob dieser „Trick“ die Funktionalität auf anderen
Plattformen beeinträchtigt, kann ich auch nicht sagen.


Was mir noch aufgefallen ist: Zum Download der neuen drivedb.h verwendet
das Script die curl-Version von Apple /usr/bin/curl. Da ich auch über
Homebrew die meist aktuellere curl-Version installiert habe, wäre es
nicht schlecht, wenn diese auch von update-smart-drivedb verwendet
werden könnte. Ich habe bei mir den Pfad dorthin in Zeile 17: export...
ergänzt:

export PATH="/usr/local/opt/curl/bin:/usr/local/bin:/usr/bin:/bin"

Viele Grüße
Olaf Pokorny


More information about the Smartmontools-support mailing list