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

提供: ArchWiki
ナビゲーションに移動 検索に移動
(未訳部分の翻訳)
(同期)
5行目: 5行目:
   
 
Arch Linux では [[GNOME]] パッケージは特定の決まり事に従っています。
 
Arch Linux では [[GNOME]] パッケージは特定の決まり事に従っています。
 
== GNOME プロファイルの初期化 ==
 
GNOME プロファイルの初期化は必要なくなりました。以下のような行が [[PKGBUILD]] にある場合は取り除いて下さい:
 
{{Bc|[ -z "$GNOMEDIR" ] && . /etc/profile.d/gnome.sh}}
 
   
 
== GConf スキーマ ==
 
== GConf スキーマ ==
多くの GNOME パッケージは [[wikipedia:GConf#Schemas|GConf スキーマ]]をインストールします。スキーマはシステム GConf データベースにインストールされますが、それは避けねばりません。パッケージによって '''./configure''' で {{Ic|--disable-schemas-install}} スイッチを使っていますが、これが上手く機能することは稀です。その代わり、gconftool-2 には {{Ic|GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL}} という変数が在し、この変数が設定された場合、gconftool-2 はデータベースをアップデートしません
+
一部の GNOME パッケージは [[wikipedia:GConf#Schemas|GConf スキーマ]]をインストールします。ようなパッケージは {{Pkg|gconf}} に存しま
  +
  +
Gconf スキーマはシステムの GConf データベースにインストールされますが、それは避けねばなりません。パッケージによっては {{ic|./configure}} で {{Ic|--disable-schemas-install}} スイッチを使えるようになっていますが、これが上手く機能することは稀です。その代わりに、gconftool-2 には {{Ic|GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL}} という変数が存在し、この変数が設定された場合、gconftool-2 はデータベースをアップデートしません。
   
 
スキーマファイルをインストールするパッケージを作成するときは、PKGBUILD のパッケージのインストールの段階で以下を使ってください:
 
スキーマファイルをインストールするパッケージを作成するときは、PKGBUILD のパッケージのインストールの段階で以下を使ってください:
17行目: 15行目:
 
{{Bc|1=make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR=${pkgdir} install}}
 
{{Bc|1=make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR=${pkgdir} install}}
   
  +
{{ic|.install}} ファイルから {{Ic|gconfpkg}} を実行してはいけません。{{Pkg|gconf}}=3.2.6-4 から GConf スキーマは [[Pacman#フック|pacman フック]]によって (GNOME パッケージのインストール・削除時に) 自動的にインストール・削除されます。
GConf スキーマは {{Ic|.install}} ファイルで {{Ic|pre_remove}}, {{Ic|pre_upgrade}}, {{Ic|post_upgrade}}, {{Ic|post_install}} を使ってインストール・削除する必要があります。'''gconf-merge-schemas''' を使用して複数のスキーマは一つのファイルにまとめて、{{Ic|usr/sbin/gconfpkg --''(un)''install $pkgname}} でインストール・アンインストールしてください。'''gconfpkg''' を使用するには {{Pkg|gconf}}>=2.18.0.1-4 (もしくは {{Pkg|gconfmm}}>=2.20.0) を依存パッケージにする必要があります。
 
   
 
== GSettings スキーマ ==
 
== GSettings スキーマ ==
  +
GConf スキーマは GSettings スキーマに移行したため、多くの GNOME アプリケーションは新しいスキーマファイルを使います。GSettings は dconf をバックエンドとして使うため、GSettings スキーマが含まれているパッケージは {{Pkg|dconf}} を依存パッケージとする必要があります。新しい GSettings スキーマをシステムにインストールした場合、GSettings データベースを再構築する必要がありますが、パッケージングのときに行う必要はありません。
The GConf schemas will be replaced by GSettings schemas in the near future, but some applications (e.g. Empathy) already using it. GSettings uses dconf as backend, so all packages that contain GSettings schemas require dconf as dependency. When a new GSettings schema installed on the system, the GSettings database should be recompiled, but not when packaging.
 
  +
To avoid recompiling GSettings database on packaging, use the {{Ic|--disable-schemas-compile}} switch for '''./configure'''. To recompile it on install, add the following line to the .install file using post_install, post_upgrade and post_remove:
 
  +
パッケージングの際に GSettings データベースが再構築されるのを避けるため {{ic|./configure}} では {{Ic|--disable-schemas-compile}} スイッチを使ってください。
glib-compile-schemas usr/share/glib-2.0/schemas
 
  +
  +
{{ic|.install}} ファイルから {{Ic|glib-compile-schemas}} を実行してはいけません。{{Pkg|glib2}}=2.48.0-2 から GConf スキーマデータベースは [[Pacman#フック|pacman フック]]によって自動的に再構築されます。
   
 
== Scrollkeeper ドキュメント ==
 
== Scrollkeeper ドキュメント ==
GNOME 2.20 から scrollkeeper を利用する必要はなくなりました。rarian が直接 OMF ファイルを読み込みます。現在 Scrollkeeper-update はダミーになっています。makedepend に {{Pkg|gnome-doc-utils}}>=0.11.2 を追加すること以外は何もしなくてかまいません。
+
GNOME 2.20 から scrollkeeper を利用する必要はなくなりました。{{Pkg|rarian}} が直接 OMF ファイルを読み込みます。現在 Scrollkeeper-update はダミーになっています。makedepend に {{Pkg|gnome-doc-utils}}>=0.11.2 を追加すること以外は何もしなくてかまいません。
   
  +
{{ic|./configure}} から {{Ic|--disable-scrollkeeper}} スイッチを使うことで無効化できます。
== .desktop ファイル ==
 
Many packages install Freedesktop.org compatible {{Ic|.desktop}} files and register MimeType entries in them. Running {{Ic|update-desktop-database -q}} in {{Ic|post_install}} and {{Ic|post_remove}} is recommended (package should depend on {{Pkg|desktop-file-utils}} in this case).
 
   
 
== GTK アイコンキャッシュ ==
 
== GTK アイコンキャッシュ ==
パッケージが hicolor アイコンテーマにアイコンをインストールする場合があります。パッケージを {{Pkg|gtk-update-icon-cache}} に依存するようにして {{Ic|post_install}}, {{Ic|post_upgrade}}, {{Ic|post_remove}} 関数で {{Ic|gtk-update-icon-cache -q -t -f usr/share/icons/hicolor}} を実行してください。
+
パッケージが hicolor アイコンテーマにアイコンをインストールする場合があります。パッケージを {{Pkg|gtk-update-icon-cache}} に依存するようにしてください。
  +
  +
{{ic|.install}} ファイルから {{Ic|gtk-update-icon-cache}} を実行してはいけません。{{Pkg|gtk-update-icon-cache}}=3.20.3-2 からアイコンキャッシュは [[Pacman#フック|pacman フック]]によって自動的に更新されます。
  +
  +
== .desktop ファイル ==
  +
多くのパッケージは Freedesktop.org 互換の {{Ic|.desktop}} ファイルをインストールして MimeType エントリを登録します。そのようなパッケージは {{Pkg|desktop-file-utils}} を依存パッケージとする必要があります。
  +
  +
{{ic|.install}} ファイルから {{Ic|update-desktop-database}} を実行してはいけません。{{Pkg|desktop-file-utils}}=0.22-2 からデータベースは [[Pacman#フック|pacman フック]]によって自動的に更新されます。
   
 
== .install ファイル ==
 
== .install ファイル ==
For many GNOME packages, all .install files look almost exactly the same. The {{Pkg|gedit}} package contains a very generic install file:
 
https://projects.archlinux.org/svntogit/packages.git/tree/gedit/repos/extra-x86_64/gedit.install
 
   
  +
以前は {{Ic|glib-compile-schemas}}, {{Ic|gtk-update-icon-cache}}, {{Ic|update-desktop-database}} などのコマンドを呼び出してキャッシュやデータベースをインストール・更新するために GNOME パッケージの多くで {{ic|.install}} ファイルが使われていました。pacman 5.0 になって[[Pacman#フック|フック]]が実装されてからはパッケージのインストール時に自動的にコマンドが実行されるため不要になりました。
Basically, the only thing that has to be changed is the {{Ic|pkgname}} variable on top of the {{Ic|.install}} file. As long as pacman does not supply us with the {{Ic|pkgname}} variable, we need to supply it in the {{Ic|.install}} file.
 
When packages do not have gconf schemas, hicolor icon files, or {{Ic|.desktop}} files, remove the parts that handle those subjects.
 
   
  +
同じコマンドが2回実行されてしまうのを防ぐため、{{ic|.install}} ファイルから上記のコマンドを削除するようにしてください。
== サンプル ==
 
For an example of above rules, take a look at the gedit PKGBUILD and the {{Ic|.install}} file supplied above:
 
https://projects.archlinux.org/svntogit/packages.git/tree/gedit/repos/extra-x86_64/
 

2017年3月15日 (水) 00:51時点における版

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

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 ファイルから上記のコマンドを削除するようにしてください。