Open RAVENz46 opened 4 months ago
@RAVENz46 issue作成ありがとうございます!
検討に値すると思います。 Linuxに明るくないのでいくつか伺わせてください!
appimageにしかできなかったことなどがあれば問題あるかもです。 個人的には問題ないならappimageやめて1つだけ配布にしたいなと。
こちらの上に書かれている内容です。 https://www.electron.build/configuration/flatpak.html 公式?の配布場所があり、そこにアップロードできない的な…?
@Hiroshiba 自分もまだ理解が浅いため、誤りがあったら申し訳ないのですが、調べたところ
2. electron-builderのFlatpakの項目の一番上に注意書きがあるけど、問題はなさそうでしょうか?
こちらの上に書かれている内容です。 https://www.electron.build/configuration/flatpak.html 公式?の配布場所があり、そこにアップロードできない的な…?
おそらくelectron-builderをつかってソースからflatpak向けのビルドを作成することはサポートされていないということだと思います。flathub上にあるいくつかオープンソースのelectron製パッケージを確認したところいずれもAppImageやdeb、.tar.gzを経由するような形でインストールが行われていました。
1. AppImageの配布を停止してFlatpakに置き換えても良さそうでしょうか?
appimageにしかできなかったことなどがあれば問題あるかもです。 個人的には問題ないならappimageやめて1つだけ配布にしたいなと。
上で述べたとおり、一度AppImage等を経由しなければいけない関係上、現状ではおそらくFlatpak一本化は厳しそうですね... もう少し自分の方でもなにかいい解決策がないか探してみます。
おそらくelectron-builderをつかってソースからflatpak向けのビルドを作成することはサポートされていない
自分の解釈だと:
って感じだと思います(まだ詳しく調べてはいませんが)
おそらくelectron-builderをつかってソースからflatpak向けのビルドを作成することはサポートされていない
自分の解釈だと:
* Flatpakには(少なくとも)2つのバージョンがある: * Flathubに上げるバージョン * 1ファイルに全部まとめるバージョン * 制約きつめ * electron-builderは後者しかできない
って感じだと思います(まだ詳しく調べてはいませんが)
失礼しました、恐らくそのとおりだと思います。 となると
ということになるのかな?
参考までに情報出しです。
現状特定のLinuxディストリビューションに依存しない著名なアプリケーションストアに、Flathub(Flatpak)
とSnap Store(Snap)
があります。
カジュアルユーザー含めユーザー数が多いLinuxディストリビューションの中に、Ubuntu
とLinux Mint
があります。
Ubuntu
では、開発プロセスを共有する公式フレーバー
が存在し、全部で10種の公式フレーバー
があります。
公式フレーバー
はUbuntu
と蜜に連携して開発されているLinuxディストリビューションです。
Linux Mint
では、4種類のエディションがあります。
つまりLinux Mint
だけで、4種類のLinuxディストリビューションが存在します。
それぞれの対応方針を紹介します。
Ubuntu
は、デフォルトでSnap Store(Snap)
に対応しています。
しかしFlathub(Flatpak)
にはデフォルトで対応しておらず、Flathub(Flatpak)
を利用したいユーザーはFlatpak
のサポートに必要なソフトウェアを別途インストールする必要があります。
Ubuntu
はデフォルトでFlatpak
に対応しない方針を出しており、公式フレーバー
もそれに従っています。
Linux Mint
は、Ubuntu
と逆の方針を取っています。
つまりデフォルトでFlathub(Flatpak)
に対応しています。
しかしSnap Store(Snap)
にはデフォルトで対応しておらず、Snap Store(Snap)
を利用したいユーザーはSnap
のサポートに必要なソフトウェアを別途インストールする必要があります。
VOICEVOX
をFlathub(Flatpak)
でリリースし、AppImage
のリリースをやめる場合、
Ubuntu
及び公式フレーバー
ユーザーにFlatpak
のサポートに必要なソフトウェアのインストールを案内する必要があります。
今回.tar.gz
版VOICEVOX
には触れられていませんが、こちらで開発しているVerbaVox
は、.tar.gz
版VOICEVOX
をVOICEVOX
のgithubからダウンロードして展開するインストーラーを内蔵しています。
もし暗に.tar.gz
版廃止も視野に入っている場合、できれば.tar.gz
版は今後も継続的にリリースしていただけると嬉しいです。
@RAVENz46 まとめありがとうございます!
electron-builderの制約上、Flathubでの配布はできない気がしています。
この制約がある場合でもflatpakが便利そうでしょうか? 👀
(例えば .flatpak
をGithub Releasesからダウンロードし、ダブルクリックしてインストールができるとかならたぶんAppImage
よりずっと使いやすい気がします!)
@kledgeb 詳しくありがとうございます!! 全然知らないのでとても参考になります。
ubuntuでは動作しないんですね。ググったら使うには追加パッケージが必要そうな雰囲気を感じました。 まあlinux向けのインストーラースクリプト内でflatpakコマンドが入ってない場合にインストールするように案内すれば良さそうですが、flathubで配布しない場合は使い勝手的にはappimageに劣ってしまうかもしれませんね。
.tar.gz
版の配布を続けると思います!
@Hiroshiba
AppImageと比較するとディストリビューションやバージョンの際による問題を減らせる(はず)のと、現状AppImage版では--no-sandbox
オプションを利用しているためセキュリティ的に好ましくないですが、flatpakだとここを解消できると思うので悪くはないかなと。
ただflathubでリリースできない関係上自動アップデート的なことができるかはわからないのと、上述の制約であったりelectron系のアプリはzypakを使用するのですがこれを嫌うかどうか次第でしょうか。
また個人的にFlatpakの代わりにNixについても検討しています。 これだとAppImage版(動作確認済み)の配布だけでなくソースビルドもできますし、Macでのパッケージ配布も併用できます(ただしおそらくソースビルドは不可)。 ただこちらはこちらでfedora silverblueのようなimmutableなディストリビューション(NixOS除く)では配布が厳しいとは思われますが...
@RAVENz46 なるほどです!! sandbox周りの課題が解決できるのであればちょっと嬉しいかもですね!
とはいえubuntuユーザーに対しては、たぶんflatpak用のあれこれをインストールしてもらわないとなんですよね。 仮にflatpak1本化する場合、そのあたりのスクリプトもインストーラーに含めて案内って感じになりそうでしょうか。 それがlinux向けインストーラースクリプトに適合しそうかどうか確認する必要がありそうです。
まあとりあえずappimageと並行して、試しにflatpak版も作ってみるのはありかもしれません。
@RAVENz46 さんの興味のほどはどれくらいでしょうか? もし興味あれば、前述の通りappimageと並行しての形になってしまいますが、試しにelectron-builderでflatpak版を作ってみていただけると! といってもそんな難しくなく、まずはelectron-builerの設定をいじってみてビルドしてみる感じだと思ってます。 あるいは前述のインストールスクリプトに適合しそうか確認いただけると前に進めそうです。
そこまでだったら一旦closeさせていただき、実装や調査の挑戦者をお待ちすることになりそうです。
@Hiroshiba 自分でもできそうなのとNix版のソースビルドで行き詰まっているので、挑戦してみます! 進展があったり自分の力量だと厳しそうだったら再度ここに書き込みます
ぜひぜひ!! 難しかったとか、できなかったという知見も進捗なので・・・!!
Nixについては他の方がcpu版の方をパッケージしてくださっているようです.
https://github.com/NixOS/nixpkgs/pull/287354
Edit: フルサポート版あり. こっちだとMacも対応してる. https://github.com/NixOS/nixpkgs/pull/319403
おお、ご報告ありがとうございます!!
・・・・・これもしかしたらFlatpakの公式パッケージ側にプルリクエストを出すみたいな方法もあり得るんですかね・・・? だとしたらelectron-builderが非対応とか関係なく挑戦できるのかなと思い。
VOICEVOXから公式にその辺りのメンテナンスするのは難しいかもですが、issueをここに作ってパッケージ作成方法をディスカッションとかであれば、僕含むどなたかが答えてくれるかもです!
内容
Linuxでのパッケージ配布は現状AppImageと.tar.gzで行われていますが、#218 の頃と比較してFlatpakがかなりメジャーなパッケージ配布方法となっておりパッケージのインストールもこちらのほうが容易なのでサポートしていただきたいです。
Pros 良くなる点
GUIのストアアプリからパッケージのインストール/アップデートが行えるためよりユーザーフレンドリーになる。 より幅広いディストーションで利用が可能になる。
Cons 悪くなる点
実現方法
AppImageをそのまま流用できそう。 参考: https://github.com/flathub/com.zettlr.Zettlr
VOICEVOXのバージョン
0.?.0
OSの種類/ディストリ/バージョン
その他