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

CentOS 5の環境でとある作業をしているときによくある風景に遭遇しました.
いわゆる「依存関係が解決していないからビルドできんぞヴォケ!!」ですね.

$ rpmbuild -ba SPECS/publican.spec 
エラー: ビルド依存性の失敗:
        perl(Devel::Cover) は publican-2.8-1.noarch に必要とされています
        perl(Module::Build) は publican-2.8-1.noarch に必要とされています
        perl(Test::Exception) は publican-2.8-1.noarch に必要とされています
        perl(Test::Pod) は publican-2.8-1.noarch に必要とされています
        perl(Test::Pod::Coverage) は publican-2.8-1.noarch に必要とされています
        perl(Test::Perl::Critic) は publican-2.8-1.noarch に必要とされています
(snip)
        perl(DBD::SQLite) は publican-2.8-1.noarch に必要とされています
        liberation-mono-fonts は publican-2.8-1.noarch に必要とされています
        liberation-sans-fonts は publican-2.8-1.noarch に必要とされています
        liberation-serif-fonts は publican-2.8-1.noarch に必要とされています
        cjkuni-uming-fonts は publican-2.8-1.noarch に必要とされています
        ipa-gothic-fonts は publican-2.8-1.noarch に必要とされています
        ipa-pgothic-fonts は publican-2.8-1.noarch に必要とされています
        lklug-fonts は publican-2.8-1.noarch に必要とされています
        baekmuk-ttf-batang-fonts は publican-2.8-1.noarch に必要とされています

こまった!! 当然作業を続けるなら必要なパッケージを入れましょう.ってことなんですが,「perl(???:???)」的なものはパッケージ名を調べるのが億劫です.そこでふと駄目もとでなんとなく下記のようにそのままyumに渡してみました.

$ sudo yum install 'perl(DBD::SQLite)'
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.nara.wide.ad.jp
 * epel: ftp.kddilabs.jp
 * extras: ftp.nara.wide.ad.jp
 * updates: ftp.nara.wide.ad.jp
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package perl-DBD-SQLite.x86_64 0:1.14-3.el5 set to be updated
--> Processing Dependency: perl(DBI) for package: perl-DBD-SQLite
--> Running transaction check
---> Package perl-DBI.x86_64 0:1.52-2.el5 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================================
 Package                     Arch               Version                  Repository        Size
================================================================================================
Installing:
 perl-DBD-SQLite             x86_64             1.14-3.el5               epel             277 k
Installing for dependencies:
 perl-DBI                    x86_64             1.52-2.el5               base             600 k

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

Total download size: 876 k
Is this ok [y/N]: 

おいおいおいおい!! イケるじゃんお兄さん!!
上記見ていると,perl(???:???)は依存関係の解決でパッケージ名が導き出されています.

ってことでもしかしてこんな手抜きできちゃう!?

LANG=C rpmbuild -ba SPECS/publican.spec 2>&1 | awk '$0 ~ /is needed by/ { print $1}'
perl(Devel::Cover)
perl(Module::Build)
perl(Test::Exception)
perl(Test::Pod)
perl(Test::Pod::Coverage)
perl(Test::Perl::Critic)
perl(Archive::Zip)
perl(Config::Simple)
perl(DateTime)
perl(DateTime::Format::DateParse)
perl(File::Copy::Recursive)
perl(File::Find::Rule)
perl(File::pushd)
(snip)
perl(DBD::SQLite)
liberation-mono-fonts
liberation-sans-fonts
liberation-serif-fonts
cjkuni-uming-fonts
ipa-gothic-fonts
ipa-pgothic-fonts
lklug-fonts
baekmuk-ttf-batang-fonts

ってことでできちゃいました…!!!!!!

$ sudo yum install `LANG=C rpmbuild -ba SPECS/publican.spec 2>&1 | awk '$0 
~ /is needed by/ { print $1}'`
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.nara.wide.ad.jp
 * epel: ftp.kddilabs.jp
 * extras: ftp.nara.wide.ad.jp
 * updates: ftp.nara.wide.ad.jp
Setting up Install Process
Setting up Install Process
No package perl(Makefile::Parser) available.
Package perl-XML-TreeBuilder-3.09-9.el5.noarch already installed and latest version
No package fop available.
No package batik available.
Package docbook-style-xsl-1.69.1-5.1.noarch already installed and latest version
No package liberation-mono-fonts available.
No package liberation-sans-fonts available.
No package liberation-serif-fonts available.
No package cjkuni-uming-fonts available.
No package lklug-fonts available.
No package baekmuk-ttf-batang-fonts available.
Resolving Dependencies
--> Running transaction check
---> Package ImageMagick-perl.x86_64 0:6.2.8.0-4.el5_5.3 set to be updated
--> Processing Dependency: ImageMagick = 6.2.8.0-4.el5_5.3 for package: ImageMagick-perl
--> Processing Dependency: libMagick.so.10()(64bit) for package: ImageMagick-perl
---> Package ipa-gothic-fonts.noarch 0:003.02-3.1.el5 set to be updated
---> Package ipa-pgothic-fonts.noarch 0:003.02-3.1.el5 set to be updated
---> Package perl-Archive-Zip.noarch 0:1.16-1.2.1 set to be updated
---> Package perl-Config-Simple.noarch 0:4.59-7.el5 set to be updated
---> Package perl-DBD-SQLite.x86_64 0:1.14-3.el5 set to be updated
--> Processing Dependency: perl(DBI) for package: perl-DBD-SQLite
---> Package perl-DateTime.x86_64 1:0.41-1.el5 set to be updated
--> Processing Dependency: perl(Class::Singleton) >= 1.03 for package: perl-DateTime
--> Processing Dependency: perl(Params::Validate) >= 0.76 for package: perl-DateTime
--> Processing Dependency: perl(Params::Validate) for package: perl-DateTime
--> Processing Dependency: perl(Class::Singleton) for package: perl-DateTime
---> Package perl-DateTime-Format-DateParse.noarch 0:0.04-6.el5 set to be updated
(snip)
--> Finished Dependency Resolution

Dependencies Resolved
================================================================================================
 Package                                Arch        Version                  Repository    Size
================================================================================================
Installing:
 ImageMagick-perl                       x86_64      6.2.8.0-4.el5_5.3        base         147 k
 ipa-gothic-fonts                       noarch      003.02-3.1.el5           base         4.1 M
 ipa-pgothic-fonts                      noarch      003.02-3.1.el5           base         4.1 M
(snip)
 perl-Algorithm-Diff                    noarch      1.1902-2.el5             epel          45 k
 perl-AppConfig                         noarch      1.64-1.el5               epel          96 k
 perl-B-Keywords                        noarch      1.06-1.el5               epel         9.6 k
 perl-Class-Singleton                   noarch      1.03-3.el5               epel          17 k
 perl-Clone                             x86_64      0.27-1.el5               epel          14 k
 perl-Config-Tiny                       noarch      2.10-1.el5               epel          21 k
 perl-DBI                               x86_64      1.52-2.el5               base         600 k
 perl-Devel-Symdump                     noarch      1:2.07-3.el5.1           epel          16 k
 perl-ExtUtils-CBuilder                 noarch      0.18-1.el5               epel          28 k
 perl-ExtUtils-ParseXS                  noarch      2.18-1.el5               epel          31 k
 perl-File-HomeDir                      noarch      0.62-1.el5               epel          40 k
 perl-Font-AFM                          noarch      1.19-4.el5               epel          18 k
 perl-IO-String                         noarch      1.08-1.1.1               base          13 k
 perl-List-MoreUtils                    x86_64      0.22-2.el5               epel          59 k
 perl-Module-Pluggable                  noarch      3.60-3.el5               epel          23 k
 perl-Number-Compare                    noarch      0.01-8.el5               epel         7.6 k
 perl-PPI                               noarch      1.118-1.el5              epel         371 k
 perl-Params-Util                       noarch      0.25-1.el5               epel          24 k
 perl-Params-Validate                   x86_64      0.88-3.el5               epel          71 k
 perl-Perl-Critic                       noarch      1.05-1.el5               epel         514 k
 perl-Pod-Coverage                      noarch      0.18-2.el5               epel          25 k
 perl-Pod-Escapes                       noarch      1.04-5.el5               epel          15 k
 perl-Pod-POM                           noarch      0.17-6.el5               epel          57 k
 perl-Pod-Simple                        noarch      3.04-3.el5               epel         184 k
 perl-String-Format                     noarch      1.14-1.el5               epel          10 k
 perl-Sub-Uplevel                       noarch      0.18-2.el5               epel          13 k
 perl-TeX-Hyphen                        noarch      0.140-5.el5              epel          33 k
 perl-Test-Differences                  noarch      0.47-2.el5               epel          16 k
(snip)
Transaction Summary
================================================================================================
Install      76 Package(s)
Upgrade       0 Package(s)

Total download size: 34 M
Is this ok [y/N]: y
Downloading Packages:
(1/76): perl-Number-Compare-0.01-8.el5.noarch.rpm                        | 7.6 kB     00:00     
(2/76): perl-Text-Glob-0.08-2.el5.noarch.rpm                             | 8.9 kB     00:00     
(3/76): perl-B-Keywords-1.06-1.el5.noarch.rpm                            | 9.6 kB     00:00     
(73/76): ipa-gothic-fonts-003.02-3.1.el5.noarch.rpm                      | 4.1 MB     00:00     
(74/76): ipa-pgothic-fonts-003.02-3.1.el5.noarch.rpm                     | 4.1 MB     00:00     
(75/76): urw-fonts-2.3-6.1.1.noarch.rpm                                  | 4.5 MB     00:00     
(76/76): ghostscript-8.70-6.el5_7.3.x86_64.rpm                           | 8.9 MB     00:01     
------------------------------------------------------------------------------------------------
Total                                                           4.9 MB/s |  34 MB     00:06     
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : perl-List-MoreUtils                                                     1/76 
  Installing     : perl-Clone                                                              2/76 
  Installing     : perl-Params-Validate                                                    3/76 
(snip)
Dependency Installed:
  ImageMagick.x86_64 0:6.2.8.0-4.el5_5.3        gd.x86_64 0:2.0.33-9.4.el5_4.2                  
  ghostscript.x86_64 0:8.70-6.el5_7.3           ghostscript-fonts.noarch 0:5.50-13.1.1          
  libcroco.x86_64 0:0.6.1-2.1                   libgsf.x86_64 0:1.14.1-6.1                      
  librsvg2.x86_64 0:2.16.1-1.el5                libwmf.x86_64 0:0.2.8.4-10.2                    
  perl-Algorithm-Diff.noarch 0:1.1902-2.el5     perl-AppConfig.noarch 0:1.64-1.el5              
  perl-B-Keywords.noarch 0:1.06-1.el5           perl-Class-Singleton.noarch 0:1.03-3.el5        
  perl-Clone.x86_64 0:0.27-1.el5                perl-Config-Tiny.noarch 0:2.10-1.el5            
  perl-DBI.x86_64 0:1.52-2.el5                  perl-Devel-Symdump.noarch 1:2.07-3.el5.1        
  perl-ExtUtils-CBuilder.noarch 0:0.18-1.el5    perl-ExtUtils-ParseXS.noarch 0:2.18-1.el5       
  perl-File-HomeDir.noarch 0:0.62-1.el5         perl-Font-AFM.noarch 0:1.19-4.el5               
  perl-IO-String.noarch 0:1.08-1.1.1            perl-List-MoreUtils.x86_64 0:0.22-2.el5         
  perl-Module-Pluggable.noarch 0:3.60-3.el5     perl-Number-Compare.noarch 0:0.01-8.el5         
  perl-PPI.noarch 0:1.118-1.el5                 perl-Params-Util.noarch 0:0.25-1.el5            
  perl-Params-Validate.x86_64 0:0.88-3.el5      perl-Perl-Critic.noarch 0:1.05-1.el5            
  perl-Pod-Coverage.noarch 0:0.18-2.el5         perl-Pod-Escapes.noarch 0:1.04-5.el5            
  perl-Pod-POM.noarch 0:0.17-6.el5              perl-Pod-Simple.noarch 0:3.04-3.el5             
  perl-String-Format.noarch 0:1.14-1.el5        perl-Sub-Uplevel.noarch 0:0.18-2.el5            
  perl-TeX-Hyphen.noarch 0:0.140-5.el5          perl-Test-Differences.noarch 0:0.47-2.el5       
  perl-Text-Autoformat.noarch 0:1.13-5.el5      perl-Text-Diff.noarch 0:0.35-3.el5              
  perl-Text-Glob.noarch 0:0.08-2.el5            perl-Text-Reform.noarch 0:1.11-6.el5            
  perl-TimeDate.noarch 1:1.16-5.el5             perl-XML-Dumper.noarch 0:0.81-2.fc6             
  perl-XML-LibXML-Common.x86_64 0:0.13-8.2.2    perl-XML-NamespaceSupport.noarch 0:1.09-1.2.1   
  perl-XML-SAX.noarch 0:0.14-8                  perl-XML-TokeParser.noarch 0:0.05-2.1.el5       
  perltidy.noarch 0:20070801-1.el5              urw-fonts.noarch 0:2.3-6.1.1                    

Complete!

ダラダラと長くてすみません.さて,今回のオチですが…
実は例が悪く,よく見ると「パッケージがあらへん」といっているものがあるように,現状のyumリポジトリーだけでは解決できないようです(ぇー

#CentOS 5系 w/ EPELだけでは本家から落としたpublican 2.8はビルドできないみたい(ハァ

また書く気になったらちゃんと一連の流れで成功するパターンでも書き直したいと思います.
では.あでゅー