GNOME パッケージガイドライン

提供: ArchWiki
2020年12月31日 (木) 14:44時点におけるKusakata.bot2 (トーク | 投稿記録)による版 (Pkg/AUR テンプレートの更新)
ナビゲーションに移動 検索に移動

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

ソース URL

このトピックには、公式リポジトリAUR の両方で GNOME パッケージによって使用される最も一般的なソース URL が含まれています。例として、公式リポジトリ [1] および AUR で GNOME パッケージを検索してください。

リリースされた 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
makedepends=(git)
commit=hash_of_a_commit 
source=("git+https://gitlab.gnome.org/GNOME/$pkgname.git#commit=$_commit")
md5sums=('SKIP')

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

hash_of_a_commit を必要な Gitのコミットハッシュに置き換えます。

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

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

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

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

GSettings スキーマ

GConf スキーマは GSettings スキーマに移行したため、多くの GNOME アプリケーションは新しいスキーマファイルを使います。GSettings は dconf をバックエンドとして使うため、GSettings スキーマが含まれているパッケージは dconf を依存パッケージとする必要があります。新しい GSettings スキーマをシステムにインストールした場合、GSettings データベースを再構築する必要がありますが、パッケージングのときに行う必要はありません。

パッケージングの際に GSettings データベースが再構築されるのを避けるため ./configure では --disable-schemas-compile スイッチを使ってください。

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

Scrollkeeper ドキュメント

GNOME 2.20 から scrollkeeper を利用する必要はなくなりました。rarianAUR が直接 OMF ファイルを読み込みます。現在 Scrollkeeper-update はダミーになっています。makedepend に gnome-doc-utilsAUR>=0.11.2 を追加すること以外は何もしなくてかまいません。

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

GTK アイコンキャッシュ

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

.install ファイルから gtk-update-icon-cache を実行してはいけません。gtk-update-icon-cache=3.20.3-2 からアイコンキャッシュは pacman フックによって自動的に更新されます。

.desktop ファイル

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

.install ファイルから update-desktop-database を実行してはいけません。desktop-file-utils=0.22-2 からデータベースは pacman フックによって自動的に更新されます。

.install ファイル

以前は glib-compile-schemas, gtk-update-icon-cache, update-desktop-database などのコマンドを呼び出してキャッシュやデータベースをインストール・更新するために GNOME パッケージの多くで .install ファイルが使われていました。pacman 5.0 になってフックが実装されてからはパッケージのインストール時に自動的にコマンドが実行されるため不要になりました。

同じコマンドが2回実行されてしまうのを防ぐため、.install ファイルから上記のコマンドを削除するようにしてください。