パッケージ名がわからなくてもyumでインストールできる場合の紹介その2

はてぶろを招待してもらえずすねている id:elf です.別に気にしていないんだからね!!
ってなんか懐かしいノリなんだけどどうでもいいです.

約1ヶ月前に「パッケージ名がわからなくてもyumでインストールできる場合の紹介」というのを書きました.
今回はもうちょいシンプルなやり方です.

一般的にRPMパッケージはインストールに必要な依存関係の情報をファイル内に持ってることはよく知られています.
ではSRPMは? っということで調べてみましょう.

[elf@centos6 SRPMS]$ rpmbuild --rebuild transifex-1.1.0-4.fc17.src.rpm
transifex-1.1.0-4.fc17.src.rpm をインストール中です。
警告: ユーザ mockbuild は存在しません - root を使用します
警告: グループ mockbuild は存在しません - root を使用します
警告: ユーザ mockbuild は存在しません - root を使用します
警告: グループ mockbuild は存在しません - root を使用します
警告: ユーザ mockbuild は存在しません - root を使用します
警告: グループ mockbuild は存在しません - root を使用します
エラー: ビルド依存性の失敗:
        python-markdown は transifex-1.1.0-4.el6.noarch に必要とされています
        django-contact-form は transifex-1.1.0-4.el6.noarch に必要とされています
        django-pagination は transifex-1.1.0-4.el6.noarch に必要とされています
        django-tagging は transifex-1.1.0-4.el6.noarch に必要とされています
        django-notification は transifex-1.1.0-4.el6.noarch に必要とされています
        django-profile は transifex-1.1.0-4.el6.noarch に必要とされています
        Django-south は transifex-1.1.0-4.el6.noarch に必要とされています
        django-piston は transifex-1.1.0-4.el6.noarch に必要とされています
        django-authority は transifex-1.1.0-4.el6.noarch に必要とされています
        mercurial >= 1.3 は transifex-1.1.0-4.el6.noarch に必要とされています

大量に依存関係で引っかかってしまいました.
それでは--requiresで依存関係の情報を調べてみましょう.

[elf@centos6 SRPMS]$ rpm -qp --requires transifex-1.1.0-4.fc17.src.rpm
python-sphinx  
gettext  
python-markdown  
Django  
django-contact-form  
django-pagination  
django-tagging  
django-notification  
django-profile  
Django-south  
django-piston  
django-authority  
mercurial >= 1.3
python-sqlite2  
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1

おっと.ちゃんと出るじゃないですか.
つまり,「$ sudo yum install `rpm -qp --requires transifex-1.1.0-4.fc17.src.rpm`」とやれば必要なパッケージは全部入ってしまいそうです.これは楽チン!!
さて試してみましょう!!

[elf@centos6 SRPMS]$ sudo yum install `rpm -qp --requires transifex-1.1.0-4.fc17.src.rpm`
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.jaist.ac.jp
 * epel: ftp.jaist.ac.jp
 * extras: data.nicehosting.co.kr
 * updates: data.nicehosting.co.kr
Setting up Install Process
Package matching python-sphinx-0.6.6-2.el6.noarch already installed. Checking for update.
Package gettext-0.17-16.el6.x86_64 already installed and latest version
Package matching Django-1.2.7-1.el6.noarch already installed. Checking for update.
No package django-contact-form available.
No package django-pagination available.
No package django-notification available.
No package django-profile available.
No package django-piston available.
No package django-authority available.
No package >= available.
No package 1.3 available.
No package rpmlib(FileDigests) available.
No package <= available.
No package 4.6.0-1 available.
No package rpmlib(CompressedFileNames) available.
No package <= available.
No package 3.0.4-1 available.
Resolving Dependencies
--> Running transaction check
---> Package Django-south.noarch 0:0.7.2-1.el6 set to be updated
---> Package django-tagging.noarch 0:0.3.1-3.el6 set to be updated
---> Package mercurial.x86_64 0:1.4-3.el6 set to be updated
---> Package python-markdown.noarch 0:2.0.1-3.1.el6 set to be updated
---> Package python-sqlite2.x86_64 1:2.3.5-2.el6 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=========================================================================================================================================================================
 Package                                       Arch                                 Version                                     Repository                          Size
=========================================================================================================================================================================
Installing:
 Django-south                                  noarch                               0.7.2-1.el6                                 epel                               227 k
 django-tagging                                noarch                               0.3.1-3.el6                                 epel                                58 k
 mercurial                                     x86_64                               1.4-3.el6                                   base                               1.5 M
 python-markdown                               noarch                               2.0.1-3.1.el6                               base                               118 k
 python-sqlite2                                x86_64                               1:2.3.5-2.el6                               epel                                80 k

Transaction Summary
=========================================================================================================================================================================
Install       5 Package(s)
Upgrade       0 Package(s)

Total download size: 1.9 M
Installed size: 8.7 M
Is this ok [y/N]: y
Downloading Packages:
(1/5): Django-south-0.7.2-1.el6.noarch.rpm                                                                                                        | 227 kB     00:00     
(2/5): django-tagging-0.3.1-3.el6.noarch.rpm                                                                                                      |  58 kB     00:00     
(3/5): mercurial-1.4-3.el6.x86_64.rpm                                                                                                             | 1.5 MB     00:00     
(4/5): python-markdown-2.0.1-3.1.el6.noarch.rpm                                                                                                   | 118 kB     00:00     
(5/5): python-sqlite2-2.3.5-2.el6.x86_64.rpm                                                                                                      |  80 kB     00:00     
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                    1.0 MB/s | 1.9 MB     00:01     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
  Installing     : mercurial-1.4-3.el6.x86_64                                                                                                                        1/5 
  Installing     : 1:python-sqlite2-2.3.5-2.el6.x86_64                                                                                                               2/5 
  Installing     : django-tagging-0.3.1-3.el6.noarch                                                                                                                 3/5 
  Installing     : python-markdown-2.0.1-3.1.el6.noarch                                                                                                              4/5 
  Installing     : Django-south-0.7.2-1.el6.noarch                                                                                                                   5/5 

Installed:
  Django-south.noarch 0:0.7.2-1.el6          django-tagging.noarch 0:0.3.1-3.el6        mercurial.x86_64 0:1.4-3.el6        python-markdown.noarch 0:2.0.1-3.1.el6       
  python-sqlite2.x86_64 1:2.3.5-2.el6       

Complete!

いくつか抜けがでましたがインストールできました!!
抜けたのはFedora 17開発用のSRPMCentOS 6.0でビルドしようとしたからですね.
これを中途半端といいます.同じネタ2回目なのに同じオチですか.ホントごめんなさい.

しかも
> No package >= available.
> No package 1.3 available.

とか出てます.まぁ実質害はないので気にしないでおきましょう.

とりあえず,ちゃんとビルドできる環境であれば上記のような手順でビルドに必要な環境がそろうと思います.ぜひお試しあれ.

それではあでゅー.