あっきぃ日誌

鉄道ブログのような技術系ブログのようななにか

CircuitPythonに初めてのバグ報告

WIZnetのボードの評価していたときにCircuitPythonライブラリのバグ報告をした話の記録。

評価の記事は、年末にraspi.jpの方で書いたやつですね。

www.raspi.jp

内容としては、CircuitPythonのHTTPサーバーライブラリのadafruit_httpserverが、依存関係としてhashlibを要求するものの、WIZnetボード用のイメージにはhashlibが組み込まれておらず、エラーになるというもの。しかし、hashlibはWebSocketを使う場合にしか使われないので、単にWebサーバーを立てるときには不要です。バグの仕込み時期を見ると4〜5月頃で半年も気づかれんかったのか……そんなに?

私の場合、単純なWebサーバーを立てたかっただけなのに、なんやねんとなったので、ライブラリのリポジトリにバグを報告。

github.com

こちらは『tryでimportして、だめならadafruit_hashlibライブラリのimportも試して、そうでなければ警告を出す』という形で修正されました。

Issueの中で、「そもそもhashlibが内蔵されていた方が良いのでは」という人がCircuitPython本体のプルリクを開始。こちらはビルドがうまく活かず頓挫したようです。

github.com

mbedtlsを使えば内蔵できるとコメントした別の人が別のプルリクを開始。こちらが本体にマージされました。

github.com

今後(mainにMergeされたのでおそらく9.0向け)はWIZnet向けのCircuitPythonでもhashlibが使えるようになります。adafruit_hashlibライブラリと比べるとかなり早いそうなので、良さそうですね。私は使う用事はないんですけども……。

あと、クレジットはIssueを建てた人のは載らず、プルリクをした人のが載る様子。ふに〜。