zoukankan      html  css  js  c++  java
  • ti processor sdk linux am335x evm /bin/setup-package-install.sh hacking

    #!/bin/sh
    
    #
    #   ti processor sdk linux am335x evm /bin/setup-package-install.sh hacking
    # 说明:
    #     本文主要对TI的sdk中的setup-package-install.sh脚本进行解读,是为了了解
    # 其工作机制。
    #
    #                                      2016-4-16 深圳 南山平山村 曾剑锋
    
    # This distribution contains contributions or derivatives under copyright
    # as follows:
    #
    # Copyright (c) 2010, Texas Instruments Incorporated
    # All rights reserved.
    #
    # Redistribution and use in source and binary forms, with or without
    # modification, are permitted provided that the following conditions
    # are met:
    # - Redistributions of source code must retain the above copyright notice,
    #   this list of conditions and the following disclaimer.
    # - Redistributions in binary form must reproduce the above copyright
    #   notice, this list of conditions and the following disclaimer in the
    #   documentation and/or other materials provided with the distribution.
    # - Neither the name of Texas Instruments nor the names of its
    #   contributors may be used to endorse or promote products derived
    #   from this software without specific prior written permission.
    #
    # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
    # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    # PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
    # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
    # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
    # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
    # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
    # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
    # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    
    cwd=`dirname $0`
    . $cwd/common.sh
    
    entry_header() {
    cat << EOF
    -------------------------------------------------------------------------------
    setup package script
    This script will make sure you have the proper host support packages installed
    This script requires administrator priviliges (sudo access) if packages are to be installed.
    -------------------------------------------------------------------------------
    EOF
    }
    
    exit_footer() {
    cat << EOF
    --------------------------------------------------------------------------------
    Package verification and installation successfully completed
    --------------------------------------------------------------------------------
    EOF
    }
    
    cwd=`dirname $0`
    . $cwd/common.sh
    
    entry_header
    
    packages_to_install="xinetd tftpd nfs-kernel-server minicom build-essential libncurses5-dev autoconf automake"
    
    get_host_type host
    
    # Starting with Ubuntu 14.04 the package name for uboot-mkimage has changed
    # to u-boot-tools
    
    if [ "$host" = "trusty" ]; then
        packages_to_install="$packages_to_install u-boot-tools"
    else
        packages_to_install="$packages_to_install uboot-mkimage"
    
    fi
    
    cmd="sudo apt-get install "
    
    # 合成需要安装的工具包
    # Check and only install the missing packages
    for i in $packages_to_install; do
        is_it_installed=`dpkg-query -l $i 2>/dev/null`
        if [ "$?" -ne "0" ]; then
            needs_installation=`echo $needs_installation`" "$i
            new_cmd=`echo $cmd`" "$i    # 每次将需要安装的包加载当前的cmd字符串后面
            cmd=$new_cmd
        fi
    done
    
    if [ "$needs_installation" = "" ]; then
        echo "System has required packages!"
    else
        echo "System requires packages $needs_installation to be installed"
    
        echo "Installation requires you to have administrator priviliges (sudo access) "
        echo "on your host. Do you have administrator privilieges?"
    
        # Force the user to answer.  Maybe the user does not want to continue
        while true;
        do
            read -p "Type 'y' to continue or 'n' to exit the installation: " REPLY
            if [ "$REPLY" = 'y' -o "$REPLY" = 'n' ]; then
                break;
            fi
        done
    
        if [ "$REPLY" = 'n' ]; then
            echo "Installation is aborted by user"
            exit 1
        fi
    
        # 执行并安装程序
        echo "Performing $cmd"
        $cmd
        check_status
    fi
    # Print the exit statement to the console
    exit_footer
  • 相关阅读:
    JDK1.7签名APK异常
    tomcat设置虚拟目录
    java runtime.exec() 的讲解(转贴)
    linux 下 .sh 文件语法
    Maven基础-配置远程仓库
    jdk工具keytool和jarsigner帮助Part2(jdk keytool&jarsigner tool manual)
    jdk工具keytool和jarsigner帮助Part1(jdk keytool&jarsigner tool manual)
    spring mvc + freemarker 引入静态文件(css,img,js)
    FilterDispatcher 的作用
    Struts2 过滤器与拦截器
  • 原文地址:https://www.cnblogs.com/zengjfgit/p/5398076.html
Copyright © 2011-2022 走看看