#!/bin/sh # # @file pkg_install_debian.sh # @brief OpenRTM-aist dependent packages install script for Debian-sarge # @author Noriaki Ando <n-ando@aist.go.jp> # Shinji Kurihara # Tetsuo Ando # Harumi Miyamoto # #--------------------------------------- # パッケージリスト #--------------------------------------- omni="libomniorb4 libomniorb4-dev omniidl4 omniorb4-nameserver" ace="libace libace-dev" openrtm="openrtm-aist openrtm-aist-doc openrtm-aist-dev openrtm-aist-example" openrtm04="openrtm-aist=0.4.2-1 openrtm-aist-doc=0.4.2-1 openrtm-aist-dev=0.4.2-1 openrtm-aist-example=0.4.2-1" pyyaml="python-support python-yaml" devel="gcc g++ make uuid-dev" packages="$devel $omni $ace $pyyaml $openrtm" u_packages="$omni $ace $openrtm " #--------------------------------------- # ãƒã‚±ãƒ¼ãƒ«ã®è¨€èªžç¢ºèª #--------------------------------------- check_lang() { lang="en" locale | grep ja_JP > /dev/null && lang="jp" if test "$lang" = "jp" ;then msg1="ディストリビューションを確èªã—ã¦ãã ã•ã„。\nDebian以外ã®OSã®å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚" msg2="コードãƒãƒ¼ãƒ : " msg3="ã“ã®OSã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ãŠã‚Šã¾ã›ã‚“。" msg4=" OpenRTM-aistã®ãƒªãƒã‚¸ãƒˆãƒªãŒç™»éŒ²ã•れã¦ã„ã¾ã›ã‚“。" msg5="Source.listã«OpenrRTM-aistã®ãƒªãƒã‚¸ãƒˆãƒªï¼š" msg6="ã‚’è¿½åŠ ã—ã¾ã™ã€‚よã‚ã—ã„ã§ã™ã‹ï¼Ÿ (y/n) [y] " msg7="䏿–ã—ã¾ã™ã€‚" msg8="ルートユーザーã§å®Ÿè¡Œã—ã¦ãã ã•ã„。" msg9="インストールä¸ã§ã™..." msg10="完了" msg11="アンインストールä¸ã§ã™" else msg1="This distribution may not be debian/ubuntu." msg2="The code name is : " msg3="This OS is not supported." msg4="No repository entry for OpenRTM-aist is configured in your system." msg5="repository entry for OpenrRTM-aist: " msg6="Do you want to add the repository entry for OpenrRTM-aist in source.list? (y/n) [y] " msg7="Abort." msg8="This script should be run as root." msg9="Now installing: " msg10="done." msg11="Now uninstalling: " fi } #--------------------------------------- # リãƒã‚¸ãƒˆãƒªã‚µãƒ¼ãƒ #--------------------------------------- create_srclist () { cnames="sarge etch lenny" for c in $cnames; do if test -f "/etc/apt/sources.list"; then res=`grep $c /etc/apt/sources.list` else echo $msg1 exit fi if test ! "x$res" = "x" ; then code_name=$c fi done if test ! "x$code_name" = "x"; then echo $msg2 $code_name else echo $msg3 exit fi openrtm_repo="deb http://www.openrtm.org/pub/Linux/debian/ $code_name main" } #--------------------------------------- # ソースリスト更新関数ã®å®šç¾© #--------------------------------------- update_source_list () { rtmsite=`grep openrtm /etc/apt/sources.list` if test "x$rtmsite" = "x" ; then echo $msg4 echo $msg5 echo " " $openrtm_repo read -p $msg6 kick_shell if test "x$kick_shell" = "xn" ; then echo $msg7 exit 0 else echo $openrtm_repo >> /etc/apt/sources.list fi fi } #---------------------------------------- # root ã‹ã©ã†ã‹ã‚’ãƒã‚§ãƒƒã‚¯ #---------------------------------------- check_root () { if test ! `id -u` = 0 ; then echo "" echo $msg8 echo $msg7 echo "" exit 1 fi } #---------------------------------------- # パッケージインストール関数 #---------------------------------------- install_packages () { for p in $*; do echo $msg9 $p  apt-get install $p echo $msg10 echo "" done } #------------------------------------------------------------ # ãƒªã‚¹ãƒˆã‚’é€†é †ã«ã™ã‚‹ #------------------------------------------------------------ reverse () { for i in $*; do echo $i done | sed '1!G;h;$!d' } #---------------------------------------- # パッケージをアンインストールã™ã‚‹ #---------------------------------------- uninstall_packages () { for p in $*; do echo $msg11 $p aptitude remove $p echo $msg10 echo "" done } #--------------------------------------- # メイン #--------------------------------------- check_lang check_root #if test "x$1" = "x0.4.2" || test "x$1" = "x0.4" ; then openrtm=$openrtm04 packages="$devel $omni $ace $pyyaml $openrtm" #fi if test "x$1" = "x-u" ; then uninstall_packages `reverse $u_packages` else create_srclist update_source_list apt-get update install_packages $packages fi