summaryrefslogtreecommitdiff
path: root/templates
diff options
context:
space:
mode:
Diffstat (limited to 'templates')
-rwxr-xr-xtemplates/turris4x.run51
1 files changed, 35 insertions, 16 deletions
diff --git a/templates/turris4x.run b/templates/turris4x.run
index 699b148..67844cf 100755
--- a/templates/turris4x.run
+++ b/templates/turris4x.run
@@ -8,28 +8,47 @@ MAKE="make -j4 IS_TTY=1 BUILD_LOG=1"
echo_stage "Get packages"
git_fetch "https://git.cynerd.cz/openwrt-personal-pkgs" pkgs
-echo_stage "Get turris-build"
-HASH="$(curl "https://repo.turris.cz/$BOARD-$BRANCH/git-hash" | awk '/ \* turris-build\: /{print $3}')"
-HASH="9544f32cf06c29aedf8c3d88b9ff8745179dfa69" # TODO remove this when repo_checkout is integrated
-git_fetch "https://gitlab.labs.nic.cz/turris/turris-build.git" turris-build "$HASH"
-
-echo_stage "Prepare SDK"
-mkdir openwrt
-cd openwrt
-echo ../turris-build/compile_fw -t $BOARD -p $BRANCH repo_prepare
-GIT_MIRROR="$WORKSPACE/mirror" \
- CCACHE_HOST_DIR="$WORKSPACE/ccache-host" \
- CCACHE_TARGET_DIR="$WORKSPACE/ccache-target" \
- ../turris-build/compile_fw -t $BOARD -p $BRANCH repo_prepare
+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"
+ cp -a "$WORKSPACE/sdk" openwrt
+ cd openwrt
+
+else
+ echo_info "Building new version of SDK"
+
+ echo_stage "Get turris-build"
+ HASH="$( | awk '/ \* turris-build\: /{print $3}')"
+ HASH="9544f32cf06c29aedf8c3d88b9ff8745179dfa69" # TODO remove this when repo_checkout is integrated
+ git_fetch "https://gitlab.labs.nic.cz/turris/turris-build.git" turris-build "$HASH"
+
+ echo_stage "Prepare SDK"
+ mkdir openwrt
+ cd openwrt
+ echo ../turris-build/compile_fw -t $BOARD -p $BRANCH repo_prepare
+ GIT_MIRROR="$WORKSPACE/mirror" \
+ CCACHE_HOST_DIR="$WORKSPACE/ccache-host" \
+ CCACHE_TARGET_DIR="$WORKSPACE/ccache-target" \
+ ../turris-build/compile_fw -t $BOARD -p $BRANCH repo_prepare
+
+ echo_stage "Compile tools"
+ $MAKE tools/compile toolchain/compile package/usign/host/compile
+
+ echo_stage "Store SDK in workspace"
+ cd ..
+ laminar_self_lock sdk
+ rm -rf "$WORKSPACE/sdk"
+ cp -a openwrt "$WORKSPACE/sdk"
+ laminar_self_unlock sdk
+ cd openwrt
+
+fi
echo_stage "Add our repository as feed"
echo "src-git personal file://$WORKSPACE/pkgs" >> feeds.conf
./scripts/feeds update personal
./scripts/feeds install -p personal -d y -f -a
-echo_stage "Compile tools"
-$MAKE tools/compile toolchain/compile package/usign/host/compile
-
echo_stage "Compile packages from our feed"
$MAKE $(./scripts/feeds list -r personal | sed -n 's/^\([^ ]*\).*$/package\/\1\/compile/p' | tr '\n' ' ')