Skip to content

Commit f999c4b

Browse files
J1-takaivasfvitor
andauthored
i18n(ja) Distribution Section (part 1 of 3) (#3300)
Co-authored-by: Vitor Ayres <[email protected]>
1 parent 9823876 commit f999c4b

File tree

8 files changed

+1101
-0
lines changed

8 files changed

+1101
-0
lines changed

src/content/docs/distribute/index.mdx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@ Signing is required on most platforms. See the documentation for each platform f
114114
href="/distribute/sign/ios/"
115115
description="Code signing for iOS"
116116
/>
117+
117118
</CardGrid>
118119

119120
## Distributing
@@ -130,6 +131,11 @@ For Linux you can distribute your app using the Debian package, Snap, AppImage,
130131
href="/distribute/appimage/"
131132
description="Distribute as an AppImage"
132133
/>
134+
<LinkCard
135+
title="AUR"
136+
href="/distribute/aur/"
137+
description="Publishing To The Arch User Repository"
138+
/>
133139
<LinkCard
134140
title="Debian"
135141
href="/distribute/debian/"

src/content/docs/ja/distribute/app-store.mdx

Lines changed: 389 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
---
2+
title: AppImage で配布
3+
sidebar:
4+
order: 1
5+
i18nReady: true
6+
---
7+
8+
import TranslationNote from '@components/i18n/TranslationNote.astro';
9+
10+
`AppImage`」は、システムにインストールされているパッケージに依存せず、代わりにアプリケーションに必要な依存関係とファイルをすべてバンドルした配布形式です。このため、出力ファイルは大きくなりますが、多くの Linux ディストリビューションでサポートされており、インストールなしで実行できるため、配布が容易です。ユーザーは、ファイルを実行可能ファイル(`chmod a+x MyProject.AppImage`)にするだけで、実行できます(`./MyProject.AppImage`)。
11+
12+
AppImage は便利で、各ディストリビューションのパッケージ・マネージャー用のパッケージを作成できない場合でも、配布プロセスを簡素化します。とは言っても、ファイル・サイズが元々の 2~6 MB 程度から 70 MB 以上となってしまうため、その使用は慎重に行なう必要があります。
13+
14+
## GStreamer によるマルチメディアサポート
15+
16+
あなたのアプリがオーディオ/ビデオの再生を行なう場合は、`tauri.conf.json > bundle > linux > appimage > bundleMediaFramework`(「メディア・フレームワークをバンドル」フラグ)を有効にする必要があります。これにより、メディアの再生に必要な gstreamer ファイルが追加されるため、AppImage バンドルのサイズが増加します。このフラグは現在、Ubuntu のビルド・システムでのみ完全な対応が行なわれています。アプリの実行時に必要となるかもしれないプラグインがすべて、自分のビルド・システムにインストールされていることを確認してください。
17+
18+
:::caution
19+
20+
[GStreamer]`ugly` パッケージ内のプラグインには、あなたの「アプリの一部として配布することが困難」になるかもしれないライセンスになっているものがあります。
21+
22+
<TranslationNote lang="ja">
23+
24+
**GStramer** のライセンス問題: GStreamer 本体は LGPL でライセンスされていますが、プラグインのライブラリ群の中には別のライセンスで配布されている場合があるようですので、使用されているプラグインにライセンスにご注意ください。ライセンス関連の詳細は [GStreamer website](英語サイト)を参照してください。
25+
26+
</TranslationNote>
27+
28+
:::
29+
30+
{/* TODO: Add some reference links for gst setup/plugins */}
31+
32+
## カスタム・ファイル
33+
34+
Tauriの「`resources` 機能」(「[追加ファイルの埋め込み](/ja/develop/resources/)」の章を参照)を用いずにカスタム・ファイルを AppImage に含めるためには、対象のファイルやフォルダのリストを `tauri.conf.json > bundle > linux > appimage > files` に指定します。この設定オブジェクトは、AppImage 内のパスを、あなたのファイルシステム上のファイルへのパスに、`tauri.conf.json` ファイルからの相対パスで展開(マッピング)します。以下が設定事例です:
35+
36+
```json title="tauri.conf.json"
37+
{
38+
"bundle": {
39+
"linux": {
40+
"appimage": {
41+
"files": {
42+
"/usr/share/README.md": "../README.md", // 「../README.md」ファイルを「<appimage>/usr/share/README.md」にコピー
43+
"/usr/assets": "../assets/" // 「../assets」ディレクトリのすべてを「<appimage>/usr/assets」にコピー
44+
}
45+
}
46+
}
47+
}
48+
}
49+
```
50+
51+
:::note
52+
53+
現時点では、宛先のパスは `/usr/` で始まる必要があることに注意してください。
54+
55+
:::
56+
57+
## ARM ベースのデバイス用 AppImages
58+
59+
Tauri が使用している AppImage ツールの「`linuxdeploy`」は、現在 ARM AppImage との[クロスコンパイルをサポートしていません]。つまり、ARM AppImage は ARM デバイス上またはエミュレータ上でのみビルドが可能となります。
60+
61+
アプリをビルドするためにエミュレーション環境の「QEMU」を利用するワークフローの事例については、[GitHub Action 設定ガイド](/ja/distribute/pipelines/github/#arm-runner-compilation) の章をご覧ください。ただし、この処理は非常に遅いため、Build Minutes(ビルド時間)が無料のパブリック・リポジトリでのみ推奨されます。プライベート・リポジトリでは、GitHub の「ARM ランナー」(上記リンク)の方がコスト効率が良く、セットアップもはるかに簡単です。
62+
63+
<TranslationNote lang="ja">
64+
65+
**QEMU** 読み「キューエミュ」。オープンソースの CPU/システム・エミュレータ。詳しくは [Wikipedia](https://ja.wikipedia.org/wiki/QEMU) を参照してください。
66+
67+
</TranslationNote>
68+
69+
[クロスコンパイルをサポートしていません]: https://github.com/linuxdeploy/linuxdeploy/issues/258
70+
[GStreamer]: https://ja.wikipedia.org/wiki/GStreamer
71+
[GStreamer website]: https://gstreamer.freedesktop.org/documentation/frequently-asked-questions/licensing.html?gi-language=c
72+
73+
<div style="text-align: right">
74+
【※ この日本語版は、「Feb 22, 2025 英語版」に基づいています】
75+
</div>
Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
---
2+
title: AUR
3+
sidebar:
4+
order: 1
5+
i18nReady: true
6+
---
7+
8+
import TranslationNote from '@components/i18n/TranslationNote.astro';
9+
10+
# Arch User Repository (AUR) に公開する
11+
12+
<TranslationNote lang="ja">
13+
14+
**AUR** = Arch User Repository: ArchLinux コミュニティが運営する Arch ユーザーのためのリポジトリの名称。ArchLinux Japan のサイトは [こちら](https://wiki.archlinux.jp/index.php/Arch_User_Repository)
15+
16+
</TranslationNote>
17+
18+
## 設定
19+
20+
まず最初に、`https://aur.archlinux.org` にアクセスしてアカウントを作成してください。必ず、適切な「SSH キー」を追加してください。次に、次のコマンドを使って空の Git リポジトリをクローンしてください。
21+
22+
```sh
23+
git clone https://aur.archlinux.org/your-repo-name
24+
```
25+
26+
上記の手順が完了したら、`PKGBUILD` という名前のファイルを作成します。ファイルの作成が完了したら、次のステップに進みます。
27+
28+
### PKGBUILD ファイルの書き方
29+
30+
```ini title="PKGBUILD"
31+
pkgname=<pkgname>
32+
pkgver=1.0.0
33+
pkgrel=1
34+
pkgdesc="アプリの説明(description)"
35+
arch=('x86_64' 'aarch64')
36+
url="https://github.com/<user>/<project>"
37+
license=('MIT')
38+
depends=('cairo' 'desktop-file-utils' 'gdk-pixbuf2' 'glib2' 'gtk3' 'hicolor-icon-theme' 'libsoup' 'pango' 'webkit2gtk-4.1')
39+
options=('!strip' '!emptydirs')
40+
install=${pkgname}.install
41+
source_x86_64=("${url}/releases/download/v${pkgver}/appname_${pkgver}_amd64.deb")
42+
source_aarch64=("${url}/releases/download/v${pkgver}/appname_${pkgver}_arm64.deb")
43+
```
44+
45+
- ファイルの先頭で「パッケージ名」を定義し、変数 `pkgname` に割り当てます。
46+
-`pkgver`」変数を設定します。通常、コードの保守性を高めるために、この変数をソース内の変数で使用するのが最適です。
47+
-`pkgdesc`」変数は、AUR リポジトリ・ページ上の変数で、訪問者にあなたのアプリで何が行なえるのかを伝えます。
48+
-`arch`」変数は、どの CPU アーキテクチャにあなたのパッケージをインストール可能かを提示します。
49+
-`url`」変数は必須ではありませんが、パッケージをよりプロフェッショナルに見せるのに役立ちます。
50+
-`install`」変数は、パッケージがインストール、削除、またはアップグレードされるときに実行される「.install スクリプト」の名前を指定します。
51+
-`depends`」変数には、アプリの実行に必要なライブラリ等のリストが格納されます。Tauri アプリを実行するには、上記で表示されているものすべての依存関係を含める必要があります。
52+
-`source`」変数は必須で、アップストリーム・パッケージの場所を定義します。変数名の末尾にアーキテクチャを追加することで、アーキテクチャ特定の `source` にすることができます。
53+
54+
### `.SRCINFO` の生成
55+
56+
あなたのリポジトリを AUR にプッシュするには、`.SRCINFO` ファイルを生成する必要があります。これは次のコマンドで実行できます。
57+
58+
```sh
59+
makepkg --printsrcinfo > .SRCINFO
60+
```
61+
62+
### テスト
63+
64+
アプリのテストは非常に簡単です。`PKGBUILD` ファイルと同じディレクトリ内で `makepkg` を実行し、機能するかどうかを確認するだけです。
65+
66+
### 公開
67+
68+
最後に、テスト・フェーズが終了したら、以下のコマンドを使用してアプリケーションを AUR(Arch User Repository)に公開できます。
69+
70+
```sh
71+
git add .
72+
73+
git commit -m "Initial Commit"
74+
75+
git push
76+
```
77+
78+
すべてがうまくいけば、あなたのリポジトリが AUR Web サイトに表示されるはずです。
79+
80+
## 実施例
81+
82+
### Debian パッケージからの抽出
83+
84+
```ini title="PKGBUILD"
85+
# Maintainer:
86+
# Contributor:
87+
pkgname=<pkgname>
88+
pkgver=1.0.0
89+
pkgrel=1
90+
pkgdesc="Description of your app"
91+
arch=('x86_64' 'aarch64')
92+
url="https://github.com/<user>/<project>"
93+
license=('MIT')
94+
depends=('cairo' 'desktop-file-utils' 'gdk-pixbuf2' 'glib2' 'gtk3' 'hicolor-icon-theme' 'libsoup' 'pango' 'webkit2gtk-4.1')
95+
options=('!strip' '!debug')
96+
install=${pkgname}.install
97+
source_x86_64=("${url}/releases/download/v${pkgver}/appname_${pkgver}_amd64.deb")
98+
source_aarch64=("${url}/releases/download/v${pkgver}/appname_${pkgver}_arm64.deb")
99+
sha256sums_x86_64=('ca85f11732765bed78f93f55397b4b4cbb76685088553dad612c5062e3ec651f')
100+
sha256sums_aarch64=('ed2dc3169d34d91188fb55d39867713856dd02a2360ffe0661cb2e19bd701c3c')
101+
package() {
102+
# パッケージ・データを抽出
103+
tar -xvf data.tar.gz -C "${pkgdir}"
104+
105+
}
106+
```
107+
108+
```ini title="my-tauri-app.install"
109+
post_install() {
110+
gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
111+
update-desktop-database -q
112+
}
113+
114+
post_upgrade() {
115+
post_install
116+
}
117+
118+
post_remove() {
119+
gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
120+
update-desktop-database -q
121+
}
122+
123+
```
124+
125+
### ソースからのビルド
126+
127+
```ini title="PKGBUILD"
128+
# Maintainer:
129+
pkgname=<pkgname>-git
130+
pkgver=<pkgver>
131+
pkgrel=1
132+
pkgdesc="Description of your app"
133+
arch=('x86_64' 'aarch64')
134+
url="https://github.com/<user>/<project>"
135+
license=('MIT')
136+
depends=('cairo' 'desktop-file-utils' 'gdk-pixbuf2' 'glib2' 'gtk3' 'hicolor-icon-theme' 'libsoup' 'pango' 'webkit2gtk-4.1')
137+
makedepends=('git' 'openssl' 'appmenu-gtk-module' 'libappindicator-gtk3' 'librsvg' 'cargo' 'pnpm' 'nodejs')
138+
provides=('<pkgname>')
139+
conflicts=('<binname>' '<pkgname>')
140+
source=("git+${url}.git")
141+
sha256sums=('SKIP')
142+
143+
pkgver() {
144+
cd <project>
145+
( set -o pipefail
146+
git describe --long --abbrev=7 2>/dev/null | sed 's/\([^-]*-g\)/r\1/;s/-/./g' ||
147+
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)"
148+
)
149+
}
150+
151+
prepare() {
152+
cd <project>
153+
pnpm install
154+
}
155+
156+
build() {
157+
cd <project>
158+
pnpm tauri build -b deb
159+
}
160+
161+
package() {
162+
cp -a <project>/src-tauri/target/release/bundle/deb/<project>_${pkgver}_*/data/* "${pkgdir}"
163+
}
164+
```
165+
166+
<div style="text-align: right">
167+
【※ この日本語版は、「Mar 29, 2025 英語版」に基づいています】
168+
</div>
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
title: CrabNebula クラウドで配布する
3+
sidebar:
4+
label: CrabNebula Cloud
5+
order: 1
6+
i18nReady: true
7+
---
8+
9+
import TranslationNote from '@components/i18n/TranslationNote.astro';
10+
11+
[CrabNebula] は、Tauri アプリケーション向けのサービスとツールを提供する公式 Tauri パートナーです。
12+
[CrabNebula Cloud]は、Tauri アップデーターとシームレスに統合されたアプリケーション配布プラットフォームです。
13+
14+
この「Cloud(クラウド)」では、アプリケーションのインストーラーと更新プログラムを世界中に配布できる「コンテンツ配信ネットワーク(CDN)」を提供しつつ、その一方で、コストパフォーマンスが良く、ダウンロード数の指標も公開しています。
15+
16+
CrabNebula Cloud サービスを利用すると、複数のリリース・チャネルや自分のアプリケーション Web サイト用ダウンロード・ボタンなどを始め、いろいろなものを簡単に実装できます。
17+
18+
「Cloud」を利用するための Tauri アプリの設定は簡単です: やるべきことは、「[Cloud ウェブサイト]」にあなたの GitHub アカウントでサインインし、「所属組織」と「アプリケーション」を作成、「リリース版」作成のためにそのCLI(コマンドライン・インターフェイス)をインストールし、Tauri バンドルをアップロードするだけです。
19+
さらには、[GitHub Action] も提供されており、GitHub ワークフローで CLI を使用するプロセスが簡素化されています。
20+
21+
詳細については、[CrabNebula Cloud ドキュメント](英語版)を参照してください。
22+
23+
[CrabNebula]: https://crabnebula.dev
24+
[CrabNebula Cloud]: https://crabnebula.dev/cloud/
25+
[GitHub Action]: https://github.com/crabnebula-dev/cloud-release/
26+
[Cloud ウェブサイト]: https://web.crabnebula.cloud/
27+
[CrabNebula Cloud ドキュメント]: https://docs.crabnebula.dev/cloud/
28+
29+
<div style="text-align: right">
30+
【※ この日本語版は、「Feb 22, 2025 英語版」に基づいています】
31+
</div>
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
title: Debian
3+
sidebar:
4+
order: 1
5+
i18nReady: true
6+
---
7+
8+
{/* Is this about building .deb files, creating PPAs, or adding something to the debian/ubuntu repos? */}
9+
10+
import TranslationNote from '@components/i18n/TranslationNote.astro';
11+
12+
## Debian(デビアン)
13+
14+
Tauri バンドラーによって生成される通常の [Debian] パッケージには、あなたのアプリケーションを Debian ベースの Linux ディストリビューションに配布するために必要なものがすべて含まれています。たとえば、アプリケーション・アイコンの定義、デスクトップ・ファイルの生成、`libwebkit2gtk-4.1-0``libgtk-3-0` の依存関係の指定(もしアプリケーションがシステム・トレイを使用しているのであれば `libappindicator3-1` の依存関係も)、などです。
15+
16+
### カスタム・ファイル
17+
18+
より多くの調整が必要な場合に備えて、Tauri は Debian パッケージの設定をいくつか公開しています。
19+
20+
あなたのアプリが他のシステム依存関係をも必要としている場合は、`tauri.conf.json > bundle > linux > deb` で指定できます。
21+
22+
Debian パッケージにカスタム・ファイルを含めるには、`tauri.conf.json > bundle > linux > deb > files` にファイルまたはフォルダのリストを指定します。設定オブジェクトは、Debian パッケージ内のパスを、あなたのファイルシステム上のファイルへのパスに、`tauri.conf.json` ファイルからの相対パスで展開(マッピング)します。以下が設定事例です:
23+
24+
```json
25+
{
26+
"bundle": {
27+
"linux": {
28+
"deb": {
29+
"files": {
30+
"/usr/share/README.md": "../README.md", // 「../README.md」ファイルを「/usr/share/README.md」にコピー
31+
"/usr/share/assets": "../assets/" // 「../assets」ディレクトリのすべてを「/usr/assets」にコピー
32+
}
33+
}
34+
}
35+
}
36+
}
37+
```
38+
39+
[Debian]: https://www.debian.or.jp/using/
40+
41+
<div style="text-align: right">
42+
【※ この日本語版は、「Feb 22, 2025 英語版」に基づいています】
43+
</div>

0 commit comments

Comments
 (0)