blob: 193f1dc7acba2c30fcb64ed58ee987f57c2f6915 [file] [log] [blame]
Shad Ansari2f7f9be2017-06-07 13:34:53 -07001#!/bin/bash
2#set -x
3
4# Copy config script. Look in the BAL directory first. If not found, take from the scripts
5function copy_config_script {
6 if test -n "$2"; then
7 template_dir=$2
8 else
9 template_dir=$bal_dir/scripts
10 fi
11 if [ -f $bal_dir/$1 ]; then
12 cp -a $bal_dir/$1 $target_dir/
13 else
14 cp -a $template_dir/$1 $target_dir/
15 fi
16}
17
18bal_dir=`pwd`
19
20# Copy and strip bcm_sdn_agent
21if [ "$BUILD_OF_AGENT" = "y" ]; then
22 target_dir=bcm_sdn_agent_artifacts
23 target_exec=bcm_sdn_agent
24 target_name=bcm_sdn_agent
25 build_dir=build/agent
26else
27 target_dir=bcm_bal_artifacts
28 target_name=bal_cli
29 target_exec=src/apps/bal_cli/bal_cli
30 build_dir=build/core
31fi
32
33cd $build_dir
34echo "Creating $target_name build artifacts in `pwd`/$target_dir"
35rm -fr $target_dir
36mkdir -p $target_dir
37
38echo "Stripping $target_name and extracting debug symbols"
39${CROSS_COMPILE}objcopy --strip-debug --strip-unneeded $target_exec $target_dir/$target_name
40${CROSS_COMPILE}objcopy --only-keep-debug $target_exec $target_name.debug
41${CROSS_COMPILE}objcopy --add-gnu-debuglink=$target_name.debug $target_dir/$target_name
42echo "Stripping complete"
43
44if [ "$JENKINS_BUILD" == "y" ]; then
45 cp $bal_dir/../../../build_info.log build_info.log
46 tar -czf $target_name.debug.tar.gz $target_name.debug build_info.log
47 rm build_info.log
48else
49 tar -czf $target_name.debug.tar.gz $target_name.debug
50fi
51
52# Copy init scripts. Look in the BAL directory first. If not found, take from the scripts
53copy_config_script bal_config.ini
54copy_config_script bal_autostart.ini
55copy_config_script bal_topology.ini
56# Rename the bal_topology.ini file to avoid bringup issues
57mv $target_dir/bal_topology.ini $target_dir/bal_topology.ini.sample
58copy_config_script rpc.soc.template $bal_dir/3rdparty/bcm-sdk/rc/bal
59cp -ar ../../3rdparty/bcm-sdk/rc $target_dir/switch_rc
60rm -fr $target_dir/switch_rc/arad $target_dir/switch_rc/kt2
61
62if [ "$BUILD_NC_AGENT" = "y" ]; then
63 cp -ar lib $target_dir/
64 # for SDN-PAL running on x86, copy the libssl and libcrypto
65 if [ "$BOARD" = "" ]; then
66 echo "Copying libcrypto and libssl for x86 target"
67 cp /usr/lib/libssl.so.10 /usr/lib/libcrypto.so.10 $target_dir/lib/
68 fi
69 cp -ar modules $target_dir/
70 cp -a start_sdn_agent.sh $target_dir/
71 cp -a start_netopeer_cli.sh $target_dir/
72 cp -a bin/netopeer-cli $target_dir/
73fi
74
75if [ "$BOARD" = "wrx" ]; then
76 echo "Copying SVK4 specific scripts and files"
77 copy_config_script bal_setup_svk4.sh
78 echo 'if [ "${PWD}" != "/broadcom" ]; then echo "ERROR: Your archive file must be expanded into /broadcom before running this script"; else if [ -d /etc/rcS.d ]; then echo "Installing bal startup script in /etc/rcS.d" && pushd /etc/rcS.d >/dev/null && rm -f S99balsetup && ln -s /broadcom/bal_setup_svk4.sh S99balsetup && popd >/dev/null && echo "Installing svk4 scripts" && cp -f switch_rc/svk4/* . && touch /etc/svk4 && cat bal_config.ini | sed s/"of_devs=1"/"of_devs=2"/g > bal_config.ini.svk4_devs && cat bal_config.ini.svk4_devs | sed s/"num_nni_ports=1"/"num_nni_ports=6"/g > bal_config.ini.svk4_devs_nni && cat bal_config.ini.svk4_devs_nni | sed s/"maptable=3"/"maptable=4"/g > bal_config.ini && rm -f bal_config.ini.svk4_devs && rm -f bal_config.ini.svk4_devs_nni; fi; fi' > svk4_install.sh
79 chmod 755 svk4_install.sh
80 cp svk4_install.sh $target_dir
81 echo "Please run svk4_install.sh (only on SVK4 hardware!)" > README.svk4
82 cp ../../3rdparty/maple/sdk/build/fs/svk_init_startup.sh $target_dir/
83 if [ "$JENKINS_BUILD" == "y" ]; then
84 cp ../../3rdparty/bcm-sdk/build-wrx/sdk-all-*/build/projects/xPON_OLT/jenkins/jobs/Bal.Synced.bcm-sdk-*.Wrx/workspace/bal/cur/3rdparty/bcm-sdk/linux-*-bde.ko $target_dir/
85 fi
86 cp README.svk4 $target_dir/ && rm README.svk4
87fi
88
89if [ "$JENKINS_BUILD" == "y" ]; then
90 echo "Including build_info.log in the archive"
91 cp $bal_dir/../../../build_info.log $target_dir/
92fi
93
94archive=$target_dir.tar.gz
95echo "Archiving artifacts in `pwd`/$archive"
96tar -czf $archive $target_dir
97echo "Archive contains:"
98tar tzvf $archive
99
100