| #!/bin/bash |
| # Script for releasing SDK open source software on eureka-partner. |
| # Usage: |
| # release_oss.sh <oss_target_directory> |
| # |
| # Output is chromecast_sdk_oss.tgz in <oss_target_directory>. |
| |
| # Release all source code under ./kernel. |
| function release_kernel() { |
| src=$1/kernel |
| dst=$2/kernel |
| echo "Copying kernel from $src ==> $dst..." |
| |
| mkdir -p ${dst} |
| # Clean up source tree. |
| pushd ${src} && git clean -dfx && popd |
| |
| rsync -av ${src}/ ${dst} --exclude .git |
| } |
| |
| # Release source code under ./u-boot |
| function release_bootloader() { |
| src=$1/u-boot |
| dst=$2/u-boot |
| echo "Copying bootloader from $src ==> $dst..." |
| |
| mkdir -p ${dst} |
| # Clean up source tree. |
| pushd ${src} && git clean -dfx && popd |
| |
| rsync -av ${src}/ ${dst} --exclude .git |
| } |
| |
| sdk_root=$(readlink -f $(dirname $0)/../../) |
| |
| if [[ $# != 1 ]]; then |
| echo "Usage: $0 OSS_RELEASE_DIR" |
| exit 1 |
| fi |
| |
| oss_root=$(readlink -f $1) |
| oss_tmp_dir=${oss_root}/chromecast_sdk_oss |
| |
| if [[ ${oss_root} == ${sdk_root}/* ]]; then |
| echo "OSS_RELEASE_DIR can't be sub-dir of sdk_root $sdk_root" |
| exit 1 |
| fi |
| |
| # Clear and create output dir. |
| rm -rf ${oss_tmp_dir} |
| mkdir -p ${oss_tmp_dir} |
| |
| release_kernel ${sdk_root} $oss_tmp_dir |
| |
| release_bootloader ${sdk_root} ${oss_tmp_dir} |
| |
| tar zcvf ${oss_root}/chromecast_sdk_oss.tgz -C ${oss_root} chromecast_sdk_oss |
| rm -rf ${oss_tmp_dir} |
| |
| echo "Open Source Software has been released to ${oss_root}/chromecast_sdk_oss.tgz". |