#!/bin/bash # # Copyright 2013, Intel Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; version 2 of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Library General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # native #author: Ronan Le Martret ronan@fridu.net GIT_CMD=git GIT_CLONE="${GIT_CMD} clone" GIT_FETCH="${GIT_CMD} fetch --all" GIT_PULL="${GIT_CMD} pull" GIT_RESET="${GIT_CMD} reset --hard" GIT_CO="${GIT_CMD} checkout" #Working directory #Change TOPDIR to your working directory. TOPDIR=/ssd YOCTO_DOWNLOAD=${TOPDIR}/download # The base project is pocky from "git://git.yoctoproject.org/poky" but for developpement needs, we fork the project on a private server. POCKY_DIR=${TOPDIR}/yocto-Tizen-Generic YOCTO_OPEN_TIZEN_GIT=git://git.yoctoproject.org/poky YOCTO_OPEN_TIZEN_BRANCH=master YOCTO_OPEN_TIZEN_SHA= #set build name and directory BUILDIR=build_nuc if [ ! -z ${CHECKOUTTIZEN} ]; then BUILDIR=${BUILDIR}_tizen fi BUILDPATH=${POCKY_DIR}/${BUILDIR} # We also need to include Intel BSP META_INTEL_DIR=${POCKY_DIR}/meta-intel META_INTEL_GIT=git://git.yoctoproject.org/meta-intel META_INTEL_BRANCH=master META_INTEL_SHA= # We need extra meta from openembedded META_OPENEMBEDDED_DIR=${POCKY_DIR}/meta-openembedded META_OPENEMBEDDED_GIT=git://git.openembedded.org/meta-openembedded META_OPENEMBEDDED_BRANCH=master META_OPENEMBEDDED_SHA= # We need extra meta from meta-pure-wayland META_PURE_WAYLAND_DIR=${POCKY_DIR}/meta-pure-wayland META_PURE_WAYLAND_BRANCH=master META_PURE_WAYLAND_SHA= # For the project Tizen on YOCTOTIZEN_DIR=${TOPDIR}/yoctoTizen YOCTOTIZEN_GIT=git@github.com:eurogiciel-oss/yoctoTizen.git YOCTOTIZEN_BRANCH=devel YOCTOTIZEN_SHA= function checkout_project { echo _________________________________________________________________________ INSTALL_DIR=$1 GIT_SRC=$2 GIT_BRANCH=$3 GIT_SHA=$4 echo start to update directory : ${INSTALL_DIR} echo from project : ${GIT_SRC} echo branch : ${GIT_BRANCH} echo sha : ${GIT_SHA} echo if [ -d ${INSTALL_DIR}/.git ]; then cd ${INSTALL_DIR} ${GIT_FETCH} ${GIT_CO} ${GIT_BRANCH} if [ $? = 0 ] ; then echo fetch and checkout OK else echo fetch and checkout FAILED fi else if [ -d ${INSTALL_DIR} ] ; then rm -fr ${INSTALL_DIR} fi ${GIT_CLONE} ${GIT_SRC} -b ${GIT_BRANCH} ${INSTALL_DIR} if [ $? = 0 ] ; then echo ${GIT_CLONE} OK else echo ${GIT_CLONE} FAILED fi cd ${INSTALL_DIR} fi if [ ! -z ${GIT_SHA} ] ; then ${GIT_RESET} ${GIT_SHA} if [ $? = 0 ] ; then echo ${GIT_RESET} OK else echo ${GIT_RESET} FAILED fi fi echo } function add_meta_to_bblayers { echo META_DIR=$1 BBLAYER_FILE=$2 echo add \"${META_DIR}\" to file ${BBLAYER_FILE}. if grep -q "${META_DIR} " "${BBLAYER_FILE}"; then echo ${META_DIR} is already present in ${BBLAYER_FILE}. else sed -i -e '/meta-yocto-bsp/a \ '${META_DIR}' \\' ${BBLAYER_FILE} fi } function change_conf_default_value { DEFAULT_VALUE=$1 OUR_VALUE=$2 CONF_FILE=$3 echo echo into file ${CONF_FILE} echo ' change value' \"${DEFAULT_VALUE}\" by \"${OUR_VALUE}\" if grep -q "${OUR_VALUE}" ${CONF_FILE} ;then echo \"${OUR_VALUE}\" is set in ${CONF_FILE}. else sed -i -e "s,${DEFAULT_VALUE},${OUR_VALUE},g" ${CONF_FILE} fi } function insert_conf { OUR_VALUE=$1 CONF_FILE=$2 echo echo add ${OUR_VALUE} to ${CONF_FILE} if grep -q "${OUR_VALUE}" ${CONF_FILE} ; then echo is already add ${OUR_VALUE} else echo echo ${OUR_VALUE} >> ${CONF_FILE} fi } function print_end_update { IMAGE_DST=$1 echo _________________________________________________________________________ echo echo echo echo '... project Tizen Generic in directory '${BUILDPATH}' is ready for work' echo echo ' # cd '${POCKY_DIR} echo ' # source ./oe-init-build-env '${BUILDIR} echo ' # bitbake -k '${IMAGE_DST} echo ' # ...' echo 'After image build:' echo ' # sudo dd if='${BUILDPATH}'/tmp/deploy/images/chiefriver/'${IMAGE_DST}'-chiefriver.hddimg of=/dev/sdX' echo ' ( /dev/sdX is your usb devise \"ls -l /dev/sd*\" ).' echo 'Warning: Before the first use read the file:' echo ' # less '${YOCTOTIZEN_DIR}'/README' echo echo _________________________________________________________________________ }