91 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #! /bin/bash
 | |
| 
 | |
| INSTALL_DIR="/opt/ttn-gateway"
 | |
| 
 | |
| mkdir -p $INSTALL_DIR/dev
 | |
| cd $INSTALL_DIR/dev
 | |
| 
 | |
| if [ ! -d lora_gateway ]; then
 | |
|     git clone https://github.com/kersing/lora_gateway.git  || { echo 'Cloning lora_gateway failed.' ; exit 1; }
 | |
| else
 | |
|     cd lora_gateway
 | |
|     git reset --hard
 | |
|     git pull
 | |
|     cd ..
 | |
| fi
 | |
| 
 | |
| if [ ! -d paho.mqtt.embedded-c ]; then
 | |
|     git clone https://github.com/kersing/paho.mqtt.embedded-c.git  || { echo 'Cloning paho mqtt failed.' ; exit 1; }
 | |
| else
 | |
|     cd paho.mqtt.embedded-c
 | |
|     git reset --hard
 | |
|     git pull
 | |
|     cd ..
 | |
| fi
 | |
| 
 | |
| if [ ! -d ttn-gateway-connector ]; then
 | |
|     git clone https://github.com/kersing/ttn-gateway-connector.git  || { echo 'Cloning gateway connector failed.' ; exit 1; }
 | |
| else
 | |
|     cd ttn-gateway-connector
 | |
|     git reset --hard
 | |
|     git pull
 | |
|     cd ..
 | |
| fi
 | |
| 
 | |
| if [ ! -d protobuf-c ]; then
 | |
|     git clone https://github.com/kersing/protobuf-c.git  || { echo 'Cloning protobuf-c failed.' ; exit 1; }
 | |
| else
 | |
|     cd protobuf-c
 | |
|     git reset --hard
 | |
|     git pull
 | |
|     cd ..
 | |
| fi
 | |
| 
 | |
| if [ ! -d packet_forwarder ]; then
 | |
|     git clone https://github.com/kersing/packet_forwarder.git  || { echo 'Cloning packet forwarder failed.' ; exit 1; }
 | |
| else
 | |
|     cd packet_forwarder
 | |
|     git reset --hard
 | |
|     git pull
 | |
|     cd ..
 | |
| fi
 | |
| 
 | |
| if [ ! -d protobuf ]; then
 | |
|     git clone https://github.com/google/protobuf.git  || { echo 'Cloning protobuf failed.' ; exit 1; }
 | |
| else
 | |
|     cd protobuf
 | |
|     git reset --hard
 | |
|     git pull
 | |
|     cd ..
 | |
| fi
 | |
| 
 | |
| cd $INSTALL_DIR/dev/lora_gateway/libloragw
 | |
| sed -i -e 's/PLATFORM= .*$/PLATFORM= imst_rpi/g' library.cfg
 | |
| sed -i -e 's/CFG_SPI= .*$/CFG_SPI= native/g' library.cfg
 | |
| make -j$(nproc)
 | |
| 
 | |
| cd $INSTALL_DIR/dev/protobuf-c
 | |
| ./autogen.sh
 | |
| ./configure
 | |
| make protobuf-c/libprotobuf-c.la
 | |
| mkdir bin
 | |
| ./libtool install /usr/bin/install -c protobuf-c/libprotobuf-c.la `pwd`/bin
 | |
| rm -f `pwd`/bin/*so*
 | |
| 
 | |
| cd $INSTALL_DIR/dev/paho.mqtt.embedded-c/
 | |
| make
 | |
| make install
 | |
| 
 | |
| cd $INSTALL_DIR/dev/ttn-gateway-connector
 | |
| cp config.mk.in config.mk
 | |
| make -j$(nproc)
 | |
| cp bin/libttn-gateway-connector.so /usr/lib/
 | |
| 
 | |
| cd $INSTALL_DIR/dev/packet_forwarder/mp_pkt_fwd/
 | |
| make -j$(nproc)
 | |
| 
 | |
| # Copy things needed at runtime to where they'll be expected
 | |
| cp $INSTALL_DIR/dev/packet_forwarder/mp_pkt_fwd/mp_pkt_fwd $INSTALL_DIR/mp_pkt_fwd
 | |
| 
 | |
| echo "Build & Installation Completed."
 | 
