#!/bin/bash
#Author:Haodong Zhang
#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
rpm安裝包製作腳本(僅限內部適用)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.