• 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
  • 相关阅读:
    2.DI依赖注入
    1.Spring框架入门案例
    5.通过参数注解多个接口参数的用法
    4.update更新和delete删除用法
    3.insert添加用法
    git基础操作
    2.mongodb可视化工具
    12.Scrapy与mongodb交互和设置中间键
    WPF 学习系列汇总
    WPF 4.0 DatePicker 快速录入
  • 原文地址:https://www.cnblogs.com/zengjfgit/p/5398076.html
Copyright © 2020-2023  润新知