[Problem] zlib-1.2.10.tar.xz wird nicht gefunden

HRieken

Neuer User
Mitglied seit
6 Dez 2010
Beiträge
5
Punkte für Reaktionen
0
Punkte
1
Hallo zusammen

Nach längerer Pause habe ich mich gestern wieder mit dem Thema Freetz beschäftigt. Nach Aktualisierung meiner Build-Umgebung und dem ersten Lauf von "make menuconfig" (sah noch sehr vertraut aus ;)), hat mein "make" Prozess allerdings bemängelt, dass die Datei "zlib-1.2.10.tar.xz" von den üblichen Seiten nicht heruntergeladen werden konnte.

Der Aufruf der entsprechenden URL (z.B. http://freetz.wirsind.info/zlib-1.2.10.tar.xz) blieb entsprechend erfolglos, aber "zib-1.2.8.tar.xz" ist zu finden. Also kurzerhand die Version geändert und recompiliert. Jetzt wird die Datei zwar gefunden und heruntergeladen, aber wg. des fehlerhaften Hashwerts nicht akzeptiert. Jetzt kann ich entweder auch noch den Hashwert korrigieren/faken oder Euch fragen, wie ich den Fehler nachhaltig beheben kann.

Vielen Dank im Voraus für Eure Hilfe und Gruß
H
 
Seit dem 15.01. ist eine neue, fehlerbereinigte Version 1.2.11 verfügbar - ein Rückgriff auf 1.2.8 ist eher widersinnig.

Ansonsten braucht es nur in der Datei make/libs/zlib/zlib.mk eine Anpassung der Versionsnummer und des Hash-Wertes - ist SHA256, der korrekte steht bereits auf der Webseite zlib.net (4f...66).

Das war's dann schon ... irgendwann wird sicherlich auch der Trunk die neue Version verwenden - entweder Du hilfst Dir jetzt selbst oder Du wartest eben auf die Änderung.
 
Supi, vielen Dank für die schnelle Antwort. Habe mir mit Deinen Infos weiterhelfen können :)
Habe auch gleich mein erstes Ticket aufgemacht (http://freetz.org/ticket/2876), damit die Änderung nicht verloren geht...
 
Zuletzt bearbeitet:
Moin zusammen,

bin gestern Abend auch darüber gestoßen und habe einen kleinen Patch / Workaround geschrieben, mit dem Ihr den Hash in dem entsprechenden Makefile automatisch austauschen könnt.
Bitte ./freetz-trunk durch euer SVN-Verzeichnis ersetzen, in den Ihr den Checkout gemacht habt.

cd ~
wget http://zlib.net/zlib-1.2.11.tar.xz
export ZLIBHASH=$(sha256sum < zlib-1.2.11.tar.xz | sed 's/ -//g')


cd ./freetz-trunk/make/libs/zlib/
test -f zlib.mk.backup || cp zlib.mk zlib.mk.backup
sed -i '/\$(PKG)_SOURCE_SHA256:=.*/s/:=.*/:=$(ZLIBHASH)/' zlib.mk

==> bitte noch manuell in der Datei zlib.mk oben in Zeile eins die Version von 1.2.10 auf 1.2.11 setzen- hab ich ganz vergessen.


Das Scipt im Einzelnen:
1) Datei von zlib.net runterladen
2) SHA256 Hash in eine Variable schreiben
3) backup der zlib.mk machen
4) mittels SED den Hash austauschen
 
Zuletzt bearbeitet:
Da kann ich mir dann allerdings die Bemerkung doch nicht verkneifen, daß das eben der genau falsche Weg ist (diese "Kritik" bitte nicht falsch verstehen) ... so ein Hash-Wert ist ja kein Selbstzweck und wenn man schon einen solchen im Makefile hinterlegt, dann sollte es der von der Webseite sein. Es ist ziemlich witzlos, den Hash erst für die Datei zu bilden, die man bereits auf dem eigenen Computer hat - zumindest dann, wenn man ihn dann nicht mit dem "Original" vergleicht.

Wenn der neben dem Sicherstellen der Integrität (der originalen Datei) auch gegen Fehler beim Download schützen soll, dann macht es eben keinen Sinn, den Wert der geladenen Datei zu ermitteln und hinterher wird der dann genau noch einmal mit dem einer (erneut geladenen) Version abgeglichen. Wenn z.B. das Archiv auf dem Server beschädigt (und zu kurz) ist, würden beide Downloads (der eigene per "wget" und der automatische im Freetz-Build) trotzdem dieselbe Datei laden und der Vergleich der Hash-Werte würde gar keinen Fehler ergeben ... der taucht dann erst beim Entpacken oder (im schlechtesten Fall, wenn ganze Dateien fehlen) erst beim Übersetzen der Library auf.

Der korrekte Hash-Wert steht eben in der Webseite von zlib.net und wenn man ohnehin von Hand die Versionsnummer ändern muß, dann kann man auch gleich noch den Hash-Wert aus der Seite auslesen (notfalls "lassen", das ist mit einem "wget" für "http://zlib.net" auch problemlos machbar, wenn man ein paar Kommandos kombiniert:
Code:
# [COLOR="#0000FF"]printf "%s\n" $(wget -q -O - http://zlib.net | grep -A 2 'tar\.xz' | sed -n -e 's|SHA-256 hash [^a-f0-9]*\([a-f0-9]*\).*|\1|p')[/COLOR]
4ff941449631ace0d4d203e3483be9dbc9da454084111f97ea0a2114e19bf066
Am Ende nicht viel mehr Aufwand (sogar der kleinere Download, weil die Webseite kleiner ist als das Paket von 457 KB), aber es wird eben der Hash-Wert des Originals verwendet.
 
Stimmt. Hatte vorhin Zeitdruck und für eine Vollautomatisierung hats nicht gereicht. Der Einwand mit der Validierung des Hashes ist natürlich richtig und sinnvoll.
 

Neueste Beiträge

Statistik des Forums

Themen
244,695
Beiträge
2,216,686
Mitglieder
371,314
Neuestes Mitglied
Gjorstn
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.