Changes between Initial Version and Version 1 of docs/making-rpm/specific/desktop


Ignore:
Timestamp:
2013/02/16 08:51:03 (11 years ago)
Author:
yasumichi
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • docs/making-rpm/specific/desktop

    v1 v1  
     1[wiki:docs Vine Linux ドキュメント] / [wiki:../../ RPM パッケージの作成方法] / [wiki:../ パッケージ固有の作法等について] /  
     2GNOME,KDE,Xfce のメニューに追加するために 
     3 
     4= GNOME,KDE,Xfce のメニューに追加するために = 
     5 
     6GNOME,KDE,Xfce のメニューに追加するためには、ディレクトリ/usr/share/applicationsに アプリケーションの名前.desktop というファイル(以降 desktopファイルと呼びます)をインストールする必要があります。 
     7 
     8desktopファイルを取り扱う desktop-file-installコマンド、desktop-file-validateコマンド、update-desktop-databaseコマンドは、desktop-file-utilsというパッケージに含まれています。 
     9 
     10desktopファイルの扱いは次のような手順になります。 
     11 
     121. %installタグの部分で次のようにして desktopファイルを%{buildroot}/%{_datadir}/applicationsにインストールしておきます。 
     13{{{ 
     14#!sh 
     15%install 
     16%{__mkdir_p} %{buildroot}/%{_datadir}/applications 
     17%{_bindir}/desktop-file-install --dir=%{buildroot}/%{_datadir}/applications hoge.desktop 
     18}}} 
     192. %checkタグの部分で次のようにして desktopファイルが書式にしたがって正しく書かれているかをチェックします。 
     20{{{ 
     21#!sh 
     22%check 
     23%{_bindir}/desktop-file-validate %{buildroot}/%{_datadir}/applications/hoge.desktop 
     24}}} 
     25 ソースから make する、make install するなどの部分ではこのチェックが行われないことも多いので、%checkタグの部分でチェックを行うようにしておきます。 
     26 desktop-file-validateコマンドは複数のファイルをまとめて処理できないので、*.desktop のようにはできません。desktopファイルの数だけ、コマンドを書いてください。もちろん、for文などを使ってもかまいません。 
     271. %postタグや%postunタグの部分で 
     28{{{ 
     29#!sh 
     30%post 
     31if [ -x %{_bindir}/update-desktop-database ] ; then 
     32       %{_bindir}/update-desktop-database %{_datadir}/applications 
     33fi 
     34 
     35%postun 
     36if [ -x %{_bindir}/update-desktop-database ] ; then 
     37        %{_bindir}/update-desktop-database %{_datadir}/applications 
     38fi 
     39}}} 
     40 のように処理します。 update-desktop-database コマンドがインストールされていなければ実行しない、という形にすることで、twm や icewm や !WindowMaker など、GNOME等のメニューとは直接関係ないウィンドウマネージャを使用しているときに、deskto-file-utils に依存せずにすむようになります。 
     411. 他のファイルと同じように %filesの部分に入れておきます。 
     42{{{ 
     43#!sh 
     44%files 
     45%{_datadir}/applications/hoge.desktop 
     46}}} 
     471. !BuildRequires で desktop-file-utils を指定します。 
     48{{{ 
     49#!sh 
     50BuildRequires(install,check): desktop-file-utils 
     51}}}