• 专用机 rpm 脚本打包


    #!/bin/bash
    #Date:6/18/2021
    #Function:快速制作SMJ安装包

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

    ##################################脚本说明##############################################
    function explain {
    [ -d ~/rpmbuild/myscript ] || mkdir -p ~/rpmbuild/myscript
    [ -d ~/rpmbuild/SOURCES ] || mkdir -p ~/rpmbuild/SOURCES
    [ -d ~/rpmbuild/SPECS ] || mkdir -p ~/rpmbuild/SPECS
    cd ~/rpmbuild/

    cat <<EOF
    *************************************************************************************************************
    注意:1.此脚本只适用于制作无需编译的安装包.
    2.请确认你所要导入系统的文件已经放到了 ~/rpmbuild/myscript/ 目录下
    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) /usr/bin/ 下
    (2) /usr/local/bin/ 下
    (3) 自定义
    (4) 退出
    *******************************************************
    EOF
    read -p "你想把包打在哪个目录下:" softpath
    case $softpath in
    1)
    softpath=/usr/bin/;;
    2)
    softpath=/usr/local/bin/;;
    3)
    read -p "请手动敲打你要把包打在哪个目录下:" softpath;;
    4)
    cecho 32 Byebye
    exit;;
    *)
    cecho 31 "不要瞎敲,手别抖,重新运行脚本试试吧!"
    exit;;
    esac

    platform=noarch

    }

    ###########################主程序打包#############################################
    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: 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
    none

    %prep
    %setup -q
    %build
    %install
    rm -rf $RPM_BUILD_ROOT
    mkdir -p $RPM_BUILD_ROOT$softpath
    cp -rf * $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

    本文来自博客园,作者:zwbsoft,转载请注明原文链接:https://www.cnblogs.com/zwbsoft/p/15413468.html

    电话微信:13514280351
  • 相关阅读:
    Chap5:操作文件和目录[The Linux Command Line]
    ABC3
    ABC2
    ABC
    Spring MVC / Boot
    Usefull Resources
    [ Learning ] Design Pattens
    [ Learning ] Spring Resources
    URL Resources
    [ Windows BAT Script ] BAT 脚本获取windows权限
  • 原文地址:https://www.cnblogs.com/zwbsoft/p/15413468.html
Copyright © 2020-2023  润新知