summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorKonstantin Shalygin2018-05-31 21:53:03 +0700
committerKonstantin Shalygin2018-05-31 21:53:03 +0700
commit44553e2ac433ba5c64e9020b52c241df25dc6c93 (patch)
tree8a84c7a1347e7560daecf8e94e88abe546e89ae4
parent3f9f8ebb7a0b99961556670118379e5c3e9a15d2 (diff)
downloadaur-44553e2ac433ba5c64e9020b52c241df25dc6c93.tar.gz
Aeond Sophia v0.12.0.0
-rw-r--r--.SRCINFO28
-rw-r--r--PKGBUILD42
-rw-r--r--aeon-0.12.0.0_gcc8.patch85
-rw-r--r--aeon.tmpfiles1
-rw-r--r--aeond.conf3
-rw-r--r--aeond.service7
6 files changed, 139 insertions, 27 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 7057aa84f951..36f46c548f4d 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,23 +1,37 @@
# Generated by mksrcinfo v8
-# Mon Feb 5 07:38:00 UTC 2018
+# Thu May 31 14:50:28 UTC 2018
pkgbase = aeon
pkgdesc = A lightweight CryptoNote digital currency.
- pkgver = 0.9.14.0
+ pkgver = 0.12.0.0
pkgrel = 1
url = https://github.com/aeonix/aeon
arch = x86_64
arch = armv7h
arch = aarch64
license = custom:Cryptonote
- makedepends = boost-libs
+ makedepends = git
+ makedepends = cmake
+ makedepends = boost
+ makedepends = doxygen
+ makedepends = rapidjson
+ depends = boost-libs
+ depends = openssl
+ depends = zeromq
+ depends = pcsclite
+ depends = icu
+ backup = etc/aeond.conf
source = aeond.service
source = aeon.sysusers
source = aeon.tmpfiles
- source = https://github.com/aeonix/aeon/archive/v0.9.14.0.tar.gz
- sha256sums = 6c3cbbe52f86e9c4c423a89938835a8dcec92ce5d9243744bda1ec18faa21924
+ source = aeond.conf
+ source = https://github.com/aeonix/aeon/archive/v0.12.0.0.tar.gz
+ source = aeon-0.12.0.0_gcc8.patch
+ sha256sums = 5212dff199bb3880191292976cd8278dcdbae64f9c0ab39a9c2a91a4733186c3
sha256sums = a0cdf75b86073829f4033e367f36e9418dc20556e7adfa6ffac8653c67cd6337
- sha256sums = 6e9858948c25510f0a30cd179db494d18b32d428183f6679cb7be8ff479aae21
- sha256sums = 50379f3dfb85fdcf62a92f63fef2a4afc51efdba6a62cf4693a02621b596b8ba
+ sha256sums = 1da20b66d52db4f1c5b3106cf27ee54033650a0e36c5c775b25c9e86e6027be0
+ sha256sums = 3ef15e3c9e2d146c415f2e483dd10e4ec36f653e4684c254d9f69a5fb699036b
+ sha256sums = 61091d6c76417d6c4901dd3583ecd8b40bc651fd2a78ac78093a3f9c0b36c5b1
+ sha256sums = cf1733cea4f6a689add1a9300ed81d0a9115f2c1021ac125ee9d083972027770
pkgname = aeon
diff --git a/PKGBUILD b/PKGBUILD
index b21eb69cc7f4..e4c084b4b076 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,42 +2,48 @@
# Contributor: Konstantin Shalygin <k0ste@k0ste.ru>
pkgname='aeon'
-pkgver='0.9.14.0'
+pkgver='0.12.0.0'
pkgrel='1'
pkgdesc='A lightweight CryptoNote digital currency.'
arch=('x86_64')
url="https://github.com/${pkgname}ix/${pkgname}"
-makedepends=('boost-libs')
+depends=('boost-libs' 'openssl' 'zeromq' 'pcsclite' 'icu')
+makedepends=('git' 'cmake' 'boost' 'doxygen' 'rapidjson')
license=('custom:Cryptonote')
arch=('x86_64' 'armv7h' 'aarch64')
source=("${pkgname}d.service"
"${pkgname}.sysusers"
"${pkgname}.tmpfiles"
- "${url}/archive/v${pkgver}.tar.gz")
-sha256sums=('6c3cbbe52f86e9c4c423a89938835a8dcec92ce5d9243744bda1ec18faa21924'
+ "${pkgname}d.conf"
+ "${url}/archive/v${pkgver}.tar.gz"
+ "aeon-0.12.0.0_gcc8.patch")
+sha256sums=('5212dff199bb3880191292976cd8278dcdbae64f9c0ab39a9c2a91a4733186c3'
'a0cdf75b86073829f4033e367f36e9418dc20556e7adfa6ffac8653c67cd6337'
- '6e9858948c25510f0a30cd179db494d18b32d428183f6679cb7be8ff479aae21'
- '50379f3dfb85fdcf62a92f63fef2a4afc51efdba6a62cf4693a02621b596b8ba')
+ '1da20b66d52db4f1c5b3106cf27ee54033650a0e36c5c775b25c9e86e6027be0'
+ '3ef15e3c9e2d146c415f2e483dd10e4ec36f653e4684c254d9f69a5fb699036b'
+ '61091d6c76417d6c4901dd3583ecd8b40bc651fd2a78ac78093a3f9c0b36c5b1'
+ 'cf1733cea4f6a689add1a9300ed81d0a9115f2c1021ac125ee9d083972027770')
+backup=("etc/${pkgname}d.conf")
+
prepare() {
cd "${pkgname}-${pkgver}"
- mkdir build
+ git clone git://github.com/monero-project/miniupnp.git external/miniupnp
+ git clone git://github.com/monero-project/unbound.git external/unbound
+ git -C external/miniupnp checkout monero
+ git -C external/unbound checkout monero
+ patch -p1 -i "${srcdir}/aeon-0.12.0.0_gcc8.patch"
}
build() {
- cd "${pkgname}-${pkgver}/build"
- cmake .. \
- -DCMAKE_BUILD_TYPE="Release" \
- -DCMAKE_C_FLAGS="-fassociative-math" \
- -DCMAKE_CXX_FLAGS="-fassociative-math" \
- -DCMAKE_INSTALL_PREFIX="/usr"
- make
+ cd "${pkgname}-${pkgver}"
+ make release
}
package() {
- cd "${pkgname}-${pkgver}/build/src"
- install -Dm775 "${pkgname}d" "${pkgdir}/usr/bin/${pkgname}d"
- install -Dm775 "simplewallet" "${pkgdir}/usr/bin/${pkgname}-wallet-cli"
+ cd "${pkgname}-${pkgver}"
install -Dm0644 "${srcdir}/${pkgname}.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf"
install -Dm0644 "${srcdir}/${pkgname}.sysusers" "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
- install -Dm644 "${srcdir}/${pkgname}d.service" "${pkgdir}/usr/lib/systemd/system/${pkgname}d.service"
+ install -Dm0644 "${srcdir}/${pkgname}d.service" "${pkgdir}/usr/lib/systemd/system/${pkgname}d.service"
+ install -Dm0644 "${srcdir}/${pkgname}d.conf" "${pkgdir}/etc/${pkgname}d.conf"
+ cp -r "build/release/bin" "${pkgdir}/usr"
}
diff --git a/aeon-0.12.0.0_gcc8.patch b/aeon-0.12.0.0_gcc8.patch
new file mode 100644
index 000000000000..7f61f812251a
--- /dev/null
+++ b/aeon-0.12.0.0_gcc8.patch
@@ -0,0 +1,85 @@
+diff -Naupr aeon-0.12.0.0_orig/external/rapidjson/document.h aeon-0.12.0.0/external/rapidjson/document.h
+--- aeon-0.12.0.0_orig/external/rapidjson/document.h 2018-05-24 15:54:20.000000000 +0700
++++ aeon-0.12.0.0/external/rapidjson/document.h 2018-05-31 13:38:38.880208263 +0700
+@@ -1936,7 +1936,12 @@ private:
+ if (count) {
+ GenericValue* e = static_cast<GenericValue*>(allocator.Malloc(count * sizeof(GenericValue)));
+ SetElementsPointer(e);
++RAPIDJSON_DIAG_PUSH
++#if defined(__GNUC__) && __GNUC__ >= 8
++RAPIDJSON_DIAG_OFF(class-memaccess) // ignore complains from gcc that no trivial copy constructor exists.
++#endif
+ std::memcpy(e, values, count * sizeof(GenericValue));
++RAPIDJSON_DIAG_POP
+ }
+ else
+ SetElementsPointer(0);
+@@ -1949,7 +1954,12 @@ private:
+ if (count) {
+ Member* m = static_cast<Member*>(allocator.Malloc(count * sizeof(Member)));
+ SetMembersPointer(m);
++RAPIDJSON_DIAG_PUSH
++#if defined(__GNUC__) && __GNUC__ >= 8
++RAPIDJSON_DIAG_OFF(class-memaccess) // ignore complains from gcc that no trivial copy constructor exists.
++#endif
+ std::memcpy(m, members, count * sizeof(Member));
++RAPIDJSON_DIAG_POP
+ }
+ else
+ SetMembersPointer(0);
+diff -Naupr aeon-0.12.0.0_orig/src/crypto/chacha.h aeon-0.12.0.0/src/crypto/chacha.h
+--- aeon-0.12.0.0_orig/src/crypto/chacha.h 2018-05-24 15:54:20.000000000 +0700
++++ aeon-0.12.0.0/src/crypto/chacha.h 2018-05-31 13:39:11.727214182 +0700
+@@ -73,14 +73,14 @@ namespace crypto {
+ static_assert(sizeof(chacha_key) <= sizeof(hash), "Size of hash must be at least that of chacha_key");
+ tools::scrubbed_arr<char, HASH_SIZE> pwd_hash;
+ crypto::cn_slow_hash(data, size, pwd_hash.data(), 0/*light*/, 0/*variant*/, 0/*prehashed*/);
+- memcpy(&key, pwd_hash.data(), sizeof(key));
++ memcpy(&unwrap(key), pwd_hash.data(), sizeof(key));
+ }
+
+ inline void generate_chacha_key_prehashed(const void *data, size_t size, chacha_key& key) {
+ static_assert(sizeof(chacha_key) <= sizeof(hash), "Size of hash must be at least that of chacha_key");
+ tools::scrubbed_arr<char, HASH_SIZE> pwd_hash;
+ crypto::cn_slow_hash(data, size, pwd_hash.data(), 0/*light*/, 0/*variant*/, 1/*prehashed*/);
+- memcpy(&key, pwd_hash.data(), sizeof(key));
++ memcpy(&unwrap(key), pwd_hash.data(), sizeof(key));
+ }
+
+ inline void generate_chacha_key(std::string password, chacha_key& key) {
+diff -Naupr aeon-0.12.0.0_orig/src/cryptonote_basic/account.cpp aeon-0.12.0.0/src/cryptonote_basic/account.cpp
+--- aeon-0.12.0.0_orig/src/cryptonote_basic/account.cpp 2018-05-24 15:54:20.000000000 +0700
++++ aeon-0.12.0.0/src/cryptonote_basic/account.cpp 2018-05-31 13:38:38.880208263 +0700
+@@ -157,7 +157,7 @@ DISABLE_VS_WARNINGS(4244 4345)
+ void account_base::create_from_viewkey(const cryptonote::account_public_address& address, const crypto::secret_key& viewkey)
+ {
+ crypto::secret_key fake;
+- memset(&fake, 0, sizeof(fake));
++ memset(&unwrap(fake), 0, sizeof(fake));
+ create_from_keys(address, fake, viewkey);
+ }
+ //-----------------------------------------------------------------
+diff -Naupr aeon-0.12.0.0_orig/src/daemon/rpc_command_executor.cpp aeon-0.12.0.0/src/daemon/rpc_command_executor.cpp
+--- aeon-0.12.0.0_orig/src/daemon/rpc_command_executor.cpp 2018-05-24 15:54:20.000000000 +0700
++++ aeon-0.12.0.0/src/daemon/rpc_command_executor.cpp 2018-05-31 13:38:38.880208263 +0700
+@@ -972,7 +972,7 @@ bool t_rpc_command_executor::print_trans
+ }
+ else
+ {
+- memset(&res.pool_stats, 0, sizeof(res.pool_stats));
++ res.pool_stats = {};
+ if (!m_rpc_server->on_get_transaction_pool_stats(req, res, false) || res.status != CORE_RPC_STATUS_OK)
+ {
+ tools::fail_msg_writer() << make_error(fail_message, res.status);
+diff -Naupr aeon-0.12.0.0_orig/src/rpc/core_rpc_server_commands_defs.h aeon-0.12.0.0/src/rpc/core_rpc_server_commands_defs.h
+--- aeon-0.12.0.0_orig/src/rpc/core_rpc_server_commands_defs.h 2018-05-24 15:54:20.000000000 +0700
++++ aeon-0.12.0.0/src/rpc/core_rpc_server_commands_defs.h 2018-05-31 13:38:38.880208263 +0700
+@@ -1554,6 +1554,8 @@ namespace cryptonote
+ std::vector<txpool_histo> histo;
+ uint32_t num_double_spends;
+
++ txpool_stats(): bytes_total(0), bytes_min(0), bytes_max(0), bytes_med(0), fee_total(0), oldest(0), txs_total(0), num_failing(0), num_10m(0), num_not_relayed(0), histo_98pc(0), num_double_spends(0) {}
++
+ BEGIN_KV_SERIALIZE_MAP()
+ KV_SERIALIZE(bytes_total)
+ KV_SERIALIZE(bytes_min)
diff --git a/aeon.tmpfiles b/aeon.tmpfiles
index efd1e0043f7a..fb0e847bae87 100644
--- a/aeon.tmpfiles
+++ b/aeon.tmpfiles
@@ -1 +1,2 @@
d /var/lib/aeon 0755 aeon aeon
+d /var/log/aeon 0755 aeon aeon
diff --git a/aeond.conf b/aeond.conf
new file mode 100644
index 000000000000..f6882e4d133d
--- /dev/null
+++ b/aeond.conf
@@ -0,0 +1,3 @@
+data-dir=/var/lib/aeon
+log-file=/var/log/aeon/aeond.log
+log-level=0
diff --git a/aeond.service b/aeond.service
index 435d251f9f2e..33157d5b5bab 100644
--- a/aeond.service
+++ b/aeond.service
@@ -7,8 +7,11 @@ User=aeon
Group=aeon
WorkingDirectory=~
RuntimeDirectory=aeon
-Type=simple
-ExecStart=/usr/bin/aeond --no-console
+Type=forking
+PIDFile=/run/aeon/aeond.pid
+ExecStart=/usr/bin/aeond --config-file /etc/aeond.conf \
+ --detach --pidfile /run/aeon/aeond.pid
+Restart=always
[Install]
WantedBy=multi-user.target