Shad Ansari | 2f7f9be | 2017-06-07 13:34:53 -0700 | [diff] [blame^] | 1 | #!/bin/bash |
| 2 | #set -x |
| 3 | |
| 4 | # Copy config script. Look in the BAL directory first. If not found, take from the scripts |
| 5 | function 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 | |
| 18 | bal_dir=`pwd` |
| 19 | |
| 20 | # Copy and strip bcm_sdn_agent |
| 21 | if [ "$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 |
| 26 | else |
| 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 |
| 31 | fi |
| 32 | |
| 33 | cd $build_dir |
| 34 | echo "Creating $target_name build artifacts in `pwd`/$target_dir" |
| 35 | rm -fr $target_dir |
| 36 | mkdir -p $target_dir |
| 37 | |
| 38 | echo "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 |
| 42 | echo "Stripping complete" |
| 43 | |
| 44 | if [ "$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 |
| 48 | else |
| 49 | tar -czf $target_name.debug.tar.gz $target_name.debug |
| 50 | fi |
| 51 | |
| 52 | # Copy init scripts. Look in the BAL directory first. If not found, take from the scripts |
| 53 | copy_config_script bal_config.ini |
| 54 | copy_config_script bal_autostart.ini |
| 55 | copy_config_script bal_topology.ini |
| 56 | # Rename the bal_topology.ini file to avoid bringup issues |
| 57 | mv $target_dir/bal_topology.ini $target_dir/bal_topology.ini.sample |
| 58 | copy_config_script rpc.soc.template $bal_dir/3rdparty/bcm-sdk/rc/bal |
| 59 | cp -ar ../../3rdparty/bcm-sdk/rc $target_dir/switch_rc |
| 60 | rm -fr $target_dir/switch_rc/arad $target_dir/switch_rc/kt2 |
| 61 | |
| 62 | if [ "$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/ |
| 73 | fi |
| 74 | |
| 75 | if [ "$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 |
| 87 | fi |
| 88 | |
| 89 | if [ "$JENKINS_BUILD" == "y" ]; then |
| 90 | echo "Including build_info.log in the archive" |
| 91 | cp $bal_dir/../../../build_info.log $target_dir/ |
| 92 | fi |
| 93 | |
| 94 | archive=$target_dir.tar.gz |
| 95 | echo "Archiving artifacts in `pwd`/$archive" |
| 96 | tar -czf $archive $target_dir |
| 97 | echo "Archive contains:" |
| 98 | tar tzvf $archive |
| 99 | |
| 100 | |