From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from arroyo.ext.ti.com (arroyo.ext.ti.com [192.94.94.40]) by arago-project.org (Postfix) with ESMTPS id EDFD652A14 for ; Tue, 6 Aug 2013 19:32:17 +0000 (UTC) Received: from dlelxv90.itg.ti.com ([172.17.2.17]) by arroyo.ext.ti.com (8.13.7/8.13.7) with ESMTP id r76JWHVg006286 for ; Tue, 6 Aug 2013 14:32:17 -0500 Received: from DLEE70.ent.ti.com (dlee70.ent.ti.com [157.170.170.113]) by dlelxv90.itg.ti.com (8.14.3/8.13.8) with ESMTP id r76JWHBu004337 for ; Tue, 6 Aug 2013 14:32:17 -0500 Received: from dlelxv24.itg.ti.com (172.17.1.199) by DLEE70.ent.ti.com (157.170.170.113) with Microsoft SMTP Server id 14.2.342.3; Tue, 6 Aug 2013 14:32:16 -0500 Received: from localhost.localdomain (dbdp20.itg.ti.com [172.24.170.38]) by dlelxv24.itg.ti.com (8.13.8/8.13.8) with ESMTP id r76JWEkK005505; Tue, 6 Aug 2013 14:32:15 -0500 From: "Franklin S. Cooper Jr" To: Date: Tue, 6 Aug 2013 14:58:53 -0500 Message-ID: <1375819133-1835-1-git-send-email-fcooper@ti.com> X-Mailer: git-send-email 1.7.0.4 MIME-Version: 1.0 Cc: "Franklin S. Cooper Jr" Subject: [PATCH v2] ti-tisdk-install: Move SDK installation script X-BeenThere: meta-arago@arago-project.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Arago metadata layer for TI SDKs - OE-Core/Yocto compatible List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Aug 2013 19:32:18 -0000 Content-Type: text/plain Several steps are required before an SDK image is ready to be used. 1. Extract toolchain sdk (linuxdevkit.sh) 2. Update Rules.make variables. 3. Update CCS project information The script that sdk-install.sh is based on was previously packaged and ran by the SDK installed (based on InstallJammer). By moving the logic outside of the installer. OE users can now create a fully functioning SDK without any outside dependencies by simply running sdk-install located in the root of the SDK image. Signed-off-by: Franklin S. Cooper Jr --- Version 2 changes: Remove debug mode (set -x) Remove license since script is simple .../ti-tisdk-install/sdk-install.sh | 85 ++++++++++++++++++++ .../ti-tisdk-install/ti-tisdk-install_1.0.bb | 15 ++++ 2 files changed, 100 insertions(+), 0 deletions(-) create mode 100644 meta-arago-distro/recipes-tisdk/ti-tisdk-install/ti-tisdk-install/sdk-install.sh create mode 100644 meta-arago-distro/recipes-tisdk/ti-tisdk-install/ti-tisdk-install_1.0.bb diff --git a/meta-arago-distro/recipes-tisdk/ti-tisdk-install/ti-tisdk-install/sdk-install.sh b/meta-arago-distro/recipes-tisdk/ti-tisdk-install/ti-tisdk-install/sdk-install.sh new file mode 100644 index 0000000..a7cd1a7 --- /dev/null +++ b/meta-arago-distro/recipes-tisdk/ti-tisdk-install/ti-tisdk-install/sdk-install.sh @@ -0,0 +1,85 @@ + +#!/bin/sh + +# Process command line... +while [ $# -gt 0 ]; do + case $1 in + --install_dir) + shift; + install_dir=$1; + ;; + *) + shift; + ;; + esac +done + +if [ "x$install_dir" = "x" ]; then + # Verify that the script is being called within untar SDK directory + if [ ! -d "$PWD/board-support" -a ! -f "$PWD/Rules.make" ]; then + echo "Script must be called within untarred sdk directory" + exit 1 + else + install_dir="$PWD" + fi +fi + +# Get full path to SDK directory +cd "$install_dir" +install_dir="$PWD" +cd - + +if [ ! -d $install_dir ]; then + echo "Installation directory does not exist" + exit 1 +fi + +# Remove any .svn directories that were packaged by the sourceipks +rm -rf `find $install_dir -name ".svn"` + + +# Update Rules.make variables + +sed -i -e s=__SDK__INSTALL_DIR__=$install_dir= $install_dir/Rules.make + +# Find the linux directory name +linux=`find $install_dir/board-support -maxdepth 1 -name "linux*"` +linux=`basename $linux` +sed -i -e s=__KERNEL_NAME__=$linux= $install_dir/Rules.make +cd - + + +# Install toolchain sdk +$install_dir/linux-devkit.sh -y -d $install_dir/linux-devkit + +# Remove toolchain sdk +rm $install_dir/linux-devkit.sh + + +# Update example applications CCS project files + +# Grab some essential variables from environment-setup +TARGET_SYS=`sed -n 's/^export TARGET_SYS=//p' $install_dir/linux-devkit/environment-setup` +TOOLCHAIN_SYS=`sed -n 's/^export TOOLCHAIN_SYS=//p' $install_dir/linux-devkit/environment-setup` +SDK_SYS=`sed -n 's/^export SDK_SYS=//p' $install_dir/linux-devkit/environment-setup` + +# Grab toolchain's GCC version +GCC_VERSION=`ls $install_dir/linux-devkit/sysroots/$SDK_SYS/usr/lib/gcc/$TOOLCHAIN_SYS/` + +TOOLCHAIN_TARGET_INCLUDE_DIR="linux-devkit/sysroots/$TARGET_SYS/usr/include" +TOOLCHAIN_INCLUDE_DIR="linux-devkit/sysroots/$SDK_SYS/usr/lib/gcc/$TOOLCHAIN_SYS/$GCC_VERSION/include" + +# Update CCS project files using important paths to headers + +find $install_dir/example-applications -type f -exec sed -i "s||$TOOLCHAIN_TARGET_INCLUDE_DIR|g" {} \; +find $install_dir/example-applications -type f -exec sed -i "s||$TOOLCHAIN_INCLUDE_DIR|g" {} \; + + +if [ -f "$install_dir/sdk-install.sh" ]; then + # File is only able to run once so delete it from the SDK + rm "$install_dir/sdk-install.sh" +fi + +echo "Installation completed!" +exit 0 + diff --git a/meta-arago-distro/recipes-tisdk/ti-tisdk-install/ti-tisdk-install_1.0.bb b/meta-arago-distro/recipes-tisdk/ti-tisdk-install/ti-tisdk-install_1.0.bb new file mode 100644 index 0000000..1c96ae5 --- /dev/null +++ b/meta-arago-distro/recipes-tisdk/ti-tisdk-install/ti-tisdk-install_1.0.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "Contains script to properly extract and update various files" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +SRC_URI = "file://sdk-install.sh" + +PR = "r0" + +do_install () { + install -d ${D}/ + install ${WORKDIR}/sdk-install.sh ${D}/sdk-install.sh + +} + +FILES_${PN} = "/*" -- 1.7.0.4