diff --git a/index.js b/index.js index 74263d44a89c438a1eb63841783ba3d1d29ff3fe..535748f127ae311d21b56cfe690bf8333ce8dd9a 100644 --- a/index.js +++ b/index.js @@ -188,24 +188,26 @@ function Stack(dependencies) { // Initialize server (db connection, ...) try { - yield server.plugFileSystem(); + server.onPluggedFSHook = () => co(function*() { - // Register the configuration hook for loading phase (overrides the loaded data) - server.dal.loadConfHook = (conf) => co(function*() { - // Loading injection - for (const callback of configLoadingCallbacks) { - yield callback(conf, program, logger, server.dal.confDAL); - } - }); + // Register the configuration hook for loading phase (overrides the loaded data) + server.dal.loadConfHook = (conf) => co(function*() { + // Loading injection + for (const callback of configLoadingCallbacks) { + yield callback(conf, program, logger, server.dal.confDAL); + } + }); - // Register the configuration hook for saving phase (overrides the saved data) - server.dal.saveConfHook = (conf) => co(function*() { - const clonedConf = _.clone(conf); - for (const callback of configBeforeSaveCallbacks) { - yield callback(clonedConf, program, logger, server.dal.confDAL); - } - return clonedConf; - }); + // Register the configuration hook for saving phase (overrides the saved data) + server.dal.saveConfHook = (conf) => co(function*() { + const clonedConf = _.clone(conf); + for (const callback of configBeforeSaveCallbacks) { + yield callback(clonedConf, program, logger, server.dal.confDAL); + } + return clonedConf; + }); + }) + yield server.plugFileSystem(); const conf = yield server.loadConf(); diff --git a/package.json b/package.json index 0aeb373d0313b0c707ac26de2344c811e64a1634..500296bd9798e25a58824de3ae0e59ccf8736576 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "devDependencies": { "coveralls": "2.11.4", "duniter-bma": "^1.1.2", - "duniter-crawler": "^1.1.3", + "duniter-crawler": "^1.1.4", "duniter-keypair": "^1.1.3", "duniter-prover": "^1.1.2", "eslint": "3.13.1", diff --git a/release/arch/debian/Vagrantfile b/release/arch/debian/Vagrantfile index 5a7820f4ea3b6acca874fbdfab0040ced4f9e493..da912f7fbaa6332b1081e4f486ca5e24dc3086ea 100644 --- a/release/arch/debian/Vagrantfile +++ b/release/arch/debian/Vagrantfile @@ -12,7 +12,7 @@ Vagrant.configure("2") do |config| # Every Vagrant development environment requires a box. You can search for # boxes at https://atlas.hashicorp.com/search. - config.vm.box = "https://s3.eu-central-1.amazonaws.com/duniter/vagrant/duniter_ubuntu.box" + config.vm.box = "https://s3.eu-central-1.amazonaws.com/duniter/vagrant/duniter_trusty64.box" config.vm.provision :shell, path: "bootstrap.sh" # Disable automatic box update checking. If you disable this, then diff --git a/release/arch/debian/bootstrap.sh b/release/arch/debian/bootstrap.sh index 529eb51f5e562cb063439e7b2b780d65fd3d64e1..6666f97b5365f01b41da099362a4e4ae51301e2f 100644 --- a/release/arch/debian/bootstrap.sh +++ b/release/arch/debian/bootstrap.sh @@ -9,4 +9,4 @@ apt-get update apt-get install --yes git curl build-essential yarn python-minimal zip # User installation -sudo su ubuntu -c "bash /vagrant/user-bootstrap.sh" +sudo su vagrant -c "bash /vagrant/user-bootstrap.sh" diff --git a/release/arch/debian/build-deb.sh b/release/arch/debian/build-deb.sh index 559db82bd1ee9e7b359803ad45ae37f32f68c26e..ebc1a54b8ded6049246fcd31fc25b9cf42355129 100644 --- a/release/arch/debian/build-deb.sh +++ b/release/arch/debian/build-deb.sh @@ -126,10 +126,16 @@ cd "$RELEASES/desktop_/node_modules/sqlite3" node-pre-gyp --runtime=node-webkit --target=$NW_VERSION configure node-pre-gyp --runtime=node-webkit --target=$NW_VERSION build cp lib/binding/node-webkit-$NW_RELEASE-linux-x64/node_sqlite3.node lib/binding/node-v$ADDON_VERSION-linux-x64/node_sqlite3.node +cd "$RELEASES/desktop_/node_modules/heapdump" +nw-gyp --target=$NW_VERSION configure +nw-gyp --target=$NW_VERSION build # Unused binaries cd "$RELEASES/desktop_/" rm -rf node_modules/sqlite3/build +#rm -rf node_modules/naclb/build +#rm -rf node_modules/wotb/build +#rm -rf node_modules/scryptb/build ## Install Nw.js mkdir -p "$RELEASES/desktop_release" @@ -155,7 +161,7 @@ tar czf /vagrant/duniter-desktop-${DUNITER_TAG}-linux-x64.tar.gz * --exclude ".g # ------------------------------------------------- # Create .deb tree + package it -cp -r "$RELEASES/desktop_release/sources/ci/travis/debian" "$RELEASES/duniter-x64" +cp -r "$RELEASES/desktop_release/sources/release/arch/debian/package" "$RELEASES/duniter-x64" mkdir -p "$RELEASES/duniter-x64/opt/duniter/" chmod 755 ${RELEASES}/duniter-x64/DEBIAN/post* chmod 755 ${RELEASES}/duniter-x64/DEBIAN/pre* diff --git a/release/arch/debian/package/DEBIAN/control b/release/arch/debian/package/DEBIAN/control index 99210ce3ecae62e96655ed35e93d76d0bdf7c446..5acb70497eaff53e5c495feceae9079e744a7a2b 100644 --- a/release/arch/debian/package/DEBIAN/control +++ b/release/arch/debian/package/DEBIAN/control @@ -5,4 +5,4 @@ Priority: optional Architecture: all Installed-Size: 200000 Maintainer: Cedric Moreau <cem.moreau@gmail.com> -Description: Crypto-currency software to manage libre currency such as Äž1 +Description: Crypto-currency software to powering Äž1 libre currency diff --git a/release/arch/windows/build.bat b/release/arch/windows/build.bat index bf88476ef7418dcfd1f0034c67461e6948092af4..1c69eb24b80f30dacf92a3c96905867409494ee9 100644 --- a/release/arch/windows/build.bat +++ b/release/arch/windows/build.bat @@ -63,6 +63,9 @@ call npm install --build-from-source call node-pre-gyp --runtime=node-webkit --target=%NW_VERSION% --msvs_version=2015 configure call node-pre-gyp --runtime=node-webkit --target=%NW_VERSION% --msvs_version=2015 build copy %cd%\lib\binding\node-webkit-%NW_RELEASE%-win32-x64\node_sqlite3.node %cd%\lib\binding\node-v%ADDON_VERSION%-win32-x64\node_sqlite3.node /Y +cd ../heapdump +call nw-gyp --target=%NW_VERSION% --msvs_version=2015 configure +call nw-gyp --target=%NW_VERSION% --msvs_version=2015 build cd ../.. call npm install duniter-ui --save --production rd /s /q %cd%\node_modules\duniter-ui\node_modules diff --git a/release/arch/windows/duniter.iss b/release/arch/windows/duniter.iss index dc5cc97ff4e46db827138b1df2cbc9309596a657..c8458801483cf110799d26b747416417bbc9497d 100644 --- a/release/arch/windows/duniter.iss +++ b/release/arch/windows/duniter.iss @@ -15,7 +15,7 @@ #error "Unable to find MyAppExe" #endif -#define MyAppVerStr "v0.20.0a18" +#define MyAppVerStr "v1.2.3" [Setup] AppName={#MyAppName} diff --git a/release/new_version.sh b/release/new_version.sh index b2e2ad10614a37060e38bb9bbf1820e17bff4b9c..4ada664b58c60f007173b8fd7fe4f2983f94c50d 100755 --- a/release/new_version.sh +++ b/release/new_version.sh @@ -12,6 +12,9 @@ if [[ $1 =~ ^[0-9]+.[0-9]+.[0-9]+((a|b)[0-9]+)?$ ]]; then sed -i "s/version').equal('.*/version').equal('$1');/g" test/integration/branches.js sed -i "s/ release: .*/ release: v$1/g" appveyor.yml + # Duniter.iss (Windows installer) + sed -i "s/define MyAppVerStr.*/define MyAppVerStr \"v$1\"/g" release/arch/windows/duniter.iss + # GUI containers version sed -i "s/name\": .*/name\": \"v$1\",/g" gui/package.json sed -i "s/title\": .*/title\": \"v$1\",/g" gui/package.json @@ -22,7 +25,7 @@ if [[ $1 =~ ^[0-9]+.[0-9]+.[0-9]+((a|b)[0-9]+)?$ ]]; then # Commit git reset HEAD - git add install.sh package.json test/integration/branches.js gui/package.json gui/index.html release/arch/debian/package/DEBIAN/control install.sh + git add install.sh package.json test/integration/branches.js gui/package.json gui/index.html release/arch/debian/package/DEBIAN/control install.sh release/arch/windows/duniter.iss git commit -m "v$1" git tag "v$1" else diff --git a/release/scripts/build.sh b/release/scripts/build.sh index b6f0435aa6f01d0801ad95e2c7e97cbfb281571b..a341dc222766bfb49c21f264d967853077a0b59d 100755 --- a/release/scripts/build.sh +++ b/release/scripts/build.sh @@ -7,7 +7,7 @@ make) case "$2" in arm) cd release/arch/arm - ./build-deb.sh + ./build-arm.sh if [ ! $? -eq 0 ]; then echo ">> Something went wrong. Stopping build." else diff --git a/server.js b/server.js index dd69d2b19ce99ce96305597f4ba30595bf03564d..e8cb1a2dc305528b209ee64b42e59630c63e9253 100644 --- a/server.js +++ b/server.js @@ -90,6 +90,7 @@ function Server (home, memoryOnly, overrideConf) { logger.debug('Plugging file system...'); const params = yield paramsP; that.dal = fileDAL(params); + yield that.onPluggedFSHook() }); this.unplugFileSystem = () => co(function *() { @@ -453,6 +454,11 @@ function Server (home, memoryOnly, overrideConf) { * Default WoT transforming method for certs => links. To be overriden by a module. */ this.generatorNewCertsToLinks = () => Promise.resolve({}) + + /* + * Default hook on file system plugging. To be overriden by module system. + */ + this.onPluggedFSHook = () => Promise.resolve({}) } util.inherits(Server, stream.Duplex); diff --git a/yarn.lock b/yarn.lock index 0a11df8738a9194181d45c742f251d3a555fa089..027d0b8ea3b835724c13ace8f73242e0552df91b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -646,8 +646,8 @@ decamelize@^1.0.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" deep-extend@~0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253" + version "0.4.2" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" deep-is@~0.1.2, deep-is@~0.1.3: version "0.1.3" @@ -742,9 +742,9 @@ duniter-common@^1.0.0: node-pre-gyp "0.6.32" tweetnacl "0.14.3" -duniter-crawler@^1.1.0, duniter-crawler@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/duniter-crawler/-/duniter-crawler-1.1.3.tgz#a826268a70b02b4aadd74002bc05dfdb93b6d91f" +duniter-crawler@^1.1.0, duniter-crawler@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/duniter-crawler/-/duniter-crawler-1.1.4.tgz#fe6544c01aae0e0041ae46176118b57ebf46c0d1" dependencies: async "2.2.0" co "4.6.0" @@ -878,11 +878,11 @@ escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" -escape-string-regexp@1.0.2: +escape-string-regexp@1.0.2, escape-string-regexp@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz#4dbc2fe674e71949caf3fb2695ce7f2dc1d9a8d1" -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: +escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" @@ -1714,13 +1714,20 @@ js-yaml@3.0.1: argparse "~ 0.1.11" esprima "~ 1.0.2" -js-yaml@3.8.2, js-yaml@3.x, js-yaml@^3.2.5, js-yaml@^3.5.1: +js-yaml@3.8.2: version "3.8.2" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.2.tgz#02d3e2c0f6beab20248d412c352203827d786721" dependencies: argparse "^1.0.7" esprima "^3.1.1" +js-yaml@3.x, js-yaml@^3.2.5, js-yaml@^3.5.1: + version "3.8.4" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.4.tgz#520b4564f86573ba96662af85a8cafa7b4b5a6f6" + dependencies: + argparse "^1.0.7" + esprima "^3.1.1" + jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" @@ -1883,10 +1890,14 @@ mime-types@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-1.0.2.tgz#995ae1392ab8affcbfcb2641dd054e943c0d5dce" -mime@1.3.4, mime@^1.2.11, mime@^1.3.4: +mime@1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" +mime@^1.2.11, mime@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.5.tgz#dc1ee70b80fee4999cb0775c9f94beefc9a779a3" + mime@~1.2.11: version "1.2.11" resolved "https://registry.yarnpkg.com/mime/-/mime-1.2.11.tgz#58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10" @@ -2847,7 +2858,7 @@ streamsearch@0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-0.1.2.tgz#808b9d0e56fc273d809ba57338e929919a1a9f1a" -string-width@^1.0.1: +string-width@^1.0.1, string-width@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" dependencies: @@ -2991,8 +3002,8 @@ tar-pack@~3.3.0: uid-number "~0.0.6" tar-stream@^1.5.0: - version "1.5.2" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.5.2.tgz#fbc6c6e83c1a19d4cb48c7d96171fc248effc7bf" + version "1.5.4" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.5.4.tgz#36549cf04ed1aee9b2a30c0143252238daf94016" dependencies: bl "^1.0.0" end-of-stream "^1.0.0" @@ -3198,10 +3209,10 @@ which@^1.1.1: isexe "^2.0.0" wide-align@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad" + version "1.1.2" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" dependencies: - string-width "^1.0.1" + string-width "^1.0.2" window-size@0.1.0: version "0.1.0"