RPM作りに挑戦!
はじめに
自分で作ったアプリケーションのRPMを作ってみましょう。
利用者がコンパイルする必要が無く、インストール/アンインストールも楽です。
さらに(ライセンスによりますが)ソースコードを公開したくない場合にも便利です。
と言うことで、KDocumentEditorのRPMを作成してみましょう。
Vine Linuxでは各ユーザー毎にRPMを作成する環境がそろっています。
これから作成するspecファイルは~/rpm/SPECSに、ソースのtar.gzファイルは~/rpm/SOURCESにおいて下さい。
準備
$ cd kdocumenteditor
$ make -f Makefile.cvs
$ cd ..
$ mv kdocumenteditor kdocumenteditor-1.0
$ tar cvzf kdocumenteditor-1.0.tar.gz kdocumenteditor-1.0
specファイルの作成
RPM作成のメインの作業はこのSPECファイルを作ることです。
RPM HOWTO: RPM パッケージの作成を参考にkdocumenteditor.specを作ってみます。
ヘッダ部分は以下のようになります。
Name: kdocumenteditor
Version: 1.0
Release: 1
Source: https://linux-life.net/program/cc/kde/doc/kdocumenteditor/kdocumenteditor-1.0.tar.gz
Copyright: distributable
Group: Applications/Editors
Packager: Tasuku Suzuki <tasuku@linux-life.net>
Summary(ja): KDocumentEditorはKDE用の基本的なテキストエディタです。
URL: https://linux-life.net/program/cc/kde/doc/kdocumenteditor/
Buildroot: %{_tmppath}/%{name}-root
%description
KDocumentEditor is KDE based basic text editor.
%description -l ja
KDocumentEditorはKDE用の基本的なテキストエディタです。
つぎにRPM作成のための手順を書きます。
rm -rf $RPM_BUILD_ROOT
%setup
%build
./configure
make
%install
make prefix=${RPM_BUILD_ROOT}/usr install
%clean
rm -rf $RPM_BUILD_ROOT
さらに作成されるファイルの一覧を書きますが、いちいち把握しておくのが面倒なので、SPECSディレクトリで以下のコマンドを実行します。
すると/var/tmp/kdocumenteditor-root/をルートディレクトリ(/)と仮定してインストールが行われます。
これ以下のディレクトリにあるファイルが生成されるファイルですので、これをファイル一覧に反映させます。
%defattr(-,root,root)
%dir /usr/share/doc/HTML/ja/kdocumenteditor
/usr/share/doc/HTML/ja/kdocumenteditor/index.docbook
/usr/share/doc/HTML/ja/kdocumenteditor/index.cache.bz2
/usr/share/doc/HTML/ja/kdocumenteditor/common
/usr/share/applnk/Editors/kdocumenteditor.desktop
%dir /usr/share/apps/kdocumenteditor
/usr/share/apps/kdocumenteditor/kdocumenteditorui.rc
/usr/share/icons/hicolor/32x32/apps/kdocumenteditor.xpm
/usr/share/icons/hicolor/16x16/apps/kdocumenteditor.xpm
/usr/share/locale/ja/LC_MESSAGES/kdocumenteditor.mo
/usr/bin/kdocumenteditor
ファイルはそのままで、ディレクトリの前には「%dir」とつけるようです。
最後にChangeLogを付け加えて終了です。
* Mon Oct 13 2003 Tasuku Suzuki <tasuku@linux-life.net>
- 新規作成
- version 1.0 released.
RPMの作成
とすると
- ~/rpm/RPMS/i386/kdocumenteditor-1.0-1.i386.rpm
- ~/rpm/SRPMS/kdocumenteditor-1.0-1.src.rpm
が生成されます。
作成したRPMの情報は
で見ることができます。
注意点
開発時にappnameではなくappname-VERSIONというディレクトリ内で
を実行するとappname.poであるべきファイル名がappname-VERSION.poとなり日本語化できないようです。
この原因や解決する方法がわからないというか、調べていないので、
とりあえず開発はappnameというディレクトリで行い、tar.gz作成はappname-VERSIONディレクトリにmvまたはcp(またはln -s)しています。
おわりに
今回作成したファイルは以下からダウンロード可能です。
- kdocumenteditor.spec
- kdocumenteditor-1.0.tar.gz
- kdocumenteditor-1.0-1.i386.rpm
- kdocumenteditor-1.0-1.src.rpm