ども!なのまるです!
のっぴきならない理由により「net-snmp-lvs-module」をRPMで使ってみたかったので、CentOS6でビルドしました!
忘れそうなので、手順を残しておきたいと思います。
もくじ
前提条件
- CentOS6
- mock インストール・設定済み
- net-snmp-lvs-module のソースRPM使う
[net-snmp-lvs-module] のSRPMを再作成する
ここから、「net-snmp-lvs-module-0.0.4-3.el5.x86_64.rpm」を持ってきて、リビルドしようとしてmock --rebuild /tmp/net-snmp-lvs-module-0.0.4-3.el6.src.rpm
毎回、以下のところでエラーになるので、回避策が「find-debuginfo.sh」をしないということに決めました・・・(´・ω・`)
+ /usr/lib/rpm/find-debuginfo.sh --strict-build-id /builddir/build/BUILD/net-snmp-lvs-module-0.0.4
extracting debug info from /builddir/build/BUILDROOT/net-snmp-lvs-module-0.0.4-3.el6.x86_64/usr/lib64/libnetsnmplvs.so
*** ERROR: No build ID note found in /builddir/build/BUILDROOT/net-snmp-lvs-module-0.0.4-3.el6.x86_64/usr/lib64/libnetsnmplvs.so
参考:
そのためには、specファイルの編集が必要で
--- net-snmp-lvs-module.spec 2011-01-23 07:44:09.000000000 +0900 +++ net-snmp-lvs-module.spec.mod 2015-04-20 19:45:05.160565532 +0900 @@ -1,4 +1,5 @@ %define ipvsadm_version 1.24 +%define debug_package %{nil} Name: net-snmp-lvs-module Version: 0.0.4
mockでSRPMを作る
cd ~/rpmbuild/SPECS mock --buildsrpm --spec net-snmp-lvs-module.spec --source ../SOURCES/ mv /var/lib/mock/epel-6-x86_64/result/net-snmp-lvs-module-0.0.4-3.el6.src.rpm /tmp/
mockでビルドする
mock --rebuild /tmp/net-snmp-lvs-module-0.0.4-3.el6.src.rpm出来ました!
result/ ├── build.log ├── net-snmp-lvs-module-0.0.4-3.el6.src.rpm ├── net-snmp-lvs-module-0.0.4-3.el6.x86_64.rpm ├── root.log └── state.log
まとめ
- なかなかに古いsrc.rpmをビルドしようとしてハマりました!
- やっぱり、mockって便利だな~(^o^)
- SRPMだけ作るのも、mockでできちゃうんですね!