이전 버전의 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.xml으로 org.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

이 문제의 원인을 아는 사람이 있습니까? 이 문제를 해결하려면 어디서부터 시작해야 할지 모르겠습니다. 미리 감사드립니다!

관련 정보