当前puppet的最新版是:http://puppetlabs.com/downloads/puppet/puppet-2.7.6.tar.gz
facter的最新稳定版本是:http://puppetlabs.com/downloads/facter/facter-1.6.2.tar.gz
facter的最新稳定版本是:http://puppetlabs.com/downloads/facter/facter-1.6.2.tar.gz
puppet-2.6.6.tar.gz中的conf/redhat/目录下包含了一个puppet.spec文件,经过简单的修改,就可又直接用来制作rpm包了。
我的当前环境是RHEL-5.7,x86_64。
1. 准备自己的打包环境
确认系统上有rpmbuild命令可用,没有的话,安装rpm-build包。
建议使用个人账号打包,这样需要先初始化一个自己的打包环境:
在自己的home目录建一个rpmbuld目录,
建议使用个人账号打包,这样需要先初始化一个自己的打包环境:
在自己的home目录建一个rpmbuld目录,
$cd ~
$mkdir rpmbuild
$mkdir rpmbuild/{SOURCES,SPECS,SRPMS,RPMS,BUILD}
$mkdir rpmbuild
$mkdir rpmbuild/{SOURCES,SPECS,SRPMS,RPMS,BUILD}
然后,在自己的home目录下建一个.rpmmacros 文件,内容如下:
%_topdir %(echo $HOME)/rpmbuild
%_topdir %(echo $HOME)/rpmbuild
对于这次要打包的puppet,puppet.spec中依赖一个rhel宏,你可以写在.rpmmacros文件里,也可以rpmbuild -D ‘rhle 5′这样在打包时指定。
假如写在.rpmmacros文件里,内容如下:
%rhel 5
%rhel 5
另外,还有一个建议,假如你想打出来的包的名字是puppet-2.7.6-1.el5.noarch.rpm,那么,在这个文件里写添加一个宏dist
%dist .el5
%dist .el5
2.下载puppet包,还有puppet-2.7.6.tar.gz.asc,这个打src包时,需要。
3.修改puppet.spec文件,官方提供的这个包里的puppet.spec有个错误,搜索http_server,只有一行,将http_server改为http。
4.将这个puppet.spec复制到~/rpmbuild/SPECS下。
5.将修改过的puppet-2.7.6目录重新打包,将包复制到~/rpmbuild/SOURCES目录下。
6. 最后一步,开始打包:
$cd ~/rpmbuild/SPECS
假如~/.rpmmacros里已经写了rhel宏,那么这里就可以直接打包了:
$rpmbuild -ba puppet.spec
假如~/.rpmmacros里已经写了rhel宏,那么这里就可以直接打包了:
$rpmbuild -ba puppet.spec
假如~/.rpmmacros里没有定义rhel宏,那么命令需要这样写:
$rpmbuild -D ‘rhel 5′ -ba puppet.spec
假如不出意外,打好的包会放在~/rpmbuild/RPMS/noarch目录下。
假如出错,一般是依赖关系的问题,缺少什么,就安装什么包(一般是xxx-devel包),然后重新打包就可以了。
打facter的rpm包与puppet的差不多,将facter-1.6.2.tar.gz解压后,将conf/redhat/facter.spec复制到~/rpmbuild/SPECS下,将facter-1.6.2.tar.gz复制到~/rpmbuild/SOURCES下,然后开始打包:
$cd ~/rpmbuild/SPECS
$rpmbuild -ba facter.spec
$rpmbuild -ba facter.spec
参考:
http://www.php-oa.com/2010/05/11/linux-rpm-build.html
http://www.ibm.com/developerworks/cn/linux/management/package/rpm/part1/
http://www.ibm.com/developerworks/cn/linux/management/package/rpm/part2/
http://www.ibm.com/developerworks/cn/linux/management/package/rpm/part3/
http://ogres.iteye.com/blog/343674
http://www.php-oa.com/2010/05/11/linux-rpm-build.html
http://www.ibm.com/developerworks/cn/linux/management/package/rpm/part1/
http://www.ibm.com/developerworks/cn/linux/management/package/rpm/part2/
http://www.ibm.com/developerworks/cn/linux/management/package/rpm/part3/
http://ogres.iteye.com/blog/343674