Batocera.linux: 開発用更新サーバでNot Found問題

Batocera.linux ってなんじゃらほい?

…って人には無用な記事なのですが、
とりあえずどんなものかはGitHubでまとめてあるのでそっちで。
興味なかったらお帰りよろしう。

今回の課題

Batocera.linux のビルド環境には開発時の動作確認用に
簡素な更新サーバ機能があるわけですが、
Batocera 36 以降でそれが正常動作しなくなったことが発覚。

で、前回は間に合わせで雑な対応を施したのですが、
これをエレガントに書き直そうという試み。

どうあるべきか

正常動作していた Batocera 34 では
output/x86_64/images/batocera/images/x86_64/
をrootとして、すなわちその直下にある
ビルドの成果物をそのまま読み取ってた。

(35は対応断念したのでよくわからない)
これが Batocera 36 では、rootからさらに
x86_64/beta/last/ に飛び込んでくる。
この措置でEmulationStationからの更新と同じpathになるんですが、
肝心のビルド成果物の位置がそうなってない。
つまり、ここさえ合わせてしまえばいいだけの話。

どうしようか

この程度なら Makefile をちょこっと書き換えるだけ。
趣旨も NullPopPoCustom のezserverと同じなので、そこから拾ってくる。
ブランチ __Fix_36_WebServerPath にて対応済。
また、変更分を Batocera 37 用ブランチ __Fix_37_WebServerPath
にもpick。
webserverの起動手順を変更しただけなので、ビルドせずに
$ make x86_64-webserver
で動作確認可。

今回の成果

batocera-upgrade 機能復旧。
また、NullPopPoCustomのezserverは同じ趣旨で公式対応されたので
Batocera 36 以降に適用する必要はなくなった。

今後の予定

batocera.linuxハック箇所から公益性の高い部分を
Batocera 36,37に対応していく。


この記事が気に入ったらサポートをしてみませんか?