阅读背景:

rpm安装包制作脚本(仅限内部适用)_河静

来源:互联网 
#!/bin/bash
#Author:Hejing
#Date:06/30/2020
#Function:快速制作SMJ安装包(内部适用)

clear
function cecho {
        echo -e "3[
#!/bin/bash
#Author:Hejing
#Date:06/30/2020
#Function:快速制作SMJ安装包(内部适用)

clear
function cecho {
        echo -e "\033[$1m$2\033[0m"
#fonts color:31-red;32-green;36-deepgreen;34-blue;
}


##################################脚本说明##############################################
function explain {
[ -d /root/rpmbuild/myscript ] || mkdir /root/rpmbuild/myscript
cat <<EOF
*************************************************************************************************************
注意:1.此脚本是SMJ-HA专用,只适用于打单目录的安装包。且该脚本必须在/root/rpmbuild下运行!!!
      2.请确认你所需要的脚本已经放到了myscript目录下(该目录系统已生成在/root/rpmbuild下)!!!
      3.如已经操作过,回复Y继续,没有回复N,退出脚本后手动把需要的脚本拷贝到myscript下,重新运行脚本即可!!!
*************************************************************************************************************
EOF
read -p "请选择(Y/N):" choice
case $choice in
        y|Y)
        menu
        unpack;;
        n|N)
        cecho  31 "请手动拷贝所需脚本到myscript下,重新运行脚本!!"
        exit;;
        *)
        cecho 31 "输入有误,退出脚本!!"
        exit;;
esac
}

#################################脚本选择菜单###########################################
function menu {
read -p "请输入安装包名:" softname
read -p "请输入安装包版本(如1.0.0):" version
cat <<EOF
********************************************************
        (1)/opt/ha/lib/ocf/resource.d/heartbeat/下
        (2)/opt/ha/usr/lib/ocf/resource.d/heartbeat/下
        (3)自定义
        (4)退出
*******************************************************
EOF
read -p "你想把包打在哪个目录下:" softpath
case $softpath in
        1)
        softpath=/opt/ha/lib/ocf/resource.d/heartbeat/;;
        2)
        softpath=/opt/ha/usr/lib/ocf/resource.d/heartbeat/;;
        3)
        read -p "请手动敲打你要把包打在哪个目录下:" softpath;;
        4)
        cecho 32 Byebye
        exit;;
        *)
        cecho 31 "不要瞎敲,手别抖,重新运行脚本试试把!"
        exit;;
esac

cat <<EOF
******************************************************
        (1)龙芯-mips64el
        (2)兆芯-x86_64
        (3)不分架构-noarch
        (4)退出脚本
******************************************************
EOF
read -p "你想制作什么平台的包:" platform

case $platform in
        1)
        platform=mips64el;;
        2)
        platform=x86_64;;
        3)
        platform=noarch;;
        4)
        cecho 32 Byebye
        exit;;
        *)
        cecho 31 "不要瞎敲,手别抖,重新运行脚本试试把!"
        exit;;
esac
}
##########################主程序打包#############################################
function unpack {
#打包
chmod +x myscript/*
mkdir -p $softname-$version
cp -a myscript/* $softname-$version
tar -zcvf $softname.tar.gz $softname-$version
#把包拷到SOURCES下
cp -a $softname.tar.gz SOURCES
rm -rf $softname-$version
rm -rf $softname.tar.gz


#编写spec文件
cat >$PWD/SPECS/$softname.spec<<EOF
Name: $softname
Version: $version
Summary: Ha script for secret machine
Release: 1
Vendor: halton
Source0: $softname.tar.gz
#Buildarch: noarch
#BuildRequires:
#Requires:

License: GPL
Group: System Enviroment/Base
BuildRoot: /var/tmp/$softname-buildroot

%description
The package is used for SMJ-HA

%prep
%setup -q
%build
%install
rm -rf \$RPM_BUILD_ROOT
mkdir -p \$RPM_BUILD_ROOT$softpath
cp * \$RPM_BUILD_ROOT$softpath

%clean
rm -rf \$RPM_BUILD_ROOT

%files
$softpath/*

%changelog
* Mon Jun 29 2020 xxx - 1.0.0-02
  add xx
EOF

#sed -i '22c rm -rf $RPM_BUILD_ROOT' $PWD/SPECS/$softname.spec
#sed -i '23c mkdir -p $RPM_BUILD_ROOT$softpath' $PWD/SPECS/$softname.spec
#sed -i '24c cp * $RPM_BUILD_ROOT$softpath' $PWD/SPECS/$softname.spec

#进行打包
rpmbuild -ba --target=$platform $PWD/SPECS/$softname.spec
cecho 32 "$softname-$version-1.$platform安装包制作完成!!"
}

#case $platform in
#       1|2|3)
        explain
#       4)
#       echo "Byebye"
#       exit;;
#       *)
#       echo "你输入有误,请重新运行脚本!!!"
#esac

m3[0m" #fonts color:31-red;32-green;36-deepgreen;34-blue; } ##################################脚本说明############################################## function explain { [ -d /root/rpmbuild/myscript ] || mkdir /root/rpmbuild/myscript cat <<EOF ************************************************************************************************************* 注意:1.此脚本是SMJ-HA专用,只适用于打单目录的安装包。且该脚本必须在/root/rpmbuild下运行!!! 2.请确认你所需要的脚本已经放到了myscript目录下(该目录系统已生成在/root/rpmbuild下)!!! 3.如已经操作过,回复Y继续,没有回复N,退出脚本后手动把需要的脚本拷贝到myscript下,重新运行脚本即可!!! ************************************************************************************************************* EOF read -p "请选择(Y/N):" choice case $choice in y|Y) menu unpack;; n|N) cecho 31 "请手动拷贝所需脚本到myscript下,重新运行脚本!!" exit;; *) cecho 31 "输入有误,退出脚本!!" exit;; esac } #################################脚本选择菜单########################################### function menu { read -p "请输入安装包名:" softname read -p "请输入安装包版本(如1.0.0):" version cat <<EOF ******************************************************** (1)/opt/ha/lib/ocf/resource.d/heartbeat/下 (2)/opt/ha/usr/lib/ocf/resource.d/heartbeat/下 (3)自定义 (4)退出 ******************************************************* EOF read -p "你想把包打在哪个目录下:" softpath case $softpath in 1) softpath=/opt/ha/lib/ocf/resource.d/heartbeat/;; 2) softpath=/opt/ha/usr/lib/ocf/resource.d/heartbeat/;; 3) read -p "请手动敲打你要把包打在哪个目录下:" softpath;; 4) cecho 32 Byebye exit;; *) cecho 31 "不要瞎敲,手别抖,重新运行脚本试试把!" exit;; esac cat <<EOF ****************************************************** (1)龙芯-mips64el (2)兆芯-x86_64 (3)不分架构-noarch (4)退出脚本 ****************************************************** EOF read -p "你想制作什么平台的包:" platform case $platform in 1) platform=mips64el;; 2) platform=x86_64;; 3) platform=noarch;; 4) cecho 32 Byebye exit;; *) cecho 31 "不要瞎敲,手别抖,重新运行脚本试试把!" exit;; esac } ##########################主程序打包############################################# function unpack { #打包 chmod +x myscript/* mkdir -p $softname-$version cp -a myscript/* $softname-$version tar -zcvf $softname.tar.gz $softname-$version #把包拷到SOURCES下 cp -a $softname.tar.gz SOURCES rm -rf $softname-$version rm -rf $softname.tar.gz #编写spec文件 cat >$PWD/SPECS/$softname.spec<<EOF Name: $softname Version: $version Summary: Ha script for secret machine Release: 1 Vendor: halton Source0: $softname.tar.gz #Buildarch: noarch #BuildRequires: #Requires: License: GPL Group: System Enviroment/Base BuildRoot: /var/tmp/$softname-buildroot %description The package is used for SMJ-HA %prep %setup -q %build %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT$softpath cp * $RPM_BUILD_ROOT$softpath %clean rm -rf $RPM_BUILD_ROOT %files $softpath/* %changelog * Mon Jun 29 2020 xxx - 1.0.0-02 add xx EOF #sed -i '22c rm -rf $RPM_BUILD_ROOT' $PWD/SPECS/$softname.spec #sed -i '23c mkdir -p $RPM_BUILD_ROOT$softpath' $PWD/SPECS/$softname.spec #sed -i '24c cp * $RPM_BUILD_ROOT$softpath' $PWD/SPECS/$softname.spec #进行打包 rpmbuild -ba --target=$platform $PWD/SPECS/$softname.spec cecho 32 "$softname-$version-1.$platform安装包制作完成!!" } #case $platform in # 1|2|3) explain # 4) # echo "Byebye" # exit;; # *) # echo "你输入有误,请重新运行脚本!!!" #esac #!/bin/bash #Author:Hejing #Date:06/30/2



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: