以前のバージョンのWine(6.13)でFlatpakを生成する問題

以前のバージョンのWine(6.13)でFlatpakを生成する問題

Wine 6.13の以前の開発バージョン用のフラットパックを作成しようとしたときに問題が発生しました。bwrap: execvp wine: No such file or directoryコンパイルは成功しましたが、flatpakを実行しようとするとエラーが発生します。わずかに最新バージョンの6.16が利用可能でしたが、以前のバージョンのWineで実行されていない一部のソフトウェアを実行するには、この特定の以前のバージョンが必要です。残念ながら、6.16までは修正されていないバグのため、以前のランタイムセットを使用する必要がありました。私が試した詳細な方法は次のとおりです。

バージョン6.0.2に存在するWineのflathubマニフェストリポジトリを最初にダウンロードしました。 https://github.com/plathub/org.winehq.Wine/tree/a954b18213547d4acaeb7b6e7f5157205fed45b4

次に、ymlファイルとxmlファイルの名前を次のように変更しました。 org.oldbuild.wine-6-13.yml org.oldbuild.wine-6-13.appdata.xml

org.oldbuild.wine-6-13.ymlappdataファイルへのIDと参照を変更し、ホストファイルシステム権限を提供する行を追加し、ダウンロードしたワインのバージョンを変更しました。

id: org.oldbuild.wine-6-13

- --filesystem=host

        url: https://dl.winehq.org/wine/source/6.x/wine-6.13.tar.xz
        sha256: e03a21a011d45d2ae9f222040fb7690b97156376e7431f861f20073eaf24f28a

path: org.oldbuild.wine-6-13.appdata.xml

その後、org.oldbuild.wine-6-13.appdata.xmlIDとリリースバージョンの行を変更しました。

<id>org.oldbuild.wine-6-13</id>

<release version="6.13" date="2021-07-20"/>

次のmodules/spirv-headers.jsonファイルも追加しました。

{
        "name": "spirv",
        "buildsystem": "cmake-ninja",
        "cleanup": [
            "/bin",
            "/include",
            "/lib/cmake",
            "/lib/pkgconfig",
            "/share/man",
            "*.so"
        ],
        "sources": [
                {
                        "type": "archive",
                        "url": "https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags/sdk-1.3.236.0.tar.gz",
                        "sha256": "4d74c685fdd74469eba7c224dd671a0cb27df45fc9aa43cdd90e53bd4f2b2b78"
                }
        ]
}

上記の操作を実行した後、次のコマンドを使用してビルドしようとしました。flatpak run org.flatpak.Builder wine-6-13 org.oldbuild.wine-6-13.yml

すべてが正常にコンパイルされた後、メタデータの作成中にエラーが発生します。

Composing metadata...
Run failed, some data was ignored.
Errors were raised during this compose run:
general
  E: filters-but-no-output

org.oldbuild.wine-6-13
  E: no-valid-category
Refer to the generated issue report data for details on the individual problems.
Error: ERROR: appstreamcli compose failed: Child process exited with code 1

wine-6-13この時点でディレクトリに移動し、metadataファイルを手動で作成してみます。バージョン6.0.2を参照として使用し、必要に応じて変更しています。metadata.debuginfometadata.org.winehq.Wine.geckometadata.org.winehq.Wine.mono

name=org.oldbuild.wine-6-13

[Extension org.oldbuild.wine-6-13.Debug]

built-extensions=org.oldbuild.wine-6-13.Debug;org.winehq.Wine.gecko;org.winehq.Wine.mono;

[Runtime]
name=name=org.oldbuild.wine-6-13.Debug

[ExtensionOf]
ref=app/org.oldbuild.wine-6-13/x86_64/stable-21.08
[Runtime]
name=org.winehq.Wine.gecko

[ExtensionOf]
ref=app/org.oldbuild.wine-6-13/x86_64/stable-23.08
[Runtime]
name=org.winehq.Wine.mono

[ExtensionOf]
ref=app/org.oldbuild.wine-6-13/x86_64/stable-21.08

上記のタスクを実行した後に実行し、flatpak build-finish wine-6-13手動wine-6-13/export/share/metainfo/org.oldbuild.wine-6-13.metainfo.xmlorg.oldbuild.wine-6-13.appdata.xml

ここで、次のコマンドを実行してflatpakファイルの生成を完了してインストールします。

flatpak build-export export-6-13 wine-6-13

flatpak build-bundle export-6-13 org.oldbuild.wine-6-13.flatpak org.oldbuild.wine-6-13 --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo

flatpak install org.oldbuild.wine-6-13.flatpak

なぜメタデータが構築されないのかわかりませんが、手動で実行したflatpakは次のエラーでワインを開始できません。

my_bash_prompt$ flatpak run org.oldbuild.wine-6-13 some_windows_program.exe
bwrap: execvp wine: No such file or directory

この問題の原因を知っている人はいますか?この問題を解決するには、どこから始めるべきかわかりません。よろしくお願いします!

関連情報