#!/bin/sh # vim: ft=sh set -e . utils MAKE="make -j4 IS_TTY=1 BUILD_LOG=1" build_sdk() { echo_stage "Get turris-build" HASH="$(awk '/ \* turris-build\: /{print $3}' git-hash)" git_fetch_t "https://gitlab.labs.nic.cz/turris/turris-build.git" turris-build "$HASH" echo_stage "Prepare SDK" mkdir openwrt cd openwrt GIT_MIRROR="$TWORKSPACE/openwrt-git-mirror" \ CCACHE_HOST_DIR="$TWORKSPACE/ccache-host" \ CCACHE_TARGET_DIR="$WORKSPACE/ccache-target" \ ../turris-build/compile_fw -t $BOARD -p $BRANCH repo_prepare echo_stage "Compile tools" $MAKE toolchain/compile package/usign/host/compile rm -rf build_dir echo_stage "Store SDK in workspace" cd .. rm -rf "$WORKSPACE/openwrt-sdk" cp -a openwrt "$WORKSPACE/openwrt-sdk" cp git-hash "$WORKSPACE/openwrt-git-hash" } copy_sdk() { cp -a "$WORKSPACE/openwrt-sdk" openwrt } curl "https://repo.turris.cz/$BOARD-$BRANCH/git-hash" > git-hash if [ -f "$WORKSPACE/openwrt-git-hash" ] && cmp -s git-hash "$WORKSPACE/openwrt-git-hash"; then echo_info "Using previous version of SDK" flock --shared "$WORKSPACE/openwrt-sdk.lock" -c copy_sdk else echo_info "Building new version of SDK" flock --exclusive "$WORKSPACE/openwrt-sdk.lock" -c build_sdk fi cd openwrt echo_stage "Add our repository as feed" echo "src-git personal git@cynerd.cz:openwrt-personal-pkgs" >> feeds.conf ./scripts/feeds update personal ./scripts/feeds install -p personal -d y -f -a echo_stage "Compile packages from our feed" $MAKE $(./scripts/feeds list -r personal | sed -n 's/^\([^ ]*\).*$/package\/\1\/compile/p' | tr '\n' ' ') echo_stage "Generate index and sign" $MAKE package/index BUILD_KEY=~/openwrt-repo.key echo_stage "Deploy" ssh upload rm -rf "deploy-turris4x-$BOARD" scp -r "bin/packages/$ARCH/personal" upload:deploy-turris4x-$BOARD ssh upload /bin/sh -e <