diff --git a/CMakeLists.txt b/CMakeLists.txt index e1aad953..01a76f29 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -616,9 +616,11 @@ if (NANO_GUI OR RAIBLOCKS_GUI) install (FILES ${Qt5_bin_DIR}/Qt5WinExtras.dll DESTINATION .) install (FILES ${Qt5WindowsPlugin} DESTINATION platforms) else () - set(CPACK_GENERATOR "TBZ2") + set(CPACK_GENERATOR "TBZ2;DEB") + set(CPACK_DEBIAN_PACKAGE_DEPENDS qt5-default) + set(CPACK_DEBIAN_PACKAGE_MAINTAINER "russel@nano.org") install(TARGETS nano_wallet - RUNTIME DESTINATION . + RUNTIME DESTINATION ./bin ) if (NANO_SHARED_BOOST) get_filename_component(Boost_LIB_DIR ${BOOST_ROOT}/lib ABSOLUTE) @@ -634,8 +636,8 @@ if (NANO_GUI OR RAIBLOCKS_GUI) install (FILES ${Boost_LIB_DIR}/libboost_atomic.so.${Boost_VERSION_STRING} DESTINATION ./lib) endif() if (NANO_POW_SERVER) - install (TARGETS nano_pow_server DESTINATION .) - install (DIRECTORY ${PROJECT_SOURCE_DIR}/nano-pow-server/public DESTINATION .) + install (TARGETS nano_pow_server DESTINATION ./bin) + install (DIRECTORY ${PROJECT_SOURCE_DIR}/nano-pow-server/public DESTINATION ./bin) endif () endif () endif () diff --git a/ci/actions/deploy.sh b/ci/actions/deploy.sh index fb7e1555..d2bebef2 100755 --- a/ci/actions/deploy.sh +++ b/ci/actions/deploy.sh @@ -13,8 +13,11 @@ fi if [[ "$OS" == 'Linux' ]]; then sha256sum $GITHUB_WORKSPACE/build/nano-node-*-Linux.tar.bz2 | cut -f1 -d' ' > $GITHUB_WORKSPACE/nano-node-$TAG-Linux.tar.bz2.sha256 + sha256sum $GITHUB_WORKSPACE/build/nano-node-*-Linux.deb | cut -f1 -d' ' > $GITHUB_WORKSPACE/nano-node-$TAG-Linux.deb.sha256 aws s3 cp $GITHUB_WORKSPACE/build/nano-node-*-Linux.tar.bz2 s3://repo.nano.org/$BUILD/binaries/nano-node-$TAG-Linux.tar.bz2 --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers aws s3 cp $GITHUB_WORKSPACE/nano-node-$TAG-Linux.tar.bz2.sha256 s3://repo.nano.org/$BUILD/binaries/nano-node-$TAG-Linux.tar.bz2.sha256 --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers + aws s3 cp $GITHUB_WORKSPACE/build/nano-node-*-Linux.deb s3://repo.nano.org/$BUILD/binaries/nano-node-$TAG-Linux.deb --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers + aws s3 cp $GITHUB_WORKSPACE/nano-node-$TAG-Linux.deb.sha256 s3://repo.nano.org/$BUILD/binaries/nano-node-$TAG-Linux.deb.sha256 --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers else sha256sum $GITHUB_WORKSPACE/build/nano-node-*-Darwin.dmg | cut -f1 -d' ' > $GITHUB_WORKSPACE/build/nano-node-$TAG-Darwin.dmg.sha256 aws s3 cp $GITHUB_WORKSPACE/build/nano-node-*-Darwin.dmg s3://repo.nano.org/$BUILD/binaries/nano-node-$TAG-Darwin.dmg --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers diff --git a/ci/actions/windows/build.ps1 b/ci/actions/windows/build.ps1 index 4e963a4b..40c150da 100644 --- a/ci/actions/windows/build.ps1 +++ b/ci/actions/windows/build.ps1 @@ -9,7 +9,7 @@ if (${env:artifact} -eq 1) { $env:NETWORK_CFG = "live" $env:BUILD_TYPE = "Release" } - $env:NANO_SHARED_BOOST = "OFF" + $env:NANO_SHARED_BOOST = "ON" $env:ROCKS_LIB = '-DROCKSDB_LIBRARIES="c:\vcpkg\installed\x64-windows-static\lib\rocksdb.lib"' $env:NANO_TEST = "-DNANO_TEST=OFF" $env:TRAVIS_TAG = ${env:TAG} @@ -37,6 +37,9 @@ mkdir build Push-Location build $env:BOOST_ROOT = ${env:BOOST_ROOT_1_69_0} +#accessibility of Boost dlls for generating config samples +$ENV:PATH = "$ENV:PATH;$ENV:BOOST_ROOT\lib" + & ..\ci\actions\windows\configure.bat if (${LastExitCode} -ne 0) { throw "Failed to configure" diff --git a/ci/build-deploy.sh b/ci/build-deploy.sh index 6f5bb2e5..8a3d5d36 100755 --- a/ci/build-deploy.sh +++ b/ci/build-deploy.sh @@ -30,6 +30,7 @@ cmake \ -DCMAKE_BUILD_TYPE=${CONFIGURATION} \ -DCMAKE_VERBOSE_MAKEFILE=ON \ -DBOOST_ROOT=/tmp/boost/ \ + -DNANO_SHARED_BOOST=ON \ -DQt5_DIR=${qt_dir} \ -DCI_BUILD=true \ .. diff --git a/docker/node/Dockerfile b/docker/node/Dockerfile index ef264309..7ecdf418 100644 --- a/docker/node/Dockerfile +++ b/docker/node/Dockerfile @@ -9,7 +9,7 @@ RUN mkdir /tmp/build && \ cd /tmp/build && \ cmake /tmp/src -DCI_BUILD=${CI_BUILD} -DBOOST_ROOT=${BOOST_ROOT} -DACTIVE_NETWORK=nano_${NETWORK}_network \ -DNANO_ROCKSDB=ON -DNANO_POW_SERVER=ON -DROCKSDB_LIBRARIES=/tmp/rocksdb/lib/librocksdb.a \ - -DROCKSDB_INCLUDE_DIRS=/tmp/rocksdb/include && \ + -DROCKSDB_INCLUDE_DIRS=/tmp/rocksdb/include -DNANO_SHARED_BOOST=ON && \ make nano_node -j $(nproc) && \ make nano_rpc -j $(nproc) && \ make nano_pow_server -j $(nproc) && \ @@ -28,8 +28,10 @@ COPY --from=0 /tmp/src/api/ /usr/bin/api/ COPY --from=0 /etc/nano-network /etc COPY docker/node/entry.sh /usr/bin/entry.sh COPY docker/node/config /usr/share/nano/config +COPY --from=0 /tmp/boost/lib/* /usr/local/lib/ RUN chmod +x /usr/bin/entry.sh RUN ln -s /usr/bin/nano_node /usr/bin/rai_node +RUN ldconfig WORKDIR /root USER root diff --git a/nano-pow-server b/nano-pow-server index 1279afc2..00591aea 160000 --- a/nano-pow-server +++ b/nano-pow-server @@ -1 +1 @@ -Subproject commit 1279afc2b6a5382c708d642d8c190bf0f68d340e +Subproject commit 00591aeae94bc52d2f087bcb1bf255396f59b42f diff --git a/nano/ipc_flatbuffers_lib/CMakeLists.txt b/nano/ipc_flatbuffers_lib/CMakeLists.txt index 9d3a8fba..b4b5a6e5 100644 --- a/nano/ipc_flatbuffers_lib/CMakeLists.txt +++ b/nano/ipc_flatbuffers_lib/CMakeLists.txt @@ -25,6 +25,8 @@ add_subdirectory(../../flatbuffers ${CMAKE_CURRENT_BINARY_DIR}/flatbuffers-build file(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/generated/flatbuffers) if (APPLE) install (DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../api/flatbuffers/ DESTINATION Nano.app/Contents/MacOS/api/flatbuffers) +elseif(LINUX) + install (DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../api/flatbuffers/ DESTINATION ./bin/api/flatbuffers) else() install (DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../api/flatbuffers/ DESTINATION ./api/flatbuffers) endif() diff --git a/nano/nano_node/CMakeLists.txt b/nano/nano_node/CMakeLists.txt index 0c276ecc..ed978274 100644 --- a/nano/nano_node/CMakeLists.txt +++ b/nano/nano_node/CMakeLists.txt @@ -33,7 +33,12 @@ add_custom_command(TARGET nano_node COMMAND nano_node --generate_config rpc > ${PROJECT_BINARY_DIR}/config-rpc.toml.sample) if ((NANO_GUI OR RAIBLOCKS_GUI) AND NOT APPLE) - install(TARGETS nano_node - RUNTIME DESTINATION . - ) + if (WIN32) + install(TARGETS nano_node + RUNTIME DESTINATION . + ) + else () + install(TARGETS nano_node + RUNTIME DESTINATION ./bin) + endif() endif() diff --git a/nano/nano_rpc/CMakeLists.txt b/nano/nano_rpc/CMakeLists.txt index b8f40f43..deb3cc57 100644 --- a/nano/nano_rpc/CMakeLists.txt +++ b/nano/nano_rpc/CMakeLists.txt @@ -20,7 +20,12 @@ target_compile_definitions(nano_rpc -DGIT_COMMIT_HASH=${GIT_COMMIT_HASH}) if ((NANO_GUI OR RAIBLOCKS_GUI) AND NOT APPLE) - install(TARGETS nano_rpc - RUNTIME DESTINATION . - ) + if (WIN32) + install(TARGETS nano_rpc + RUNTIME DESTINATION . + ) + else () + install(TARGETS nano_rpc + RUNTIME DESTINATION ./bin) + endif() endif()