#!/bin/sh set -e # TODO add some help and some argumenst parsing BOARD=omnia if [ "$1" = "omnia" ] || [ "$1" = "turris" ] || [ "$1" = "all" ]; then BOARD=$1 shift fi # remove previous builds rm -rf .omnia-sdk rm -rf .turris-sdk pull_sdk() { # Update only once a day if [ ! -e .$1-sdk-clean ] || [ $(expr $(date -u +%s) - $(stat -c %Z .$1-sdk-clean)) -gt 86400 ]; then rm -rf .$1-sdk-clean echo -e "\e[1;34mGetting current SDK for $1\e[0m" curl "$2" | tar -xjf - mv OpenWrt-SDK-* .$1-sdk-clean fi # Copy clean sdk rm -rf .$1-sdk rsync -aW --inplace --delete .$1-sdk-clean/ .$1-sdk/ } # TODO these links won't be valid forever if [ "$BOARD" = "omnia" ] || [ "$BOARD" = "all" ]; then pull_sdk omnia "https://repo.turris.cz/omnia-nightly/OpenWrt-SDK-mvebu_gcc-4.8-linaro_musl-1.1.15_eabi.Linux-x86_64.tar.bz2" fi if [ "$BOARD" = "turris" ] || [ "$BOARD" = "all" ]; then pull_sdk turris "https://repo.turris.cz/turris-nightly/OpenWrt-SDK-mpc85xx-p2020-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64.tar.bz2" fi echo -e "\e[1;34mCopy packages\e[0m" for d in *; do [ -f $d/Makefile ] || continue echo -e "\e[1;35mpackage: $d\e[0m" [ -d .omnia-sdk ] && cp -r $d .omnia-sdk/package/ [ -d .turris-sdk ] && cp -r $d .turris-sdk/package/ done deploy_pkgauto() { cat >"$1/include/pkgauto.mk" <> .omnia-sdk/.config ([ "$BOARD" = "turris" ] || [ "$BOARD" = "all" ]) && \ cat CONFIG >> .turris-sdk/.config fi if [ "$BOARD" = "omnia" ] || [ "$BOARD" = "all" ]; then echo -e "\e[1;34mBuilding omnia\e[0m" (cd .omnia-sdk; make "$@") fi if [ "$BOARD" = "turris" ] || [ "$BOARD" = "all" ]; then echo -e "\e[1;34mBuilding turris\e[0m" (cd .turris-sdk; make "$@") fi pull_out() { echo -e "\e[1;34mMove and sign $1\e[0m" [ ! -d ./repo/$1 ] || rm -rf ./repo/$1 mkdir -p repo cp -r .$1-sdk/bin/$2/packages/base ./repo/$1 ./.$1-sdk/staging_dir/host/bin/usign -S -s key.sec -m "repo/$1/Packages" } if [ "$BOARD" = "omnia" ] || [ "$BOARD" = "all" ]; then pull_out omnia mvebu-musl fi if [ "$BOARD" = "turris" ] || [ "$BOARD" = "all" ]; then pull_out turris mpc85xx fi