rpm作成時の小ネタ (yum-builddep)

rpm 2010-03-10

欲しいrpmが無かったりバージョンが古かったりするときにrpmを自前で作成する場合、こういうことがあるかと思います。

rpmbuild --rebuild foovar-0.0.1.src.rpm
error: Failed build dependencies:
        bzip2-devel is needed by foovar-0.0.1.i386
        sqlite2-devel >= 2.8.0 is needed by foovar-0.0.1.i386
        libedit-devel is needed by foovar-0.0.1.i386
        libtool-ltdl-devel is needed by foovar-0.0.1.i386
        libc-client-devel is needed by foovar-0.0.1.i386
        mysql-devel >= 4.1.0 is needed by foovar-0.0.1.i386
        unixODBC-devel is needed by foovar-0.0.1.i386
        net-snmp-devel is needed by foovar-0.0.1.i386
        libxslt-devel >= 1.0.18-1 is needed by foovar-0.0.1.i386
        libjpeg-devel is needed by foovar-0.0.1.i386
        xorg-x11-devel is needed by foovar-0.0.1.i386
        libmcrypt-devel is needed by foovar-0.0.1.i386
        libtidy-devel is needed by foovar-0.0.1.i386
        freetds-devel is needed by foovar-0.0.1.i386
        aspell-devel >= 0.50.0 is needed by foovar-0.0.1.i386
        recode-devel is needed by foovar-0.0.1.i386
        libicu-devel >= 3.6 is needed by foovar-0.0.1.i386</code></pre>

specファイルに記述された BuildRequires 依存パッケージの嵐!こういう時素直に

sudo yum install bzip2-devel sqlite2-devel libedit-devel libtool-ltdl-devel

でもいいんだけど、すごくめんどくさい。

そんなときに便利な yum-builddep 。 yum-utils というツール郡の中の一つです。

入っていなければインストール。

sudo yum install yum-utils

たとえば foovar-0.0.1.src.rpm というSRPMがあって、それが BuildRequires している依存パッケージをインストールするのが、下の1コマンドで完了します。

sudo yum-builddep foovar-0.0.1.src.rpm

他にも yum-utils はその名のごとく色々な便利ツールを含んでいるのですが、それはまた別で調べようかと思います。

Tags

Shinya Tsunematsu

a Software Engineer loves tech, curry, music, fitness.

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.