コンテンツにスキップ

「GNOME パッケージガイドライン」の版間の差分

提供: ArchWiki
削除された内容 追加された内容
Pkg/AUR テンプレートの更新
Kgx (トーク | 投稿記録)
 
(同じ利用者による、間の12版が非表示)
1行目: 1行目:
[[Category:パッケージ開発]]
[[Category:パッケージ開発]]
[[en:GNOME package guidelines]]
[[en:GNOME package guidelines]]
[[it:GNOME package guidelines]]
[[pt:GNOME package guidelines]]
[[ru:GNOME package guidelines]]
{{Package Guidelines}}
{{Package Guidelines}}


Arch Linux では [[GNOME]] パッケージは特定の決まり事に従っています。
Arch Linux では [[GNOME]] パッケージは特定の決まり事に従っています。


==ソース URL ==
== ソース URL ==


GNOME パッケージは通常、2 つのソース URL スキームに従います。GNOME の FTP サーバーに保存されているリリース済みの tarball と、ソフトウェアの Git リポジトリ内の特定のコミットです。
このトピックには、[[公式リポジトリ]] と [[AUR]] の両方で GNOME パッケージによって使用される最も一般的なソース URL が含まれています。例として、公式リポジトリ [https://www.archlinux.org/packages/?q=gnome] および AUR [https://aur.archlinux.org/packages/?K=gnome で GNOME パッケージを検索してください。 ]


===リリースされた tarball を使用する===
=== リリースされた tarball を使用する ===


リリースされた tarball をダウンロードする場合、次のソース配列を使用して https://download.gnome.org から入手できます。
リリースされた tarball をダウンロードする場合、次のソース配列を使用して https://download.gnome.org から入手できます。
16行目: 17行目:
<nowiki>source=("https://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz")</nowiki>
<nowiki>source=("https://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz")</nowiki>


ここで、 ''$ {pkgver%*}'' は、{{ic|pkgver}} のサフィックス (''micro''パッケージ) を削除することにより、''major'' ''minor'' パッケージバージョンを返します。) たとえば ''pkgver = 3.28.0''の場合 ''$ {pkgver%*}'' は ''3.28'' を返します。
ここで、{{ic|${pkgver%.*} }} は、{{ic|pkgver}} のサフィックス (''micro''パッケージ) を削除することにより、''major'' ''minor'' パッケージバージョンを返します。) たとえば ''pkgver = 3.28.0''の場合 {{ic|${pkgver%.*} }} は ''3.28'' を返します。


=== Git リポジトリからのコミットの使用===
=== Git リポジトリからのコミットの使用 ===


もう1つの一般的な方法は、GNOME ソフトウェアのソースコードを git リポジトリから特定のコミットをソースとして使用することです。特定のコミットを設定する Pacman の機能 ({{man|5|PKGBUILD|USING VCS SOURCES}} を参照) PKGBUILD 最新の開発コミットに従わず、{{ic|pkgver}} フィールドを更新しないため、VCS パッケージとして分類されません。代わりに指定されたコミットハッシュのソース
もう1つの一般的な方法は、GNOME ソフトウェアのソースコードを git リポジトリから特定のコミットをソースとして使用することです。特定のコミットを設定する Pacman の機能 ({{man|5|PKGBUILD|USING VCS SOURCES}} を参照) により PKGBUILD 最新の開発コミットに従わず、代わりに指定されたコミットハッシュからのソースを使用して {{ic|pkgver}} フィールドを更新しないため、VCS パッケージとして分類されません。


以下のテンプレートをご覧ください
以下のテンプレートを参照してください:
{{hc|1=PKGBUILD|2=
{{hc|1=PKGBUILD|2=
url="<nowiki>https://gitlab.gnome.org/GNOME/$pkgname</nowiki>"
makedepends=(git)
makedepends=(git)
commit=''hash_of_a_commit'' <nowiki>
_commit=''hash_of_a_commit'' # tags/''X.Y.Z'' <nowiki>
source=("git+https://gitlab.gnome.org/GNOME/$pkgname.git#commit=$_commit")
source=("git+${url}.git#commit=$_commit")
md5sums=('SKIP')
md5sums=('SKIP')


35行目: 37行目:
}}
}}


''hash_of_a_commit'' を必要な Gitコミットハッシュに置き換えます
{{ic|''hash_of_a_commit''}} を必要な Git コミットハッシュに置き換え、パッケージ化するパッケージのニーズに合わせて {{ic|pkgver()}} ステートメントを置き換えます ([[VCS パッケージガイドライン#Git]] を参照)


ソースは ''git'' を使用してダウンロードされるため、他の VCS パッケージの場合と同様に、{{pkg|git}} が makedepends にあり、チェックサムが 'SKIP' に設定されている必要があります。 {{ic|pkgver()}} 関数を使用することを強くお勧めします。そのため、提供されるコミットハッシュに応じて {{ic|pkgver}} を設定します。
ソースは ''git'' を使用してダウンロードされるため、他の VCS パッケージの場合と同様に、{{pkg|git}} が makedepends にあり、チェックサムが {{ic|'SKIP'}} に設定されている必要があります。 {{ic|pkgver()}} 関数を使用することを強くお勧めします。そのため、提供されるコミットハッシュに応じて {{ic|pkgver}} を設定します。


{{ノート|GNOME は以前は https://git.gnome.org, を使用していましたが、その後 https://gitlab.gnome.org [https://www.gnome.org/news/2018/05/gnome-moves-to-gitlab-2/] に移行しました。古いリンクは自動的に新しいgitlab.gnome.org ドメインにリダイレクトされますが、ソース URL を手動で更新することをお勧めします。}}
{{ノート|GNOME は以前は https://git.gnome.org, を使用していましたが、その後 https://gitlab.gnome.org [https://www.gnome.org/news/2018/05/gnome-moves-to-gitlab-2/] に移行しました。古いリンクは自動的に新しいgitlab.gnome.org ドメインにリダイレクトされますが、ソース URL を手動で更新することをお勧めします。}}

== Meson と GNU ビルドシステム ==

歴史的に、GNOME はアプリケーションを構築するために [[GNU#ビルドシステム|GNU ビルドシステム]] を使用していました。現在アクティブなアプリケーションがいくつかあり、まだ GNU Build System を使用している非アクティブなアプリケーションも多数ありますが、現在アクティブな GNOME アプリケーションのほとんどは Meson Build System に移行されました。

ほとんどの GNOME アプリケーションのパッケージ化ニーズに適合する手順については、[[Meson パッケージガイドライン]] を参照してください。

{{Note|GNOME アプリケーションはさまざまなプログラミング言語で記述されていますが、その GNOME アプリケーションに設定されているビルドシステムが Meson である場合は、Meson を使い続ける必要があります。たとえば、Rust 言語で書かれた GNOME アプリケーションには [[Rust パッケージガイドライン]] を使用しないでください。ビルドには ''rustc'' や ''cargo'' ではなく ''meson'' を使用する必要があります。}}

== GSettings スキーマ ==

GSettings は GNOME アプリケーションで使用される現在のスキーマで、GUI ツール {{pkg|dconf}} または CLI ツール ''gsettings'' ({{Pkg|glib2}} によって提供されます) を使用してアクセス/読み取り/編集できます。依存関係としてすでにインストールされている可能性があります。) GSettings には、以前はパッケージャーの注意が必要でしたが、現在では介入は必要ありません。

いくつかの見解:
* GSettings を使用するアプリケーションは通常 GTK ({{Pkg|gtk3}} 以降) に依存しているため、GSettings 関連の依存関係は通常すでに満たされています。
* {{ic|./configure}} の {{ic|--disable-schemas-compile}} フラグは、{{ic|package()}} 関数での GSettings データベースの再コンパイルを回避するために必要でしたが、現在は必要ありませんこれは、主にビルド​​システムとして Meson を使用するアプリケーションの GNOME アプリケーションに適用されます。

{{Warning|1={{ic|.install}} ファイルから {{Ic|glib-compile-schemas}} を実行してはいけません。{{Pkg|glib2}}=2.48.0-2 から GConf スキーマデータベースは [[Pacman#フック|pacman フック]]によって自動的に再構築されます。}}


== GConf スキーマ ==
== GConf スキーマ ==

一部の GNOME パッケージは [[wikipedia:GConf#Schemas|GConf スキーマ]]をインストールします。そのようなパッケージは {{AUR|gconf}} に依存します。
一部の GNOME パッケージは [[wikipedia:GConf#Schemas|GConf スキーマ]]をインストールします。そのようなパッケージは {{AUR|gconf}} に依存します。


Gconf スキーマはシステムの GConf データベースにインストールされますが、それは避けねばなりません。パッケージによっては {{ic|./configure}} で {{Ic|--disable-schemas-install}} スイッチを使えるようになっていますが、これが上手く機能することは稀です。その代わりに、gconftool-2 には {{Ic|GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL}} という変数が存在し、この変数が設定された場合、gconftool-2 はデータベースをアップデートしません。
Gconf スキーマはシステムの GConf データベースにインストールされますが、それは避けねばなりません。パッケージによっては {{ic|./configure}} で {{Ic|--disable-schemas-install}} スイッチを使えるようになっていますが、これが上手く機能することは稀です。その代わりに、''gconftool-2'' には {{Ic|GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL}} という変数が存在し、この変数が設定された場合、''gconftool-2'' はデータベースをアップデートしません。


スキーマファイルをインストールするパッケージを作成するときは、PKGBUILD のパッケージのインストールの段階で以下を使ってください:
スキーマファイルをインストールするパッケージを作成するときは、PKGBUILD のパッケージのインストールの段階で以下を使ってください:
50行目: 71行目:
{{Bc|1=make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR=${pkgdir} install}}
{{Bc|1=make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR=${pkgdir} install}}


PKGBUILD の {{ic|package()}} 関数
{{ic|.install}} ファイルから {{Ic|gconfpkg}} を実行してはいけません。{{AUR|gconf}}=3.2.6-4 から GConf スキーマは [[Pacman#フック|pacman フック]]によって (GNOME パッケージのインストール・削除時に) 自動的にインストール・削除されます。


{{Warning|1={{ic|.install}} ファイルから {{Ic|gconfpkg}} を実行してはいけません。{{AUR|gconf}}=3.2.6-4 から GConf スキーマは [[Pacman#フック|pacman フック]]によって (GNOME パッケージのインストール・削除時に) 自動的にインストール・削除されます。}}
== GSettings スキーマ ==
GConf スキーマは GSettings スキーマに移行したため、多くの GNOME アプリケーションは新しいスキーマファイルを使います。GSettings は dconf をバックエンドとして使うため、GSettings スキーマが含まれているパッケージは {{Pkg|dconf}} を依存パッケージとする必要があります。新しい GSettings スキーマをシステムにインストールした場合、GSettings データベースを再構築する必要がありますが、パッケージングのときに行う必要はありません。


== Scrollkeeper ドキュメント ==
パッケージングの際に GSettings データベースが再構築されるのを避けるため {{ic|./configure}} では {{Ic|--disable-schemas-compile}} スイッチを使ってください。


現在、GNOME アプリケーションは [http://scrollkeeper.sourceforge.net/ ScrollKeeper] を使用していませんが、そのドキュメントを備えた GTK2 ベースのアプリケーションに遭遇する可能性があります。
{{ic|.install}} ファイルから {{Ic|glib-compile-schemas}} を実行してはいけません。{{Pkg|glib2}}=2.48.0-2 から GConf スキーマデータベースは [[Pacman#フック|pacman フック]]によって自動的に再構築されます。


GNOME 2.20 から scrollkeeper を利用する必要はなくなりました。{{AUR|rarian}} が直接 OMF ファイルを読み込みます。現在 Scrollkeeper-update はダミーになっています。唯一の要件は、makedepends 配列に {{AUR|gnome-doc-utils}} を含めることです
== Scrollkeeper ドキュメント ==
GNOME 2.20 から scrollkeeper を利用する必要はなくなりました。{{AUR|rarian}} が直接 OMF ファイルを読み込みます。現在 Scrollkeeper-update はダミーになっています。makedepend に {{AUR|gnome-doc-utils}}>=0.11.2追加すること以外は何もしなくてかまいません


{{ic|./configure}} から {{Ic|--disable-scrollkeeper}} スイッチを使うことで無効化できます。
{{ic|./configure}} から {{Ic|--disable-scrollkeeper}} スイッチを使うことで無効化できます。


== GTK アイコンキャッシュ ==
== GTK アイコンキャッシュ ==
パッケージが hicolor アイコンテーマにアイコンをインストールする場合があります。パッケージを {{Pkg|gtk-update-icon-cache}} に依存するようにしてください。


{{ic|.install}} イル{{Ic|gtk-update-icon-cache}}実行してはいけません。{{Pkg|gtk-update-icon-cache}}=3.20.3-2 からアイコンキャッシュは [[Pacman#フック|pacman フック]]よっ自動的に更新されます。
多くのグラィカル GNOME アプリケーションはシステムにアコンをインストーし、それのアイコンは ''gtk-update-icon-cache'' ツールしてアイコンキャッシュに含まれます。アイコンが追加また削除されるたび、このツールを使用しキャッシュが更新されます。

{{Note|
* {{ic|.install}} ファイルから {{Ic|gtk-update-icon-cache}} を実行してはいけません。{{Pkg|gtk-update-icon-cache}}&#x3D;3.20.3-2. からアイコンキャッシュは [[Pacman#フック|pacman フック]] によって自動的に更新されます。
* この依存関係は {{Pkg|gtk4}} などのパッケージによって満たされるため、パッケージは {{Pkg|gtk-update-icon-cache}} に依存する必要はありません。
}}


== .desktop ファイル ==
== .desktop ファイル ==
多くのパッケージは Freedesktop.org 互換の {{Ic|.desktop}} ファイルをインストールし MimeType エントリを登録します。ようなパッケージ {{Pkg|desktop-file-utils}} を依存パッケジとする必要があります。


多くのパッケージはFreedesktop.org 互換ある {{ic|.desktop}} ファイルをインストールし、そのファイルに MimeType エントリを登録します。これら情報タベースに保存され、追加または削除されるたびに更新する必要があります。これは ''update-desktop-database'' ツールの機能です。
{{ic|.install}} ファイルから {{Ic|update-desktop-database}} を実行してはいけません。{{Pkg|desktop-file-utils}}=0.22-2 からデータベースは [[Pacman#フック|pacman フック]]によって自動的に更新されます。

{{Note|
* {{Pkg|desktop-file-utils}}&#x3D;0.22-2 以降、データベースは [[Pacman#フック|pacman フック]] 経由で自動的に更新されるため、.install ファイルで ''update-desktop-database'' を呼び出さないでください。
* この依存関係は {{Pkg|gtk4}} などのパッケージによって満たされるため、パッケージは {{Pkg|desktop-file-utils}} に依存する必要は ''ありません''。
}}

== AppStream およびメタ情報ファイル ==

他の多くのアプリケーションと同様、ほとんどの GNOME アプリケーションは Freedesktop.org の [https://www.freedesktop.org/software/appstream/docs/AppStream 仕様] に準拠しており、アプリケーションの説明がアプリケーションセンターに表示されるようにメタ情報ファイルを提供しています。{{Pkg|gnome-software}} や [https://flathub.org Flathub] など。


GNOME アプリケーションは通常、[[Meson パッケージガイドライン#check()|check()]] 関数で {{ic|meson test}} が呼び出されたときに ''appstream-util'' ツールを使用してメタ情報ファイルを検証します。{{Pkg|appstream-glib}} がインストールされていない場合、この特定の検証が実行されなくなるだけです (つまり、エラーが出てもビルドプロセスを中断しません)
== .install ファイル ==


次の 2 つの方法を使用して、アプリケーションによって ''appstream-util'' が使用されていることを確認できます。
以前は {{Ic|glib-compile-schemas}}, {{Ic|gtk-update-icon-cache}}, {{Ic|update-desktop-database}} などのコマンドを呼び出してキャッシュやデータベースをインストール・更新するために GNOME パッケージの多くで {{ic|.install}} ファイルが使われていました。pacman 5.0 になって[[Pacman#フック|フック]]が実装されてからはパッケージのインストール時に自動的にコマンドが実行されるため不要になりました。
* 1 つ目の方法は、{{ic|grep -R appstream-util}} を実行するか、{{ic|data/meson.build}} ファイルを調べて、''appstream-util'' のソースコードを調べることです。
* もう 1 つの方法は、ビルドプロセスを読み取り、次を探します。{{bc|Program appstream-util found: NO}}


{{Pkg|appstream-glib}} を checkdepends 配列に追加してメタ情報ファイルを検証します。
同じコマンドが2回実行されてしまうのを防ぐため、{{ic|.install}} ファイルから上記のコマンドを削除するようにしてください。

2025年2月10日 (月) 02:12時点における最新版

Arch Linux では GNOME パッケージは特定の決まり事に従っています。

ソース URL

GNOME パッケージは通常、2 つのソース URL スキームに従います。GNOME の FTP サーバーに保存されているリリース済みの tarball と、ソフトウェアの Git リポジトリ内の特定のコミットです。

リリースされた tarball を使用する

リリースされた tarball をダウンロードする場合、次のソース配列を使用して https://download.gnome.org から入手できます。

source=("https://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz")

ここで、${pkgver%.*} は、pkgver のサフィックス (microパッケージ) を削除することにより、major minor パッケージバージョンを返します。) たとえば pkgver = 3.28.0の場合 ${pkgver%.*} 3.28 を返します。

Git リポジトリからのコミットの使用

もう1つの一般的な方法は、GNOME ソフトウェアのソースコードを git リポジトリから特定のコミットをソースとして使用することです。特定のコミットを設定する Pacman の機能 (PKGBUILD(5) § USING VCS SOURCES を参照) により PKGBUILD は最新の開発コミットに従わず、代わりに指定されたコミットハッシュからのソースを使用して pkgver フィールドを更新しないため、VCS パッケージとして分類されません。

以下のテンプレートを参照してください:

PKGBUILD
url="https://gitlab.gnome.org/GNOME/$pkgname"
makedepends=(git)
_commit=hash_of_a_commit  # tags/X.Y.Z 
source=("git+${url}.git#commit=$_commit")
md5sums=('SKIP')

pkgver() {
  cd $pkgname
  git describe --tags | sed 's/-/+/g'
}

hash_of_a_commit を必要な Git コミットハッシュに置き換え、パッケージ化するパッケージのニーズに合わせて pkgver() ステートメントを置き換えます (VCS パッケージガイドライン#Git を参照)

ソースは git を使用してダウンロードされるため、他の VCS パッケージの場合と同様に、git が makedepends にあり、チェックサムが 'SKIP' に設定されている必要があります。 pkgver() 関数を使用することを強くお勧めします。そのため、提供されるコミットハッシュに応じて pkgver を設定します。

ノート GNOME は以前は https://git.gnome.org, を使用していましたが、その後 https://gitlab.gnome.org [1] に移行しました。古いリンクは自動的に新しいgitlab.gnome.org ドメインにリダイレクトされますが、ソース URL を手動で更新することをお勧めします。

Meson と GNU ビルドシステム

歴史的に、GNOME はアプリケーションを構築するために GNU ビルドシステム を使用していました。現在アクティブなアプリケーションがいくつかあり、まだ GNU Build System を使用している非アクティブなアプリケーションも多数ありますが、現在アクティブな GNOME アプリケーションのほとんどは Meson Build System に移行されました。

ほとんどの GNOME アプリケーションのパッケージ化ニーズに適合する手順については、Meson パッケージガイドライン を参照してください。

ノート GNOME アプリケーションはさまざまなプログラミング言語で記述されていますが、その GNOME アプリケーションに設定されているビルドシステムが Meson である場合は、Meson を使い続ける必要があります。たとえば、Rust 言語で書かれた GNOME アプリケーションには Rust パッケージガイドライン を使用しないでください。ビルドには rustccargo ではなく meson を使用する必要があります。

GSettings スキーマ

GSettings は GNOME アプリケーションで使用される現在のスキーマで、GUI ツール dconf または CLI ツール gsettings (glib2 によって提供されます) を使用してアクセス/読み取り/編集できます。依存関係としてすでにインストールされている可能性があります。) GSettings には、以前はパッケージャーの注意が必要でしたが、現在では介入は必要ありません。

いくつかの見解:

  • GSettings を使用するアプリケーションは通常 GTK (gtk3 以降) に依存しているため、GSettings 関連の依存関係は通常すでに満たされています。
  • ./configure--disable-schemas-compile フラグは、package() 関数での GSettings データベースの再コンパイルを回避するために必要でしたが、現在は必要ありませんこれは、主にビルド​​システムとして Meson を使用するアプリケーションの GNOME アプリケーションに適用されます。
警告 .install ファイルから glib-compile-schemas を実行してはいけません。glib2=2.48.0-2 から GConf スキーマデータベースは pacman フックによって自動的に再構築されます。

GConf スキーマ

一部の GNOME パッケージは GConf スキーマをインストールします。そのようなパッケージは gconfAUR に依存します。

Gconf スキーマはシステムの GConf データベースにインストールされますが、それは避けねばなりません。パッケージによっては ./configure--disable-schemas-install スイッチを使えるようになっていますが、これが上手く機能することは稀です。その代わりに、gconftool-2 には GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL という変数が存在し、この変数が設定された場合、gconftool-2 はデータベースをアップデートしません。

スキーマファイルをインストールするパッケージを作成するときは、PKGBUILD のパッケージのインストールの段階で以下を使ってください:

make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR=${pkgdir} install

PKGBUILD の package() 関数

警告 .install ファイルから gconfpkg を実行してはいけません。gconfAUR=3.2.6-4 から GConf スキーマは pacman フックによって (GNOME パッケージのインストール・削除時に) 自動的にインストール・削除されます。

Scrollkeeper ドキュメント

現在、GNOME アプリケーションは ScrollKeeper を使用していませんが、そのドキュメントを備えた GTK2 ベースのアプリケーションに遭遇する可能性があります。

GNOME 2.20 から scrollkeeper を利用する必要はなくなりました。rarianAUR が直接 OMF ファイルを読み込みます。現在 Scrollkeeper-update はダミーになっています。唯一の要件は、makedepends 配列に gnome-doc-utilsAUR を含めることです。

./configure から --disable-scrollkeeper スイッチを使うことで無効化できます。

GTK アイコンキャッシュ

多くのグラフィカル GNOME アプリケーションはシステムにアイコンをインストールし、それらのアイコンは gtk-update-icon-cache ツールを介してアイコンキャッシュに含まれます。アイコンが追加または削除されるたびに、このツールを使用してキャッシュが更新されます。

ノート
  • .install ファイルから gtk-update-icon-cache を実行してはいけません。gtk-update-icon-cache=3.20.3-2. からアイコンキャッシュは pacman フック によって自動的に更新されます。
  • この依存関係は gtk4 などのパッケージによって満たされるため、パッケージは gtk-update-icon-cache に依存する必要はありません。

.desktop ファイル

多くのパッケージは、Freedesktop.org と互換性のある .desktop ファイルをインストールし、そのファイルに MimeType エントリを登録します。これらの情報はデータベースに保存され、追加または削除されるたびに更新する必要があります。これは update-desktop-database ツールの機能です。

ノート
  • desktop-file-utils=0.22-2 以降、データベースは pacman フック 経由で自動的に更新されるため、.install ファイルで update-desktop-database を呼び出さないでください。
  • この依存関係は gtk4 などのパッケージによって満たされるため、パッケージは desktop-file-utils に依存する必要は ありません

AppStream およびメタ情報ファイル

他の多くのアプリケーションと同様、ほとんどの GNOME アプリケーションは Freedesktop.org の 仕様 に準拠しており、アプリケーションの説明がアプリケーションセンターに表示されるようにメタ情報ファイルを提供しています。gnome-softwareFlathub など。

GNOME アプリケーションは通常、check() 関数で meson test が呼び出されたときに appstream-util ツールを使用してメタ情報ファイルを検証します。appstream-glib がインストールされていない場合、この特定の検証が実行されなくなるだけです (つまり、エラーが出てもビルドプロセスを中断しません)

次の 2 つの方法を使用して、アプリケーションによって appstream-util が使用されていることを確認できます。

  • 1 つ目の方法は、grep -R appstream-util を実行するか、data/meson.build ファイルを調べて、appstream-util のソースコードを調べることです。
  • もう 1 つの方法は、ビルドプロセスを読み取り、次を探します。
    Program appstream-util found: NO

appstream-glib を checkdepends 配列に追加してメタ情報ファイルを検証します。