「GNOME パッケージガイドライン」の版間の差分
(同期) |
(英語版と同期してソース URLを翻訳して追加) |
||
5行目: | 5行目: | ||
Arch Linux では [[GNOME]] パッケージは特定の決まり事に従っています。 |
Arch Linux では [[GNOME]] パッケージは特定の決まり事に従っています。 |
||
+ | |||
+ | ==ソース URL == |
||
+ | |||
+ | このトピックには、[[公式リポジトリ]] と [[AUR]] の両方で GNOME パッケージによって使用される最も一般的なソース URL が含まれています。例として、公式リポジトリ [https://www.archlinux.org/packages/?q=gnome] および AUR [https://aur.archlinux.org/packages/?K=gnome で GNOME パッケージを検索してください。 ] |
||
+ | |||
+ | ===リリースされた tarball を使用する=== |
||
+ | |||
+ | リリースされた tarball をダウンロードする場合、次のソース配列を使用して https://download.gnome.org から入手できます。 |
||
+ | |||
+ | <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'' を返します。 |
||
+ | |||
+ | === Git リポジトリからのコミットの使用=== |
||
+ | |||
+ | もう1つの一般的な方法は、GNOME ソフトウェアのソースコードを git リポジトリから特定のコミットをソースとして使用することです。特定のコミットを設定する Pacman の機能 ({{man|5|PKGBUILD|USING VCS SOURCES}} を参照) が PKGBUILD を最新の開発コミットに従わず、{{ic|pkgver}} フィールドを更新しないため、VCS パッケージとして分類されません。代わりに指定されたコミットハッシュのソース。 |
||
+ | |||
+ | 以下のテンプレートをご覧ください。 |
||
+ | {{hc|1=PKGBUILD|2= |
||
+ | makedepends=(git) |
||
+ | commit=''hash_of_a_commit'' <nowiki> |
||
+ | source=("git+https://gitlab.gnome.org/GNOME/$pkgname.git#commit=$_commit") |
||
+ | md5sums=('SKIP') |
||
+ | |||
+ | pkgver() { |
||
+ | cd $pkgname |
||
+ | git describe --tags | sed 's/-/+/g' |
||
+ | }</nowiki> |
||
+ | }} |
||
+ | |||
+ | ''hash_of_a_commit'' を必要な Gitのコミットハッシュに置き換えます。 |
||
+ | |||
+ | ソースは ''git'' を使用してダウンロードされるため、他の VCS パッケージの場合と同様に、{{pkg|git}} が makedepends にあり、チェックサムが '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 を手動で更新することをお勧めします。}} |
||
== GConf スキーマ == |
== GConf スキーマ == |
||
41行目: | 76行目: | ||
== .install ファイル == |
== .install ファイル == |
||
− | 以前は |
+ | 以前は {{Ic|glib-compile-schemas}}, {{Ic|gtk-update-icon-cache}}, {{Ic|update-desktop-database}} などのコマンドを呼び出してキャッシュやデータベースをインストール・更新するために GNOME パッケージの多くで {{ic|.install}} ファイルが使われていました。pacman 5.0 になって[[Pacman#フック|フック]]が実装されてからはパッケージのインストール時に自動的にコマンドが実行されるため不要になりました。 |
同じコマンドが2回実行されてしまうのを防ぐため、{{ic|.install}} ファイルから上記のコマンドを削除するようにしてください。 |
同じコマンドが2回実行されてしまうのを防ぐため、{{ic|.install}} ファイルから上記のコマンドを削除するようにしてください。 |
2020年9月9日 (水) 01:52時点における版
32ビット – CLR – クロス – Eclipse – Electron – Free Pascal – GNOME – Go – Haskell – Java – KDE – カーネル – Lisp – MinGW – Node.js – ノンフリー – OCaml – Perl – PHP – Python – R – Ruby – Rust – VCS – ウェブ – Wine
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
を設定します。
GConf スキーマ
一部の GNOME パッケージは GConf スキーマをインストールします。そのようなパッケージは gconf に依存します。
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
を実行してはいけません。gconf=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 を利用する必要はなくなりました。rarian が直接 OMF ファイルを読み込みます。現在 Scrollkeeper-update はダミーになっています。makedepend に gnome-doc-utils>=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
ファイルから上記のコマンドを削除するようにしてください。