web-dev-qa-db-ja.com

Suse用のRPMを作成する方法

Suse 10.1(64ビット)ボックスにバージョン1.4のSubversionをインストールする必要があります。これら2つのバージョンのどちらも変更できず、このディストリビューションのRPMもありません。周りを見回した後、自分でRPMを作成する必要があると思います。これより良い方法はありますか?そうでない場合、誰かがプロセスに関するヒントを持っていますか?

ステップバイステップのチュートリアルは必要ありません。プロセスの基本的な概要だけが必要です。

7

既存のsrc.rpmを再構築するのがおそらく最も簡単です。私は間違いなくしない構成、作成、インストールを行う(a)スケーリングしない、(b)提供しないパッケージの簡単な削除/アップグレードと(c)はアトミックではありません。

RPMの構築はそれほど難しくありません。彼らがサイトを破壊する前に、Linux.comにはかなり良い初心者向けチュートリアルがありました。これを試すことができます one ですが、テキストが多く、消化するのは簡単ではありません。それでも、何もないよりはましです。

私の頭の後ろから、いくつかの指針をあげましょう。

  1. 〜で.rpmmacrosファイルを設定します
  2. 〜/ rpmbuild/{RPMS、SRPMS、SPECS、BUILD、BUILDROOT、SOURCES}を作成します
  3. 〜/ rpmbuild/SOURCESにソースtarballをドロップします
  4. スペックファイルを〜/ rpmbuild/SPECSにドロップします
  5. 〜/ rpmbuild/SPECSでrpmbuild-bp YOURSPECを実行します(準備フェーズを実行します)
  6. 〜/ rpmbuild/SPECSでrpmbuild -bc YOURSPECを実行します(上記のコンパイルフェーズを実行します)
  7. 〜/ rpmbuild/SPECSでrpmbuild-bb YOURSPECを実行します(上記および実際のパッケージをビルドします)

すべてがうまくいけば、RPMは〜/ rpmbuild/RPMS/$ {Arch}に表示されます。

新しいRPMを作成するときは、出力を詳細に調べたいので、5、6、7を別々に使用する傾向があります。ベンダー提供のspecfileがある場合は、すぐに7に進むことをお勧めします。

通常、.rpmmacrosにこのようなものがあります。

%_topdir /home/YOURNAME/rpmbuild
%packager YOUR NAME <[email protected]>
%_tmppath /tmp

スペックファイルの構文については、それほど難しくはありません。 ' Maximum RPM 'と呼ばれる非常に詳細な参考書があります。あなたが知りたいことはすべてそこにあります。


8
wzzrd

OpenSuseプロジェクトは ビルドサービス を提供し、OpenSuse/SLESだけでなく、Fedora/RHEL/CentOS、Debian、Ubuntu、MandrivaのRPMを簡単にパッケージ化するのに役立ちます。すべてが一気に急降下した。

2
Rick Ashford

Wzzrdが言うように、既存のSRPMを再構築してみてください。

OpenSUSE 10.3 RPMSを検索 2つの興味深い結果が得られます:

10.3が10.1から遠いことは知っていますが、良いショットです。

2
Robert Munteanu

私は過去にcheckinstallを使用したことがありますが、かなりうまく機能しているようです。 YMMV。

1
churnd

後でパッケージ管理を容易にするためにrpmが本当に必要な場合は、このソースrpmを取得してみます SuSE10.2のsvn1.4.0ソース 、それをインストールし、/ usr/src // SPECSにcdしてからrpm- bbSubversion-1.4.0-31.spec。

私は個人的には http://Subversion.tigris.org からソースを取得し、通常の「configure && make && make check && Sudomakeinstall」ダンスを実行したいと思います。

1
njsf

最も簡単な方法は、同様のディストリビューションのソースrpmを見つけることです。これで、ディストリビューションを再構築できるようになります。ほとんどの作業を行うrpmbuildというスクリプトがあると思います。

RPMを最初から作成することは、おそらくあなたがやりたいと思うよりも多くの作業であり、ここで説明できるよりも複雑です。

1
David Pashley

これを他の人に配布する必要がない限り、configure、make、makeinstallを使用します。私は通常、プレフィックスを/ optや/ usr/localのようなものに設定し、すべての元のtarを/ root/packages /のようなディレクトリに保持するので、妥当な監査証跡があり、何をインストールしたのか、したがって何をアンインストールするのかがわかります。

1
kbyrd

Subversion 1.4.0 tarファイルには、RHEL3/4でRPMをビルドするためのスペックファイルも含まれています。これらをRPMの作成に使用できるはずです。

しかし、私は前の答えに同意します。RPMの最優先の必要性が本当にない場合は、標準の「configure && make && makeinstall」を実行するだけです。

0
TCampbell