- コンパクトで軽量な日本語ディストリビューション -
目次
GNOME,KDE,Xfce のメニューに追加するためには、ディレクトリ/usr/share/applicationsに アプリケーションの名前.desktop というファイル(以降 desktopファイルと呼びます)をインストールする必要があります。
desktopファイルを取り扱う desktop-file-installコマンド、desktop-file-validateコマンド、update-desktop-databaseコマンドは、desktop-file-utilsというパッケージに含まれています。
desktopファイルの扱いは次のような手順になります。
%installタグの部分で次のようにして desktopファイルを%{buildroot}/%{_datadir}/applicationsにインストールしておきます。
%install
%{__mkdir_p} %{buildroot}/%{_datadir}/applications
%{_bindir}/desktop-file-install --dir=%{buildroot}/%{_datadir}/applications hoge.desktop
%checkタグの部分で次のようにして desktopファイルが書式にしたがって正しく書かれているかをチェックします。
%check
%{_bindir}/desktop-file-validate %{buildroot}/%{_datadir}/applications/hoge.desktop
ソースから make する、make install するなどの部分ではこのチェックが行われないことも多いので、%checkタグの部分でチェックを行うようにしておきます。
desktop-file-validateコマンドは複数のファイルをまとめて処理できないので、*.desktop のようにはできません。desktopファイルの数だけ、コマンドを書いてください。もちろん、for文などを使ってもかまいません。
%postタグや%postunタグの部分で
%post
if [ -x %{_bindir}/update-desktop-database ] ; then
%{_bindir}/update-desktop-database %{_datadir}/applications
fi
%postun
if [ -x %{_bindir}/update-desktop-database ] ; then
%{_bindir}/update-desktop-database %{_datadir}/applications
fi
のように処理します。 update-desktop-database コマンドがインストールされていなければ実行しない、という形にすることで、twm や icewm や WindowMaker など、GNOME等のメニューとは直接関係ないウィンドウマネージャを使用しているときに、deskto-file-utils に依存せずにすむようになります。
他のファイルと同じように %filesの部分に入れておきます。
%files
%{_datadir}/applications/hoge.desktop
BuildRequires で desktop-file-utils を指定します。
BuildRequires(install,check): desktop-file-utils