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