正要測試 Linux-HA 的 heartbeat,系統是 FC3,所以懶毛病又發了,就想能否直接用 rpm 安裝省事。到了官方網站只看到:

Thanks to Joost Soeterbroek, the latest Fedora-compatible versions from Fedora extras can be included simply by issuing this command:

    $ sudo yum install heartbeat@

於是,照著連結到 Fedora extras 找了半天,這才發現只有 FC4 和 FC5 才有懶人包?!不死心,再網路上搜尋看看,結果也只有 1.2.3 版的 FC1 rpm……

好啦,不然就直接用 tar-ball 的方式安裝算了。嗯…或者…要不乾脆自己動手包個 rpm 也好,以後說不定可以省事點:

首先,當然要有個 SPEC 和原始檔什麼的,不過既然有人包了 FC4 的最新版 (2.0.6),就拿它來修改好了:heartbeat-2.0.6-2.fc4.src.rpm

安裝後,直接到 /usr/src/redhat/SPEC 賭賭看(就是懶咩…):

    $ rpmbuild -ba heartbeat.spec
    error: Failed build dependencies:
    glib2-devel is needed by heartbeat-2.0.6-2.i386
    libnet-devel is needed by heartbeat-2.0.6-2.i386
    libtool-ltdl-devel is needed by heartbeat-2.0.6-2.i386
    net-snmp-devel is needed by heartbeat-2.0.6-2.i386
    gnutls-devel is needed by heartbeat-2.0.6-2.i386

哈,天下果然沒有這麼美的事,要不然我早就中樂透了…… XD

yum list 查一查,只缺 libnet-devel 和 libtool-ltdl-devel ,不過好在 FC3 extras 有 libnet-devel ,所以還是照規矩來,把 FC3 extras 加到 /etc/yum.repos.d 去吧:

Update to the latest version of yum and add a file (e.g. fedora-extras.repo) in your /etc/yum.repos.d directory with following content:

[extras]
name=Fedora Extras - $releasever - $basearch
baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/$releasever/$basearch/
gpgcheck=1
gpgkey=http://download.fedora.redhat.com/pub/fedora/linux/extras/RPM-GPG-KEY-Fedora-Extras
[extras-testing]
name=Fedora Extras Test Updates - $releasever - $basearch
baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/testing/$releasever/$basearch/
gpgcheck=1
gpgkey=http://download.fedora.redhat.com/pub/fedora/linux/extras/RPM-GPG-KEY-Fedora-Extras
enabled=0

[extras-debug]
name=Fedora Extras – $releasever – $basearch – Debugging packages
baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/$releasever/$basearch/debug/
gpgcheck=1
gpgkey=http://download.fedora.redhat.com/pub/fedora/linux/extras/RPM-GPG-KEY-Fedora-Extras
enabled=0

再來,當然就是把該裝的 rpm 都裝上去。只除了 libtool-ltdl-devel……

    $ yum -y install glib2-devel libnet-devel net-snmp-devel gnutls-devel

在比較了一下 FC4 的 libtool-ltdl-devel 包裝內容物之後,在 FC3 就是 libtoo 囉。於是再修改 heartbeat.spec,把:

    BuildRequires:    libtool-ltdl-devel

改成:

    BuildRequires:    libtool

似乎有瞄到 requires fedora-usermgmt ,索性也一併用 yum 裝了省得麻煩:

    $ yum -y install fedora-usermgmt

萬事似乎俱備了,再來個 rpmbuild 試看看……

嗯,還是有 error:

    /usr/bin/ld: cannot find -lgcrypt

唔,那肯定是少了 libgcrypt-devel,所以:

    $ yum -y install libgcrypt-devel

嗯,第三次 rpmbuild 囉,反正劉大耳不也找諸葛茅蘆光顧了三次……

好囉,終於看到這幾行字了:

    Wrote: /usr/src/redhat/SRPMS/heartbeat-2.0.6-2.src.rpm
    Wrote: /usr/src/redhat/RPMS/i386/heartbeat-2.0.6-2.i386.rpm
    Wrote: /usr/src/redhat/RPMS/i386/ldirectord-2.0.6-2.i386.rpm
    Wrote: /usr/src/redhat/RPMS/i386/stonith-2.0.6-2.i386.rpm
    Wrote: /usr/src/redhat/RPMS/i386/pils-2.0.6-2.i386.rpm
    Wrote: /usr/src/redhat/RPMS/i386/heartbeat-devel-2.0.6-2.i386.rpm
    Wrote: /usr/src/redhat/RPMS/i386/heartbeat-debuginfo-2.0.6-2.i386.rpm

rpms 都生出來了,那就…打完收工!

至於能不能用呢?……我也不知,下星期再找機器弄個環境來試看看……

喝啤酒先去…… :D