制作syslog-ng的rpm

  虽然网上找得到2.0.3的i386的rpm,不过要装一台x86_64的,决定自己编译一下rpm。

  www.balabit.com上最新的版本是2.0.4,下载回来解开后准备开始重建,发现还需要自家的eventlog库,因为官方的eventlog库似乎没有提供现成的spec或src.rpm,所以就偷懒找了别人的,在www.silfreed.net上有现成的src.rpm。后来编译时发现还需要libnet库,所幸centos的extras仓库里已有这个库,只要用yum安装就好了。列一下安装步骤,另外需要改动一下原包里的spec,否则会编译失败。

mllm © 2004-2008, allblue
Source: syslog-ng_%{version}.tar.gz
#改为
Source: syslog-ng-%{version}.tar.gz

BuildRequires: bison, flex, gcc-c++, pkgconfig, glib2-devel, libevtlog-devel
#改为
BuildRequires: bison, flex, gcc-c++, pkgconfig, glib2-devel, eventlog-devel
Parsed in 0.004 seconds

mllm © 2004-2008, allblue
#安装libnet
yum install libnet

#移动syslog-ng.spec.bb
mv /tmp/syslog-ng.spec.bb /usr/src/redhat/SPECS

#移动syslog-ng包
mv /tmp/syslog-ng-2.0.4.tar.gz /usr/src/redhat/SOURCES/

#移动eventlog的src.rpm
mv /tmp/eventlog-0.2.5-1.src.rpm /usr/src/redhat/SRPMS

rpmbuild --rebuild --target=x86_64 eventlog-0.2.5-1.src.rpm

cd /usr/src/redhat/RPMS/x86_64
rpm -ivh eventlog-0.2.5-1.x86_64.rpm eventlog-devel-0.2.5-1.x86_64.rpm

cd /usr/src/redhat/SPECS
rpmbuild --target=x86_64 -bb syslog-ng.spec.bb

cd /usr/src/redhat/RPMS/x86_64
rpm -ivh syslog-ng-2.0.4-1.x86_64.rpm
Parsed in 0.008 seconds

OK,syslog-ng最新版已经按照到系统里了。