以前如果要打多个不同的rpm包,总是要在不同的server上打包,觉得很麻烦。上次正好有时间研究了一下,发现只要重定义打包路径,就能在一台server上打出多个rpm包,于是就写了一个打包的shell脚本,当然也是在原来的基础做的,比较简单。
结构如下:
buildrpm.sh
#!/bin/sh
version=2.2.4
path=`pwd`#获取当前路径
rpmbuild=$path/rpmbuild
release=$path/release
arch=`uname -i`#获取系统位数
redhat=$path/redhat
sed -i "s/^dt=[0-9]*.[0-9]*.[0-9]*/dt=$version/" $redhat/SPECS/rpmwebadmin.sh
rm -rf $release
rm -rf $rpmbuild
echo "%_topdir $rpmbuild" > ~/.rpmmacros
mkdir -p $rpmbuild/BUILD $rpmbuild/RPMS/$arch $rpmbuild/SRPMS
cp -r $redhat/SOURCES $rpmbuild
cp -r $redhat/SPECS $rpmbuild
cd $rpmbuild/SOURCES
./tarsource.sh
cd $rpmbuild/SPECS
./rpmwebadmin.sh
mkdir -p $release
cp $rpmbuild/RPMS/$arch/* $release
rm -rf ~/.rpmmacros
rm -rf $rpmbuild
echo "Build rpm finished!!!"
打包以后会把所有的包都放在release目录里,结构如下: