aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRiccardo Spagni <ric@spagni.net>2016-09-15 15:20:38 +0200
committerRiccardo Spagni <ric@spagni.net>2016-09-15 15:20:38 +0200
commitd4a533a8002c96301b3b010c33a60bde38315b05 (patch)
tree07c0df51b77131e3862a48cb829f69c03d0b81ca
parentMerge pull request #1067 (diff)
parentAdd libminiupnpc and libunwind to snap. (diff)
downloadmonero-d4a533a8002c96301b3b010c33a60bde38315b05.tar.xz
Merge pull request #1068
a5af33d Add libminiupnpc and libunwind to snap. (Casey Marshall) 823843e Fix portability issues discovered with fresh snap install. (Casey Marshall) 0a56d83 Add snap packaging. (Casey Marshall)
-rwxr-xr-xcontrib/snap/daemon.bash12
-rwxr-xr-xcontrib/snap/log.bash3
-rwxr-xr-xcontrib/snap/wallet.bash7
-rw-r--r--snapcraft.yaml73
-rw-r--r--src/daemon/CMakeLists.txt1
-rw-r--r--src/simplewallet/CMakeLists.txt3
6 files changed, 98 insertions, 1 deletions
diff --git a/contrib/snap/daemon.bash b/contrib/snap/daemon.bash
new file mode 100755
index 000000000..41d1275de
--- /dev/null
+++ b/contrib/snap/daemon.bash
@@ -0,0 +1,12 @@
+#!/bin/bash -e
+
+export LD_LIBRARY_PATH=${SNAP_LIBRARY_PATH}:${SNAP}/usr/lib/x86_64-linux-gnu
+export HOME=${SNAP_DATA}
+cd ${SNAP_DATA}
+
+ARGS=
+if [ -e "${SNAP_DATA}/etc/monerod.conf" ]; then
+ ARGS="--config-file ${SNAP_DATA}/etc/monerod.conf"
+fi
+
+exec ${SNAP}/bin/monerod --detach $ARGS
diff --git a/contrib/snap/log.bash b/contrib/snap/log.bash
new file mode 100755
index 000000000..c81efeb2c
--- /dev/null
+++ b/contrib/snap/log.bash
@@ -0,0 +1,3 @@
+#!/bin/bash -e
+
+exec tail -c +0 -F ${SNAP_DATA}/.bitmonero/bitmonero.log
diff --git a/contrib/snap/wallet.bash b/contrib/snap/wallet.bash
new file mode 100755
index 000000000..004f1371e
--- /dev/null
+++ b/contrib/snap/wallet.bash
@@ -0,0 +1,7 @@
+#!/bin/bash -e
+
+export LD_LIBRARY_PATH=${SNAP_LIBRARY_PATH}:${SNAP}/usr/lib/x86_64-linux-gnu
+export HOME=${SNAP_USER_DATA}
+cd ${SNAP_USER_DATA}
+
+exec ${SNAP}/usr/bin/rlwrap ${SNAP}/bin/monero-wallet-cli "$@"
diff --git a/snapcraft.yaml b/snapcraft.yaml
new file mode 100644
index 000000000..2ad7ad603
--- /dev/null
+++ b/snapcraft.yaml
@@ -0,0 +1,73 @@
+name: monero
+version: 0 # TODO: change this to release version in CI builds
+summary: "Monero: the secure, private, untraceable cryptocurrency https://getmonero.org"
+description: |
+ Monero is a private, secure, untraceable, decentralised digital currency.
+ You are your bank, you control your funds, and nobody can trace your transfers
+ unless you allow them to do so.
+grade: devel
+confinement: strict
+
+apps:
+ d:
+ daemon: forking
+ command: daemon.bash
+ plugs:
+ - network
+ - network-bind
+
+ log:
+ command: log.bash
+
+ monero:
+ command: wallet.bash
+ plugs:
+ - network
+
+parts:
+ wrapper:
+ plugin: dump
+ source: .
+ stage-packages:
+ - rlwrap
+ organize:
+ contrib/snap/daemon.bash: daemon.bash
+ contrib/snap/log.bash: log.bash
+ contrib/snap/wallet.bash: wallet.bash
+ snap:
+ - daemon.bash
+ - log.bash
+ - wallet.bash
+ - usr/bin/rlwrap
+
+ cmake-build:
+ plugin: cmake
+ configflags:
+ - -DBDB_STATIC=1
+ - -DUPNP_STATIC=1
+ - -DBoost_USE_STATIC_LIBS=1
+ - -DBoost_USE_STATIC_RUNTIME=1
+ - -DARCH=default
+ source: .
+ build-packages:
+ - gcc
+ - cmake
+ - pkg-config
+ - libunbound-dev
+ - libevent-dev
+ - libboost-all-dev
+ - libdb-dev
+ - libunwind-dev
+ - libminiupnpc-dev
+ - libldns-dev
+ - libexpat1-dev
+ - bison
+ - doxygen
+ - graphviz
+ stage-packages:
+ - libminiupnpc10
+ - libunbound2
+ - libunwind8
+ snap:
+ - bin
+ - usr
diff --git a/src/daemon/CMakeLists.txt b/src/daemon/CMakeLists.txt
index 511efcb36..a8c93aa0f 100644
--- a/src/daemon/CMakeLists.txt
+++ b/src/daemon/CMakeLists.txt
@@ -106,3 +106,4 @@ add_dependencies(daemon version)
set_property(TARGET daemon
PROPERTY
OUTPUT_NAME "monerod")
+install(TARGETS daemon DESTINATION bin)
diff --git a/src/simplewallet/CMakeLists.txt b/src/simplewallet/CMakeLists.txt
index 97852c3dc..572819899 100644
--- a/src/simplewallet/CMakeLists.txt
+++ b/src/simplewallet/CMakeLists.txt
@@ -59,4 +59,5 @@ add_dependencies(simplewallet
version)
set_property(TARGET simplewallet
PROPERTY
- OUTPUT_NAME "monero-wallet-cli") \ No newline at end of file
+ OUTPUT_NAME "monero-wallet-cli")
+install(TARGETS simplewallet DESTINATION bin)