zoukankan      html  css  js  c++  java
  • 专用机 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
  • 相关阅读:
    WCF服务自我寄宿 Windows服务
    客户端调用 WCF 的几种方式
    SQL Server 2005 数据库 可疑状态
    mysql server 自动断开的问题
    mysql数据表简单拷贝及重命名
    Mac提示App已损坏 你应该将它移到废纸篓的解决方案
    Mac系统下安装Tomcat,以及终端出现No such file or directory的错误提示解决方案
    md1
    转-SourceTree注册atlassian账号SIGUP按钮灰色无法注册的问题
    mysql my.cnf优化
  • 原文地址:https://www.cnblogs.com/zwbsoft/p/15413468.html
Copyright © 2011-2022 走看看