パッケージ名がわからなくても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開発用のSRPMをCentOS 6.0でビルドしようとしたからですね.
これを中途半端といいます.同じネタ2回目なのに同じオチですか.ホントごめんなさい.
しかも
> No package >= available.
> No package 1.3 available.
とか出てます.まぁ実質害はないので気にしないでおきましょう.
とりあえず,ちゃんとビルドできる環境であれば上記のような手順でビルドに必要な環境がそろうと思います.ぜひお試しあれ.
それではあでゅー.