制作haproxy rpm包

今天改了一下haproxy网页上的logo,将Haproxy改成了cs2c load balance。控制网页显示的文件在include/common/version.h中。

模仿网上下载的rpm包,自己写了一个spec文件:

 

  
    
Summary: haproxy load balance
Name: haproxy
Version:
1.4 . 9
Release:
1
License: GPL
Group: linuxing
Source: haproxy
- 1.4 . 9 .tar.gz
Url: http:
// www.cs2c.com.cn
Packager: lm

% description
This package
is about haproxy load balance made by lm

% prep
% setup - c
% install
cp
- r haproxy - 1.4 . 9 / etc / haproxy / / etc /
cp
- r haproxy - 1.4 . 9 / etc / logrotate.d / haproxy / etc / logrotate.d /
cp
- r haproxy - 1.4 . 9 / etc / rc.d / init.d / haproxy / etc / init.d /
chkconfig
-- add haproxy
chmod
755 / etc / init.d / haproxy
cp
- r haproxy - 1.4 . 9 / usr / sbin / haproxy / usr / sbin /
cp
- r haproxy - 1.4 . 9 / usr / share / doc / haproxy - 1.3 . 25 / usr / share / doc /
cp
- r haproxy - 1.4 . 9 / usr / share / haproxy / usr / share /
cp
- r haproxy - 1.4 . 9 / usr / share / man / man1 / haproxy. 1 .gz / usr / share / man / man1 /
cp
- r haproxy - 1.4 . 9 / var / lib / haproxy / var / lib /

% files
% defattr( - ,root,root)
/ usr / sbin / haproxy
/ etc / haproxy / haproxy.cfg
/ etc / logrotate.d / haproxy
/ etc / init.d / haproxy
/ usr / share / doc / haproxy - 1.3 . 25
/ usr / share / haproxy
/ usr / share / man / man1 / haproxy. 1 .gz
/ var / lib / haproxy

其中主要是替换了/usr/sbin/目录下的haproxy二进制文件,利用源码编译后生成的新文件进行替换。

 

耗费时间的是%file参数,一开始自己建立了一个haproxy-1.4.9目录,代码都在这里。运行rpmbuild -bb haproxy.spec后可以成功生成rpm包,但安装后没有任何显示,也就是说安装与目录前后不一致。试了很多此,最后终于明白,%file中要写明安装后的文件目录。网上有很多文章介绍rpm打包,可以参考如下网址:

www.ibm.com/developerworks/cn/linux/l-rpm/

%file指的是已经安装后的文件目录。

另一个参考:

http://huanyue.javaeye.com/blog/721001

你可能感兴趣的:(haproxy)