Merge pull request #3111 from taosdata/feature/sangshuduo/snap
add snap package support
This commit is contained in:
commit
7c65835907
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 10 KiB |
|
@ -0,0 +1,17 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [ ! -d /var/lib/taos ]; then
|
||||
mkdir -p /var/lib/taos
|
||||
fi
|
||||
|
||||
if [ ! -d /var/log/taos ]; then
|
||||
mkdir -p -m777 /var/log/taos
|
||||
fi
|
||||
|
||||
if [ ! -d /etc/taos ]; then
|
||||
mkdir -p /etc/taos
|
||||
fi
|
||||
|
||||
if [ ! -f /etc/taos/taos.cfg ]; then
|
||||
cp $SNAP/etc/taos/taos.cfg /etc/taos/taos.cfg
|
||||
fi
|
|
@ -0,0 +1,25 @@
|
|||
#!/bin/sh
|
||||
# Wrapper to check for custom config in $SNAP_USER_COMMON or $SNAP_COMMON and
|
||||
# use it otherwise fall back to the included basic config which will at least
|
||||
# allow mosquitto to run and do something.
|
||||
# This script will also copy the full example config in to SNAP_USER_COMMON or
|
||||
# SNAP_COMMON so that people can refer to it.
|
||||
#
|
||||
# The decision about whether to use SNAP_USER_COMMON or SNAP_COMMON is taken
|
||||
# based on the user that runs the command. If the user is root, it is assumed
|
||||
# that mosquitto is being run as a system daemon, and SNAP_COMMON will be used.
|
||||
# If a non-root user runs the command, then SNAP_USER_COMMON will be used.
|
||||
|
||||
case "$SNAP_USER_COMMON" in
|
||||
*/root/snap/tdengine/common*) COMMON=$SNAP_COMMON ;;
|
||||
*) COMMON=$SNAP_USER_COMMON ;;
|
||||
esac
|
||||
|
||||
if [ -d /etc/taos ]; then
|
||||
CONFIG_FILE="/etc/taos"
|
||||
else
|
||||
CONFIG_FILE="$SNAP/etc/taos"
|
||||
fi
|
||||
|
||||
# Launch the snap
|
||||
$SNAP/usr/bin/taosd -c $CONFIG_FILE $@
|
|
@ -0,0 +1,25 @@
|
|||
#!/bin/sh
|
||||
# Wrapper to check for custom config in $SNAP_USER_COMMON or $SNAP_COMMON and
|
||||
# use it otherwise fall back to the included basic config which will at least
|
||||
# allow mosquitto to run and do something.
|
||||
# This script will also copy the full example config in to SNAP_USER_COMMON or
|
||||
# SNAP_COMMON so that people can refer to it.
|
||||
#
|
||||
# The decision about whether to use SNAP_USER_COMMON or SNAP_COMMON is taken
|
||||
# based on the user that runs the command. If the user is root, it is assumed
|
||||
# that mosquitto is being run as a system daemon, and SNAP_COMMON will be used.
|
||||
# If a non-root user runs the command, then SNAP_USER_COMMON will be used.
|
||||
|
||||
case "$SNAP_USER_COMMON" in
|
||||
*/root/snap/tdengine/common*) COMMON=$SNAP_COMMON ;;
|
||||
*) COMMON=$SNAP_USER_COMMON ;;
|
||||
esac
|
||||
|
||||
if [ -d /etc/taos ]; then
|
||||
CONFIG_FILE="/etc/taos"
|
||||
else
|
||||
CONFIG_FILE="$SNAP/etc/taos"
|
||||
fi
|
||||
|
||||
# Launch the snap
|
||||
$SNAP/usr/bin/taos -c $CONFIG_FILE $@
|
|
@ -0,0 +1,113 @@
|
|||
name: tdengine
|
||||
base: core18 # the base snap is the execution environment for this snap
|
||||
version: '2.0.0.6' # just for humans, typically '1.2+git' or '1.3.2'
|
||||
icon: snap/gui/t-dengine.svg
|
||||
summary: an open-source big data platform designed and optimized for IoT.
|
||||
description: |
|
||||
TDengine is an open-source big data platform designed and optimized for Internet of Things (IoT), Connected Vehicles, and Industrial IoT. Besides the 10x faster time-series database, it provides caching, stream computing, message queuing and other functionalities to reduce the complexity and costs of development and operations.
|
||||
|
||||
grade: stable
|
||||
confinement: classic
|
||||
|
||||
apps:
|
||||
tdengine:
|
||||
command: launcher.sh
|
||||
daemon: simple
|
||||
restart-condition: always
|
||||
plugs:
|
||||
- network
|
||||
- network-bind
|
||||
- system-observe
|
||||
- systemfiles
|
||||
|
||||
taos:
|
||||
command: taoswrapper.sh
|
||||
plugs:
|
||||
- network
|
||||
- systemfiles
|
||||
|
||||
taosdemo:
|
||||
command: usr/bin/taosdemo
|
||||
plugs:
|
||||
- network
|
||||
|
||||
plugs:
|
||||
systemfiles:
|
||||
interface: system-files
|
||||
read:
|
||||
- /etc/taos
|
||||
- /var/lib/taos
|
||||
- /tmp
|
||||
write:
|
||||
- /var/log/taos
|
||||
- /var/lib/taos
|
||||
- /tmp
|
||||
|
||||
parts:
|
||||
script:
|
||||
plugin: dump
|
||||
source: snap/local/
|
||||
prime:
|
||||
- launcher.sh
|
||||
- taoswrapper.sh
|
||||
|
||||
tdengine:
|
||||
source: .
|
||||
source-type: local
|
||||
plugin: cmake
|
||||
build-packages:
|
||||
- gcc
|
||||
- g++
|
||||
- make
|
||||
- cmake
|
||||
override-build: |
|
||||
snapcraftctl build
|
||||
if [ ! -d $SNAPCRAFT_STAGE/usr ]; then
|
||||
mkdir $SNAPCRAFT_STAGE/usr
|
||||
fi
|
||||
|
||||
if [ ! -d $SNAPCRAFT_STAGE/etc/taos ]; then
|
||||
mkdir -p $SNAPCRAFT_STAGE/etc/taos
|
||||
fi
|
||||
|
||||
cp $SNAPCRAFT_PART_BUILD/build/* -rf $SNAPCRAFT_STAGE/usr/
|
||||
cp $SNAPCRAFT_PART_SRC/packaging/cfg/taos.cfg -rf $SNAPCRAFT_STAGE/etc/taos/
|
||||
|
||||
if [ ! -d $SNAPCRAFT_STAGE/var/lib/taos ]; then
|
||||
mkdir -p $SNAPCRAFT_STAGE/var/lib/taos
|
||||
fi
|
||||
if [ ! -d $SNAPCRAFT_STAGE/var/log/taos ]; then
|
||||
mkdir -p $SNAPCRAFT_STAGE/var/log/taos
|
||||
fi
|
||||
|
||||
prime:
|
||||
- etc/taos/taos.cfg
|
||||
- usr/bin/taosd
|
||||
- usr/bin/taos
|
||||
- usr/bin/taosdemo
|
||||
- usr/lib/libtaos.so.2.0.0.6
|
||||
- usr/lib/libtaos.so.1
|
||||
- usr/lib/libtaos.so
|
||||
|
||||
override-prime: |
|
||||
snapcraftctl prime
|
||||
if [ ! -d $SNAPCRAFT_STAGE/var/lib/taos ]; then
|
||||
cp -rf $SNAPCRAFT_STAGE/var/lib/taos $SNAPCRAFT_PRIME
|
||||
fi
|
||||
if [ ! -d $SNAPCRAFT_STAGE/var/log/taos ]; then
|
||||
cp -rf $SNAPCRAFT_STAGE/var/log/taos $SNAPCRAFT_PRIME
|
||||
fi
|
||||
|
||||
layout:
|
||||
/var/lib/taos:
|
||||
bind: $SNAP_DATA/var/lib/taos
|
||||
/var/log/taos:
|
||||
bind: $SNAP_DATA/var/log/taos
|
||||
/etc/taos/taos.cfg:
|
||||
bind-file: $SNAP_DATA/etc/taos/taos.cfg
|
||||
|
||||
|
||||
hooks:
|
||||
install:
|
||||
plugs: [systemfiles]
|
||||
|
Loading…
Reference in New Issue