Flatpak のパッケージの作り方について、簡単な GTK+ (Vala) の GUI プログラムをデプロイするところまでを、ブログ記事 [1] [2] [3] にまとめました。
これであとは Flatpak のパッケージ作りに専念できるかというと、そうでもありません。例えば GNOME デスクトップでアプリの一覧にインストールしたアプリのアイコンを表示して、これをクリックして起動する方法について触れていないからです。
今回は、その触れていなかったところをテーマとします。
GUI アプリを Flatpak パッケージにして、これをインストールして GNOME デスクトップのアプリ一覧からアイコンをクリックして起動できるようにします。
使用した OS の環境は下記の通りです。
Fedora Silverblue 32 | x86_64 | |
» flatpak-1.6.5-1.fc32.x86_64 | ||
» flatpak-builder-1.0.10-1.fc32.x86_64 |
できそこないの電卓プログラム
いつまでも Hello World! のようなプログラムをサンプルに使うのも芸がないので、今回は電卓プログラムを用意しました。と言っても、本記事を作っている時点は GUI 部分だけで、電卓機能を実装していません。😅
そんなできそこないのプログラムですが、形だけあればサンプルに使えるので、下記 github に公開しました。後追いで完動するように仕上げます。🙏
そう、今回の Flatpak 用のマニフェストでは、github の上記リポジトリにあるソースを読み込んでビルドします。
マニフェスト
今回のマニフェストは次のとおりです。
今回は、マニフェストの他に、デスクトップ用のファイル (Calculator.desktop) とアイコン用のイメージファイル (Calculator.svg) を加えています。
サンプルに使う電卓プログラムとは別のリポジトリを github に作ってありますので、下記サイトのリポジトリをクローンするか、zip ファイルをダウンロードして解凍してご利用ください。
- https://github.com/bitwalk123/com.blogspot.bitwalk.Calculator
GUI アプリをインストールして、デスクトップアプリとして扱うときは desktop ファイルの設定が重要になります。
マニファストでは Calculator.desktop を Flatpak の /app/share/applications/com.blogspot.bitwalk.Calculator.desktop へインストールするように記述しています。
マニフェストは desktop ファイルが参照している、アプリのアイコンとして使用する画像ファイルもインストールするよう記述しています。これは SVG 形式のファイル Calculator.svg で、/app/share/icons/hicolor/scalable/apps/com.blogspot.bitwalk.Calculator.svg へインストールしています。
アイコンには PNG 形式のファイルもアイコンに使用できますが、この場合は、いくつもの画像サイズを用意する必要があります。
Flatpak パッケージのビルドとデプロイ
ここでは、作業ディレクトリ $HOME/Projects/com.blogspot.bitwalk.Calculator 内で作業するものとして説明を進めます。ディレクトリ内は次のようになっています。
[bitwalk@silverblue com.blogspot.bitwalk.Calculator]$ ls Calculator.desktop Calculator.svg README.md com.blogspot.bitwalk.Calculator.yaml [bitwalk@silverblue com.blogspot.bitwalk.Calculator]$
作業ディレクトリ内 build-dir にビルド
まず、作業ディレクトリ内 build-dir にビルドします。
[bitwalk@silverblue com.blogspot.bitwalk.Calculator]$ flatpak-builder build-dir com.blogspot.bitwalk.Calculator.yaml Downloading sources Initialized empty Git repository in /var/home/bitwalk/Projects/com.blogspot.bitwalk.Calculator/.flatpak-builder/git/https_github.com_bitwalk123_vala-calculator.git-SE6FP0/ Fetching git repo https://github.com/bitwalk123/vala-calculator.git, ref refs/heads/master ... (途中省略) ... Initializing build dir Committing stage init to cache Starting build of com.blogspot.bitwalk.Calculator ======================================================================== Building module icons in /var/home/bitwalk/Projects/com.blogspot.bitwalk.Calculator/.flatpak-builder/build/icons-1 ======================================================================== Running: install -Dm644 Calculator.svg /app/share/icons/hicolor/scalable/apps/com.blogspot.bitwalk.Calculator.svg Committing stage build-icons to cache ======================================================================== Building module desktop in /var/home/bitwalk/Projects/com.blogspot.bitwalk.Calculator/.flatpak-builder/build/desktop-1 ======================================================================== Running: install -Dm644 Calculator.desktop /app/share/applications/com.blogspot.bitwalk.Calculator.desktop Committing stage build-desktop to cache ======================================================================== Building module calculator in /var/home/bitwalk/Projects/com.blogspot.bitwalk.Calculator/.flatpak-builder/build/calculator-1 ======================================================================== Already on 'master' The Meson build system Version: 0.53.2 Source dir: /run/build/calculator Build dir: /run/build/calculator/_flatpak_build Build type: native build Project name: Vala Calculator Project version: 0.1 Appending CFLAGS from environment: '-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' ... (途中省略) ... Build targets in project: 1 Found ninja-1.9.0 at /usr/bin/ninja [3/3] Linking target calculator. [0/1] Installing files. Installing calculator to /app/bin ... (途中省略) ... Committing stage cleanup to cache Finishing app Exporting share/applications/com.blogspot.bitwalk.Calculator.desktop Exporting share/icons/hicolor/scalable/apps/com.blogspot.bitwalk.Calculator.svg Please review the exported files and the metadata Committing stage finish to cache Pruning cache [bitwalk@silverblue com.blogspot.bitwalk.Calculator]$
ビルドの動作確認
動作確認をしておきます。
[bitwalk@silverblue com.blogspot.bitwalk.Calculator]$ flatpak-builder --run build-dir com.blogspot.bitwalk.Calculator.yaml calculator (calculator:2): dbind-WARNING **: 20:16:14.656: AT-SPI: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: org.freedesktop.DBus.Error.ServiceUnknown [bitwalk@silverblue com.blogspot.bitwalk.Calculator]$
ローカル・リポジトリにビルド
ローカル・リポジトリ $HOME/repo に再ビルドします。
[bitwalk@silverblue com.blogspot.bitwalk.Calculator]$ flatpak-builder --repo=$HOME/repo --force-clean build-dir com.blogspot.bitwalk.Calculator.yaml
Emptying app dir 'build-dir'
Downloading sources
Fetching git repo https://github.com/bitwalk123/vala-calculator.git, ref refs/heads/master
remote: Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
Starting build of com.blogspot.bitwalk.Calculator
Cache hit for icons, skipping build
Cache hit for desktop, skipping build
Cache hit for calculator, skipping build
Cache hit for cleanup, skipping
Cache hit for finish, skipping
Everything cached, checking out from cache
Exporting com.blogspot.bitwalk.Calculator to repo
Commit: c4a7566f37a3874b9f13aa2ceff1b221fb3b4601d58397d16bf42d6b0d3c65b9
Metadata Total: 37
Metadata Written: 1
Content Total: 7
Content Written: 0
Content Bytes Written: 0 (0 bytes)
Exporting com.blogspot.bitwalk.Calculator.Debug to repo
Commit: d427ed0b839dd77f98e201efee052c9ab604b7667166a3d78998541d22347932
Metadata Total: 15
Metadata Written: 1
Content Total: 4
Content Written: 0
Content Bytes Written: 0 (0 bytes)
Pruning cache
[bitwalk@silverblue com.blogspot.bitwalk.Calculator]$
リモート・リポジトリにインストール(デプロイ)
リモート・リポジトリにインストール(デプロイ)します。
[bitwalk@silverblue com.blogspot.bitwalk.Calculator]$ flatpak --user install bitwalk com.blogspot.bitwalk.Calculator Looking for matches… com.blogspot.bitwalk.Calculator permissions: ipc network pulseaudio wayland x11 dri file access [1] dbus access [2] bus ownership [3] [1] xdg-run/dconf, ~/.config/dconf:ro, ~/.local/share/decsync [2] ca.desrt.dconf, org.freedesktop.Notifications, org.freedesktop.secrets, org.gnome.OnlineAccounts [3] org.gnome.FeedReader.ArticleView ID Branch Op Remote Download 1. [✓] com.blogspot.bitwalk.Calculator master i bitwalk 1.0 kB / 8.3 kB Installation complete. [bitwalk@silverblue com.blogspot.bitwalk.Calculator]$ flatpak list --user Name Application ID Version Branch Calculator com.blogspot.bitwalk.Calculator master Hello com.blogspot.bitwalk.Hello master Hello org.gnu.Hello master [bitwalk@silverblue com.blogspot.bitwalk.Calculator]$
GNOME のアプリ一覧
GNOME デスクトップ画面の「アクティビティ」から「アプリケーションを表示する」を選んで、アプリ一覧を表示させて Calculator のアイコンが表示されていることを確認します。もし表示されていなければ、念の為、再起動して確認してください。アイコンを確認できればそれをクリックしてアプリが起動すれば OK です。
以上で、ローカルでデプロイした Flatpak のパッケージをデスクトップ・アプリとして利用できるようになりました。
なお、本ブログで紹介している内容は、github のリポジトリにアップした情報を元に説明しています。そのため、予告無く内容が更新され、本記事の説明と乖離が出てくる可能性があります。
参考サイト
- bitWalk's: はじめての Flatpak パッケージ作成 [2020-08-08]
- bitWalk's: はじめての Flatpak パッケージ作成 (2) [2020-08-10]
- bitWalk's: はじめての Flatpak パッケージ作成 (3) [2020-08-11]
にほんブログ村
0 件のコメント:
コメントを投稿