#!/bin/sh set -e #set -x cd `dirname $0` BOARD=omnia if [ "$1" = "omnia" ] || [ "$1" = "turris" ] || [ "$1" = "all" ]; then BOARD=$1 shift fi # remove previous build 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/ } if [ "$BOARD" = "omnia" ] || [ "$BOARD" = "all" ]; then pull_sdk omnia "https://repo.turris.cz/omnia/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/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 [ -d .omnia-sdk ] && ./utils/updater-ng-auto.sh .omnia-sdk/package/ [ -d .turris-sdk ] && ./utils/updater-ng-auto.sh .turris-sdk/package/ if [ -f CONFIG ]; then echo -e "\e[1;34mApply CONFIG\e[0m" ([ "$BOARD" = "omnia" ] || [ "$BOARD" = "all" ]) && \ cat CONFIG >> .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 deploy() { local TARGET="cynerd.cz:/var/www/myrepo" ssh cynerd.cz -- mkdir -p "/var/www/myrepo/$1" # Make sure that directory exists echo -e "\e[1;34mSign and deploy $1\e[0m" SEC=myrepo/files/key.sec pushd .$1-sdk staging_dir/host/bin/usign -S -s ../$SEC -m bin/$2/packages/base/Packages scp bin/$2/packages/base/* "$TARGET/$1/" popd .$1-sdk/staging_dir/host/bin/usign -S -s $SEC -m $1.lua scp $1.lua "$TARGET/$1.lua" scp $1.lua.sig "$TARGET/$1.lua.sig" rm $1.lua.sig } if [ "$BOARD" = "omnia" ] || [ "$BOARD" = "all" ]; then deploy omnia mvebu-musl fi if [ "$BOARD" = "turris" ] || [ "$BOARD" = "all" ]; then deploy turris mpc85xx fi