aboutsummaryrefslogtreecommitdiff
path: root/build_repo.sh
blob: 130e2399805fa09ced94318b4c88ef224c39fca0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#!/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