From 144018802b2a0c034303c2e6f57b42ebda500716 Mon Sep 17 00:00:00 2001 From: parazyd Date: Wed, 26 Jul 2017 19:29:28 +0200 Subject: [PATCH] implement installation of netdata; mongodb; multichain --- config | 39 +++++++++++++++++++++++++-- decode.blend | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 111 insertions(+), 3 deletions(-) diff --git a/config b/config index ee7cab5..cffe0ac 100755 --- a/config +++ b/config @@ -15,8 +15,23 @@ tomb_url="https://github.com/dyne/tomb.git" musl_version="v.1.1.16" musl_url="git://git.musl-libc.org/musl" +netdata_version="1.7.0" +netdata_url="https://github.com/firehol/netdata/releases/download/v${netdata_version}/netdata-${netdata_version}.tar.gz" + +# mongodb source build +#mongodb_version="3.4.6" +#mongodb_url="https://fastdl.mongodb.org/src/mongodb-src-r${mongodb_version}.tar.gz" +# mongodb binary build +mongodb_version="3.4.6" +mongodb_url="https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-debian81-${mongodb_version}.tgz" + +# XXX: multichain currently installed from compiled binaries, needs db4.8 (devuan pkg) +multichain_version="1.0-beta-2" +multichain_url="https://www.multichain.com/download/multichain-${multichain_version}.tar.gz" + size="4098" -filesystem="xfs" +#filesystem="xfs" +filesystem="ext4" extra_packages+=( @@ -35,15 +50,21 @@ extra_packages+=( gnupg2 dirmngr pcsc-tools + xorg + surf2 + + python2.7 + python3 # minimalism busybox-static busybox-syslogd - # utilities + # utilities mlocate gettext miscfiles + # for xfs xfsprogs @@ -56,6 +77,13 @@ extra_packages+=( # build tools build-essential + cmake + pkg-config + zlib1g-dev + uuid-dev + autoconf + automake + libtool gcc-6-plugin-dev libncurses5-dev flex @@ -66,6 +94,13 @@ extra_packages+=( libgcrypt20 libgcrypt20-dev equivs + + # mongodb build deps + #scons + #libboost-filesystem-dev + #libboost-program-options-dev + #libboost-system-dev + #libboost-thread-dev ) purge_packages=( diff --git a/decode.blend b/decode.blend index 06d5d76..af99535 100644 --- a/decode.blend +++ b/decode.blend @@ -37,7 +37,7 @@ blend_postinst() { notice "executing $blend_name postinst" - nopackage=(musl tomb golang) + nopackage=(musl tomb golang netdata mongodb multichain) for app in $nopackage; do blend_install_${app} || zerr done || zerr @@ -112,7 +112,71 @@ EOF chroot-script install-golang || zerr } ## }}} +## {{{ blend_install_netdata() +blend_install_netdata() { + fn blend_install_netdata + req=(strapdir netdata_version netdata_url) + ckreq || return 1 + notice "downloading netdata tarball" + sudo wget -O "$strapdir/root/netdata.tgz" "$netdata_url" || zerr + + notice "installing netdata in $strapdir" + cat </dev/null +#!/bin/sh +cd /root +tar xvf netdata.tgz || exit 1 +cd netdata-${netdata_version} +./netdata-installer.sh --dont-wait --dont-start-it || exit 1 +cd .. +rm -rf netdata.tgz netdata-${netdata_version} +EOF + chroot-script install-netdata || zerr +} +## }}} +## {{{ blend_install_mongodb() +blend_install_mongodb() { + # XXX: should be a from-source build at a later point + fn blend_install_mongodb + req=(strapdir mongodb_version mongodb_url) + ckreq || return 1 + + notice "downloading mongodb tarball" + sudo wget -O "$strapdir/root/mongodb.tgz" "$mongodb_url" || zerr + + notice "installing mongodb in $strapdir" + cat </dev/null +#!/bin/sh +cd /root +tar xvf mongodb.tgz || exit 1 +mv -v $(basename -s .tgz $mongodb_url)/bin/* /usr/local/bin/ +rm -rf mongodb.tgz $(basename -s .tgz $mongodb_url) +EOF + chroot-script install-mongodb || zerr +} +## }}} +## {{{ blend_install_multichain() +blend_install_multichain() { + fn blend_install_multichain + req=(strapdir multichain_version multichain_url) + ckreq || return 1 + + notice "downloading multichain tarball" + sudo wget -O "$strapdir/root/multichain.tar.gz" "$multichain_url" || zerr + + notice "installing multichain in $strapdir" + cat </dev/null +#!/bin/sh +cd /root +tar xvf multichain.tar.gz || exit 1 +cd multichain-${multichain_version} +mv -v multichaind multichain-cli multichain-util /usr/local/bin/ +cd .. +rm -rf multichain.tar.gz multichain-${multichain_version} +EOF + chroot-script install-multichain || zerr +} +## }}} ## {{{ blend_finalize() blend_finalize() { @@ -123,6 +187,15 @@ blend_finalize() { cat </dev/null #!/bin/sh +chsh -s /bin/bash decode +for i in users ; do + gpasswd -a decode \$i +done + +# TODO: revise a rootfs-overlay +printf "if [ -d "/usr/local/go/bin" ]; then\n\tPATH="/usr/local/go/bin:\$PATH"\nfi\n" \ + >> /home/decode/.profile + ## misc rm -rf /usr/local/share/zsh/site-functions sed -i -e 's/devuan/decode/' /etc/hosts