X-Original-To: alpine-devel@lists.alpinelinux.org Delivered-To: alpine-devel@mail.alpinelinux.org Received: from spam2.thewebhostserver.com (spam2.thewebhostserver.com [213.5.180.28]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.alpinelinux.org (Postfix) with ESMTPS id 83226DC025B for ; Wed, 25 Jun 2014 00:24:37 +0000 (UTC) Received: from apollomail.thewebhostserver.com ([46.23.65.248] helo=apollo.thewebhostserver.com) by spam2.thewebhostserver.com with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.82) (envelope-from ) id 1Wzb0k-0004qk-6A for alpine-devel@lists.alpinelinux.org; Wed, 25 Jun 2014 01:24:26 +0100 Received: from [81.4.121.188] (port=49678 helo=localhost.localdomain) by apollo.thewebhostserver.com with esmtpsa (UNKNOWN:AES128-SHA256:128) (Exim 4.82) (envelope-from ) id 1WzYwV-003GTd-6o; Tue, 24 Jun 2014 23:11:55 +0100 From: Stuart Cardall To: alpine-devel@lists.alpinelinux.org Cc: Stuart Cardall Subject: [alpine-devel] [PATCH] testing/bitcoin: update to 0.9.2.1 Date: Tue, 24 Jun 2014 22:11:48 +0000 Message-Id: <1403647908-522-1-git-send-email-developer@it-offshore.co.uk> X-Mailer: git-send-email 1.9.1 X-Filter-ID: XtLePq6GTMn8G68F0EmQvaeoxKNMVEm5e6leWrYsZ22bL3n+nAm6mN+l+ufB62fh2Awio663ZW8C 5rd+rTTqfz/MFqwyqsn1UO5VemDSchLNgTHa3wVoGqOb2iJN6+v7UlbjNMuoQxHFaMAaMK8cTPKb H4HIg03nZVUuPav4g/lhsXMN8IihkMOXrKTE4j5JxqO39JZIqM55HMJDnjLG+dVqq9p6B3mnuJD8 T0VRfzOZkdmhIYkMjng4pXLS6zspAqolFPx/qMLt9eWl08PVS+WBOXp8nHKe0R+FkIqN7hmrwjkE ZsGEfdxnEa+onunB8I2Lmd53r0xleD/+cGiG/uuO5TcDeKjrEmYPn2IVWRvblElrFCYHeq6Dnemk 4VBMZcO0P3x2tBgdtoc2jL77LB8buSKcFL62Z4/t+SZXSX+U8XwnXUm8YHptyQsha1tdjCeDHYUg BBxA3yXa70EmfUwyKtV1WXBul4/nz+ZRwsxkzRY/J38rPVxehfOwXCrempU6Gbq8uIbS3nl7+awF dlTbM2MzKQPQ+R/m8L2ryc1ymdGVeH0pLlV/siC8dplr5FjxRNVuoqzzVarYypM0VjIjy8qEM7yC 0gztfFbYAV26BOrXH0+jMQviBxakbWN08y1M0nRfVUnRROscAypGqRqZR3KVQgqF/fPYYAfEfsia K0pgmnVQ7eenvZ0wvHtbgzq60LAJCOVjIs0iihJjvUtMT8Vtg7+CoEzsL27OVDhYo4I/AOJBRE8s OE8at1hj X-Report-Abuse-To: spam@spam1.thewebhostserver.com X-Filter-Fingerprint: cPaH8lomer6UwsJ3BnJDyujZ5sVALLoSEFU6EeU6cH60VFDyP20las9Mq1v6nXmfrqKtWpHLpkE8 c09GKJn2t+mHcPIMRBC55yx9WsSQDgrd1PHxHTVUQ6kKwyUfwBkXbbcemmvc6LV6reHAmFfSz0ej vfBM5HDil32B6EA6ECAwtB2mFrRhH9FyTxY8sWyBYp8KLLPX6ObUssFoamkeqJjp2wMQvksbXuh+ Zur/YDgNaJU0bkU579fapNXDRWH7lv8Ffx5tjiiMQ9xvR0covSWj1kd0N16AJIzbHn3urrzGYRmp ETakcmh5T0t5YdXM2q+0mP75dOIQAcJbOgST134yvwpC4VlLjBKmwIUdFshmLcRjbh4tt+C7QLi/ d0JLh7cxcjsgBTxNJWWHM9ZBsyb0iDyxIyoedIlOoGOP+kg4WNW5IE3LlEe0p1AaVStrnfW5fBRH 93BuV4EXYIb6Ew== X-Originating-IP: 46.23.65.248 X-SpamExperts-Domain: thewebhostserver.com X-SpamExperts-Username: outgoing Authentication-Results: thewebhostserver.com; auth=pass (login) smtp.auth=outgoing X-SpamExperts-Outgoing-Class: ham X-SpamExperts-Outgoing-Evidence: SB/global_tokens (0.000172394165648) X-Recommended-Action: accept X-Mailinglist: alpine-devel Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: Environment patch removed as merged upstream as function SetupEnvironment() Init script added so Bitcoin runs as user Bitcoin. --- testing/bitcoin/20-set-default-env.patch | 57 -------------------------------- testing/bitcoin/APKBUILD | 33 ++++++++++++------ testing/bitcoin/bitcoin.conf | 13 ++++++++ testing/bitcoin/bitcoin.initd | 38 +++++++++++++++++++++ testing/bitcoin/bitcoin.post-install | 35 ++++++++++++++++++++ testing/bitcoin/bitcoin.pre-install | 5 +++ 6 files changed, 113 insertions(+), 68 deletions(-) delete mode 100644 testing/bitcoin/20-set-default-env.patch create mode 100644 testing/bitcoin/bitcoin.conf create mode 100644 testing/bitcoin/bitcoin.initd create mode 100644 testing/bitcoin/bitcoin.post-install create mode 100644 testing/bitcoin/bitcoin.pre-install diff --git a/testing/bitcoin/20-set-default-env.patch b/testing/bitcoin/20-set-default-env.patch deleted file mode 100644 index b9717ab..0000000 --- a/testing/bitcoin/20-set-default-env.patch +++ /dev/null @@ -1,57 +0,0 @@ ---- ./src/bitcoin-cli.cpp -+++ ./src/bitcoin-cli.cpp -@@ -53,6 +53,16 @@ - - int main(int argc, char* argv[]) - { -+ #ifndef WIN32 -+ try -+ { -+ boost::filesystem::path::codecvt(); // Raises runtime error if current locale is invalid -+ } catch(std::runtime_error &e) -+ { -+ setenv("LC_ALL", "C", 1); // Force C locale -+ } -+ #endif -+ - try - { - if(!AppInitRPC(argc, argv)) ---- ./src/bitcoind.cpp -+++ ./src/bitcoind.cpp -@@ -166,6 +166,16 @@ - - int main(int argc, char* argv[]) - { -+ #ifndef WIN32 -+ try -+ { -+ boost::filesystem::path::codecvt(); // Raises runtime error if current locale is invalid -+ } catch(std::runtime_error &e) -+ { -+ setenv("LC_ALL", "C", 1); // Force C locale -+ } -+ #endif -+ - bool fRet = false; - - // Connect bitcoind signal handlers ---- ./src/qt/bitcoin.cpp.orig -+++ ./src/qt/bitcoin.cpp -@@ -445,6 +445,16 @@ - #ifndef BITCOIN_QT_TEST - int main(int argc, char *argv[]) - { -+#ifndef WIN32 -+ try -+ { -+ boost::filesystem::path::codecvt(); // Raises runtime error if current locale is invalid -+ } catch(std::runtime_error &e) -+ { -+ setenv("LC_ALL", "C", 1); // Force C locale -+ } -+#endif -+ - /// 1. Parse command-line options. These take precedence over anything else. - // Command-line options take precedence: - ParseParameters(argc, argv); diff --git a/testing/bitcoin/APKBUILD b/testing/bitcoin/APKBUILD index 57a2752..9324157 100644 --- a/testing/bitcoin/APKBUILD +++ b/testing/bitcoin/APKBUILD @@ -1,7 +1,8 @@ -# Maintainer: Natanael Copa +# Contributor: Natanael Copa +# Maintainer: Stuart Cardall pkgname=bitcoin -pkgver=0.9.1 -pkgrel=2 +pkgver=0.9.2.1 +pkgrel=0 pkgdesc="decentralized P2P electronic cash system" url="http://www.bitcoin.org/" arch="all" @@ -11,13 +12,17 @@ depends_dev="" makedepends="$depends_dev boost-dev openssl-dev db-dev miniupnpc-dev qt5-qtbase-dev qt5-qttools-dev protobuf-dev libqrencode-dev autoconf automake libtool" -install="" +install="$pkgname.post-install $pkgname.pre-install" subpackages="$pkgname-qt $pkgname-cli" source="$pkgname-$pkgver.tar.gz::https://github.com/bitcoin/bitcoin/archive/v$pkgver.tar.gz ssize_t.patch - 20-set-default-env.patch + $pkgname.initd + $pkgname.conf " +#20-set-default-env.patch + + _builddir="$srcdir"/bitcoin-$pkgver prepare() { local i @@ -47,12 +52,15 @@ build() { package() { cd "$_builddir" make install DESTDIR="$pkgdir" || return 1 + install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname || return 1 + install -m600 -D "$srcdir"/$pkgname.conf "$pkgdir"/etc/$pkgname.conf || return 1 } qt() { pkgdesc="Bitcoin with a Qt frontend & QR Code support" mkdir -p "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/bitcoin-qt "$subpkgdir"/usr/bin/ || return 1 + mv "$pkgdir"/usr/bin/test_bitcoin-qt "$subpkgdir"/usr/bin/ || return 1 } cli() { @@ -61,12 +69,15 @@ cli() { mv "$pkgdir"/usr/bin/bitcoin-cli "$subpkgdir"/usr/bin/ || return 1 } -md5sums="7a9c14c09b04e3e37d703fbfe5c3b1e2 bitcoin-0.9.1.tar.gz +md5sums="bd3caef17ba5bf9075ff26cd1b29cdae bitcoin-0.9.2.1.tar.gz 716a88e668729e89d3eb929da86f7f04 ssize_t.patch -de733598adec12a7c0e8f2665a086f6d 20-set-default-env.patch" -sha256sums="bf5021a426b5e38a741a5294a0ceb22daa74cda11c6dc0478c4aa48c55fdccb3 bitcoin-0.9.1.tar.gz +56edf10681b0cd7cc33de1fd24155108 bitcoin.initd +3e9b4a37bb46e6cd83b6824870c58484 bitcoin.conf" +sha256sums="7cadbadd90485b7302b86ce041db576aad650f6c621d3a552d09e7231d3fcfd8 bitcoin-0.9.2.1.tar.gz f0a094c7b374338ad153ee06b7dd2369dad6b97b1f1bb0252da12c9aaace5321 ssize_t.patch -d0763e09784cb09900be7e702e4bbadfc3230715d1f6afa6d70417ab64dde5ef 20-set-default-env.patch" -sha512sums="75be422fc263f209783fc66d9fd99027d67c7460c599a23badafcf5546ce7cb21206fce04c516a1c101aeff13542b332249b3b70a70c483aa82a5048dbdc9d92 bitcoin-0.9.1.tar.gz +df060fcee7227a2c7c4a435e24dea25b6388a6d6a98f01975c466a2c770e976a bitcoin.initd +b7a31bf251f1011ab6584b610acac8494612c2012e9771985228c36c08a315ac bitcoin.conf" +sha512sums="059be086bacfe39c0983dc4ae768349b8d9213b3cd7b60157c7606a25b8b3156e0ffb86e28711550e20b1e6f692bfed021aa1d4ec583496189fa821fc547ad92 bitcoin-0.9.2.1.tar.gz 98aa5ad81bdb4ae961b791bc978c39117cdf2d83c2181f92bebbb0db107d9b6e86eda265fb3f93ff8a5ca8a7754d7148818b98095d57201dff9363d60b97e7dd ssize_t.patch -288934bea005cd6fdcf87525ce82fc0c031e0b86bba02c217c1e32536d3c51981ff187ee630f64787c6d7978d89802f8107b91fa8b2a86fbbb45cb79738e291b 20-set-default-env.patch" +9bab044e3ddc229f8e2b2eb170361f92d234c78e21c6f1c24a5fe1d0b480db5b6728dda990752eb0820085ecdc41538e735d631ff5886c270475a5b634e3729f bitcoin.initd +48abce0f0a5b088c957aa5cb2bcf9bb520593caa7a20019bdf785e43f7d2459968240d4529dfa30be2fca92891bf50c1253a513530511e99d8ee471d9ff6bd95 bitcoin.conf" diff --git a/testing/bitcoin/bitcoin.conf b/testing/bitcoin/bitcoin.conf new file mode 100644 index 0000000..4f070b1 --- /dev/null +++ b/testing/bitcoin/bitcoin.conf @@ -0,0 +1,13 @@ +### Bitcoin configuration for Alpine Linux #### +# # +##### data directory is /var/lib/bitcoin ###### +##### & set in /etc/init.d/bitcoin not here ### +# +#proxy=127.0.0.1:9050 #use TOR Socks Proxy +rpcallowip=127.0.0.1 +rpcuser=changeme +rpcpassword=changeme +rpcport=changeme +daemon=1 +#gen=1 #generate bitcoins + diff --git a/testing/bitcoin/bitcoin.initd b/testing/bitcoin/bitcoin.initd new file mode 100644 index 0000000..5f0ef76 --- /dev/null +++ b/testing/bitcoin/bitcoin.initd @@ -0,0 +1,38 @@ +#!/sbin/runscript + +# Bitcoin init.d file for Alpine Linux. + +name=bitcoind +daemon=/usr/bin/$name +config=/etc/bitcoin.conf +user=bitcoin +group=bitcoin +## supercedes datadir set in $config ## +datadir=/var/lib/bitcoin +pidfile=/var/run/bitcoin/$name.pid + +depend() { + need net + after logger firewall +} + +start() { + ebegin "Starting ${name}" + # enforce permissions + checkpath -q -d ${pidfile%/*} -o ${user}:${group} + checkpath -q -d ${datadir} -m 0700 -o ${user}:${group} + checkpath -q -f ${config} -m 0600 -o ${user}:${group} + start-stop-daemon --start --quiet \ + --pidfile ${pidfile} \ + --user ${user}:${group} \ + --exec ${daemon} -- -conf=${config} -datadir=${datadir} -pid=${pidfile} + eend $? +} + +stop() { + ebegin "Stopping ${name}" + start-stop-daemon --stop --quiet \ + --pidfile ${pidfile} \ + --exec ${daemon} + eend $? +} diff --git a/testing/bitcoin/bitcoin.post-install b/testing/bitcoin/bitcoin.post-install new file mode 100644 index 0000000..9d2510f --- /dev/null +++ b/testing/bitcoin/bitcoin.post-install @@ -0,0 +1,35 @@ +#!/bin/sh + +NORMAL="\033[1;0m" +STRONG="\033[1;1m" +GREEN="\033[1;32m" + +config=$(grep -F 'config=' /etc/init.d/bitcoin |sed 's/config=//') + +randgen() { + output=$(cat /dev/urandom | tr -dc '0-9a-zA-Z!@#$%^&*_+-' | head -c${1:-$1}) 2>/dev/null + echo $output +} + +findRandomTcpPort(){ + port=$(( 1024 + $(( $RANDOM % $(( 65534 - 1024 )) )) )) + while netstat -atn | grep -q :$port; do port=$(expr $port + 1); done; echo $port +} + +GenPasswd(){ + sed -i "/rpcuser=/ c \rpcuser=USER-"$(randgen 32)"" $config + sed -i "/rpcpassword=/ c \rpcpassword=PW-"$(randgen 64)"" $config + sed -i "/rpcport=/ c \rpcport="$(findRandomTcpPort)"" $config + print_green "Generated random user / password / port in:" " $config\n" +} + +print_green() { + local prompt="${STRONG}$1${GREEN}$2${NORMAL}" + printf "${prompt}%s" +} + +if grep -F "changeme" $config 1>/dev/null; then + GenPasswd +fi + +exit 0 diff --git a/testing/bitcoin/bitcoin.pre-install b/testing/bitcoin/bitcoin.pre-install new file mode 100644 index 0000000..f020a8b --- /dev/null +++ b/testing/bitcoin/bitcoin.pre-install @@ -0,0 +1,5 @@ +#!/bin/sh +addgroup -S bitcoin 2>/dev/null +adduser -S -H -h /var/lib/bitcoin -g bitcoin -G bitcoin -D -s /sbin/nologin bitcoin 2>/dev/null +exit 0 + -- 1.9.1 --- Unsubscribe: alpine-devel+unsubscribe@lists.alpinelinux.org Help: alpine-devel+help@lists.alpinelinux.org ---