2922f63a85
Add (optional) metering support for use with Prometheus.
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."
|