Date

Dies ist mein erster Testballon für eine neue Serie von Artikeln auf meiner Webseite. Mit diesen Artikeln möchte ich eine Reiher kleiner Open-Source-Beiträge, welche ich von Zeit zu Zeit en passant vornehme, Dokumentiere. Das schöne an freier Software ist ja gerade, dass man nicht auf einen Hersteller angewiesen ist um Fehler zu beheben oder die Software für den eigenen Bedarf zu ertüchtigen. Auf den ersten Blick können andere Projekte aber durchaus erstmal einschüchtern wirken. Dabei lässt sich häufig schon mit sehr kleinen, einfachen Beiträgen „die Welt“ verbessern. Vielleicht lässt sich ja die eine oder andere Hemmschwelle abbauen, wenn welche Bandbreite an kleinen und größen Beiträgen man vornehmen kann.

Letzten Monat habe ich mir mal openSUSEs Paket des Node-Exporters für Prometheus angesehen, da ich diesen auch für mein eigenes, privates Monitoring einsetze. Hierbei fiel mir auf, dass beim Paketieren die Tests nicht ausgeführt wurden. Eigentlich sollten die Tests einer Software beim paketieren immer ausgeührt werden. Nur so ist sichergestellt, dass die Software mit den in der Distribution genutzten Versionen von Compilern und genutzten Bibliotheken sauber funktioniert.

Das Beispiel im Wiki von openSUSE beinhaltet das Ausführen der Tests. Somit ist der Fehler schnell behoben.

%check
%gotest github.com/prometheus/node_exporter...

Eine kleine Besonderheit gab es allerdings noch zu beachten: Der Node-Exporter nutzt Testdaten welche im Repository nur gepackt vorliegen. Diese sind vor Ausführung der eigentlichen Tests noch zu entpacken. Ein kurzer Blick auf das Makefile verrät, dass hierfür das Target collector/fixtures/sys/.unpacked zuständig ist. Also schnell noch ein make collector/fixtures/sys/.unpacked in den Abschnitt %build eingefügt und schon funktioniert alles.

Damit war der Submitrequest dann auch schon bereit und ist inzwischen auch angenommen worden.