質問: rpmファイルを作成するために最低限必要なことは何ですか? linuxバイナリ「foobar」を配布するためのrpmファイルを作成したいのですが、依存関係はわずかです。設定ファイル/etc/foobar.confがあり、/ usr/bin/foobarにインストールする必要があります。残念ながら rpmのドキュメント は27章の長さで、他のプラットフォーム用の.debおよびexeインストーラーの作成に忙しいため、実際に座ってこれを読む日はありません。rpmを作成するために絶対に最低限必要なことは何ですか? foobarバイナリとfoobar.confが現在の作業ディレクトリにあると仮定します。
回答: 私はしばしば、linux上で、プロプライエタリなアプリをパッケージ化するごとにバイナリrpmを実行します。ですから、私の経験はあなたにとっても有用である可能性があります。それ以外に、可能であればtrue rpmを行う方が良いでしょう。しかし、私は脱線します。(バイナリ)プログラムをパッケージ化するための基本的な手順は次のとおりです。バージョン1.0のtoybinprogであると仮定し、/ etc/toybinprog/toybinprog.confにconfをインストールし、binをインストールしますtobinprogと呼ばれる/ usr/bin内:1. rpm <4.6,4.7のrpmビルド環境を作成しますmkdir -p ~/rpmbuild/{rpms,srpms,build,sources,specs,tmp} cat <<eof >~/.rpmmacros %_topdir %(echo $home)/rpmbuild %_tmppath %{_topdir}/tmp eof cd ~/rpmbuild 2.プロジェクトのtarballを作成しますmkdir toybinprog-1.0 mkdir -p toybinprog-1.0/usr/bin mkdir -p toybinprog-1.0/etc/toybinprog install -m 755 toybinprog toybinprog-1.0/usr/bin install -m 644 toybinprog.conf toybinprog-1.0/etc/toybinprog/ tar -zcvf toybinprog-1.0.tar.gz toybinprog-1.0/ 3.ソースディレクトリにコピーしますcp toybinprog-1.0.tar.gz sources/ cat <<eof > specs/toybinprog.spec # don't try fancy stuff like debuginfo, which is useless on binary-only # packages. don't strip binary too # be sure buildpolicy set to do nothing %define __spec_install_post %{nil} %define debug_package %{nil} %define __os_install_post %{_dbpath}/brp-compress summary: a very simple toy bin rpm package name: toybinprog version: 1.0 release: 1 license: gpl+ group: development/tools source0 : %{name}-%{version}.tar.gz url: http://toybinprog.company.com/ buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root %description %{summary} %prep %setup -q %build # empty section. %install rm -rf %{buildroot} mkdir -p %{buildroot} # in builddir cp -a * %{buildroot} %clean rm -rf %{buildroot} %files %defattr(-,root,root,-) %config(noreplace) %{_sysconfdir}/%{name}/%{name}.conf %{_bindir}/* %changelog * thu apr 24 2009 elia pinto <devzero2000@rpm5.org> 1.0-1 - first build eof 4.ソースとバイナリrpmをビルドしますrpmbuild -ba specs/toybinprog.spec そして、それだけです。この助けを願っています