Batocera.linux: 変更点のPRを試みる

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

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

今回の課題

これまで変更してきたいろいろと、本家BatoceraへのPR
…といっても一般でいうPR(Public Relations)とは別物でありまして
Git(というかGitHub)ではPull Requestっていう悪魔合体の儀式
本家プロジェクトへの採用活動を執り行います。

まず最新版の再追跡

はるかなるorigin/master

前回最新版を拾ってから半月経ってまして、その間にだいぶ離されてます。
おもむろに追跡あるのみ。

拾ってきた。

…と思ったら、ビルド通らないし。

これが思いのほか厄介で。
glibc 2.34以降でpthread系ファンクションを扱うには追加のオプションを
指定する必要あるようですが、未対応のパッケージが残っているようで
困ったもんだ。
(Batocera 36ではglibc 2.33なのでセーフ)

というわけで…

いろいろ試したところ、Qt5→Qt6移行が中途半端でビルド不能な問題も
発覚いたしまして、結局Qt6移行前まで戻した
(しかもクリーンビルドやりなおし)
ここから新しく作ったブランチにパッチをまとめて動作確認。

なお、前回追跡時に発生してたpm-utilsの問題は既に修正されているので
こちらの仮対応分は破棄ということで。

最新版に載せなおす(だけ)

競合してなければヨシ!(ぉ
まービルドできないんだ許せ(ぉぉ

パッチ部分を最新masterにrebaseしただけ

EmulationStation側の対応

リポジトリが別なので

  • 本体が参照するcommit位置でbranch作成

  • さらに、公式patchを適用した状態のbranch作成

  • そこに変更部分のpatchをrebase

  • 全patchを適用した状態のbranch作成

この BatoceraWIP230428Fixing を
EmulationStationビルド対象に設定
同様にパッチ部分をmasterにrebase

なお、 __Fix_37_InitMetaData については、公式品では従来の実装で
全く問題なくて公益性の説明できないことが発覚したため中止。
あと __Add_37_JapaneseGenre は __Fix_37_EnglishGenreRequired
と競合するため後日。
で、他4件が今回の発射対象。

レッツPR

本家ドキュメントにある作法に則りまして…
といっても大半は基本的なGitHubの使い方説明。
(見た感じ、特に独特なルールないよねたぶん)

まーwebでいんじゃね(適当)

こんな感じにパッチ用ブランチが並んでいるので
それぞれ New pull request押して…
適当に説明書いて発射あるのみ

今回の成果

…は本家次第。
こちらとしては、可否如何にしても粛々と我が道を行くだけなので
ぶっちゃけどうでもいいところ。

因みに、これ書いた時点では本体側の5件中4件が採用された模様。
もう一つ(batocera-upgradeのpath違いの件)は何か問題あるらしいけど、
こちらでは対処できない環境のため救いようもなさげ。

今後の予定

こんな感じの微修正はRetroArchとlibretroコア各種にもあったりします。
ただこちらは管轄が別ということで。


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