| #!/bin/sh |
| set -e -x |
| |
| amarisoft_tgz="$1" |
| |
| BUILD_AMARISOFT_TRX_ZMQ="${BUILD_AMARISOFT_TRX_ZMQ:-1}" |
| HAVE_AMARISOFT_LTEUE="${HAVE_AMARISOFT_LTEUE:-1}" |
| |
| if [ ! -f "$amarisoft_tgz" ]; then |
| echo "Amarisoft tgz doesn't exist: $amarisoft_tgz" |
| exit 1 |
| fi |
| |
| base="$PWD" |
| if [ "x${BUILD_AMARISOFT_TRX_ZMQ}" = "x1" ]; then |
| name="srslte" |
| git_url="${git_url:-https://github.com/srsLTE}" |
| project_name_srslte="${project_name:-srsLTE}" |
| branch="master" |
| . "$(dirname "$0")/jenkins-build-common.sh" |
| |
| #TODO: make sure libconfig, zeroMQ is installed |
| build_repo $project_name_srslte $branch -DENABLE_UHD=False -DENABLE_BLADERF=False -DENABLE_SOAPYSDR=False -DENABLE_ZEROMQ=True |
| |
| git_url="git@github.com:softwareradiosystems" |
| project_name_zmq="amarisoft_dummy_trx" |
| branch="trx_zmq" |
| have_repo $project_name_zmq $branch |
| cd $project_name_zmq |
| rm -rf build && mkdir build && cd build || exit 1 |
| cmake -DSRSLTE_BUILD_PATH=${base}/${project_name_srslte}/build ../ |
| make -j8 |
| cd $base |
| fi |
| |
| rm -rf inst-tmp && mkdir inst-tmp |
| rm -rf inst-tmp-uhd && mkdir inst-tmp-uhd |
| tar -zxf $amarisoft_tgz -C inst-tmp/ |
| for file in inst-tmp/*/trx_uhd*.tar.gz; do tar -zxf "$file" -C inst-tmp/; done |
| |
| # Build trx_uhd.so: |
| for path in ${base}/inst-tmp/trx_uhd-linux*/; do (cd "$path"; make; cd ${base}); done |
| |
| # Create amarisoftenb inst: |
| rm -rf inst-amarisoftenb && mkdir inst-amarisoftenb || exit 1 |
| tar --strip-components=1 -zxf inst-tmp/*/lteenb-linux*.tar.gz -C inst-amarisoftenb/ |
| if [ "x${BUILD_AMARISOFT_TRX_ZMQ}" = "x1" ]; then |
| cp ${base}/${project_name_srslte}/build/lib/src/phy/rf/libsrsran_rf.so inst-amarisoftenb/ |
| cp ${base}/${project_name_zmq}/build/libtrx_zmq-linux-2021-03-15.so inst-amarisoftenb/trx_zmq.so |
| patchelf --set-rpath '$ORIGIN/' inst-amarisoftenb/trx_zmq.so |
| cd inst-amarisoftenb && ln -s libsrsran_rf.so libsrsran_rf.so.0 && cd .. |
| fi |
| |
| # Untar trx_sdr and copy the libraries to enb. |
| tar -xzf inst-tmp/*/trx_sdr*.tar.gz -C inst-tmp/ |
| cp ${base}/inst-tmp/trx_sdr-linux-2021-03-15/trx_sdr.so inst-amarisoftenb/ |
| cp ${base}/inst-tmp/trx_sdr-linux-2021-03-15/libsdr.so inst-amarisoftenb/ |
| cp ${base}/inst-tmp/trx_sdr-linux-2021-03-15/libc_wrapper_sdr.so inst-amarisoftenb/ |
| |
| # Copy the uhd library and create the tarball. |
| cp ${base}/inst-tmp/trx_uhd-linux-2021-03-15/trx_uhd.so inst-amarisoftenb/ |
| this="amarisoftenb.build-${BUILD_NUMBER-$(date +%Y-%m-%d_%H_%M_%S)}" |
| tar="${this}.tgz" |
| tar -czf "$tar" -C inst-amarisoftenb/ . |
| md5sum "$tar" > "${this}.md5" |
| |
| # Create amarisoftue inst: |
| if [ "x${HAVE_AMARISOFT_LTEUE}" = "x1" ]; then |
| rm -rf inst-amarisoftue && mkdir inst-amarisoftue || exit 1 |
| tar --strip-components=1 -zxf inst-tmp/*/lteue-linux-2018-10-18.tar.gz -C inst-amarisoftue/ |
| if [ "x${BUILD_AMARISOFT_TRX_ZMQ}" = "x1" ]; then |
| cp ${base}/${project_name_srslte}/build/lib/src/phy/rf/libsrsran_rf.so inst-amarisoftue/ |
| cp ${base}/${project_name_zmq}/build/libtrx_zmq-linux-2018-10-18.so inst-amarisoftue/trx_zmq.so |
| patchelf --set-rpath '$ORIGIN/' inst-amarisoftue/trx_zmq.so |
| cd inst-amarisoftue && ln -s libsrsran_rf.so libsrsran_rf.so.0 && cd .. |
| fi |
| cp ${base}/inst-tmp/trx_uhd-linux-2018-10-18/trx_uhd.so inst-amarisoftue/ |
| this="amarisoftue.build-${BUILD_NUMBER-$(date +%Y-%m-%d_%H_%M_%S)}" |
| tar="${this}.tgz" |
| tar -czf "$tar" -C inst-amarisoftue/ . |
| md5sum "$tar" > "${this}.md5" |
| fi |
| |
| # Create amarisoftepc inst: |
| rm -rf inst-amarisoftepc && mkdir inst-amarisoftepc || exit 1 |
| tar --strip-components=1 -zxf inst-tmp/*/ltemme-linux*.tar.gz -C inst-amarisoftepc/ |
| |
| # place newer libssl-1.1 and libcrypto-1.1 for older OS distributions inside the EPC folder |
| cp inst-tmp/*/libs/libssl* inst-amarisoftepc/ |
| cp inst-tmp/*/libs/libcrypto* inst-amarisoftepc/ |
| |
| # Copy ltesim_server from UE package if available |
| if [ "x${HAVE_AMARISOFT_LTEUE}" = "x1" ]; then |
| # Untar newer lteue version for fresh ltesim_server (2018 uses libssl-1.0.0) |
| rm -rf inst-amarisoftue && mkdir inst-amarisoftue || exit 1 |
| tar --strip-components=1 -zxf inst-tmp/*/lteue-linux-2021-03-15.tar.gz -C inst-amarisoftue/ |
| cp inst-amarisoftue/ltesim_server inst-amarisoftepc/ |
| fi |
| this="amarisoftepc.build-${BUILD_NUMBER-$(date +%Y-%m-%d_%H_%M_%S)}" |
| tar="${this}.tgz" |
| tar -czf "$tar" -C inst-amarisoftepc/ . |
| md5sum "$tar" > "${this}.md5" |