From 65f4c53529e9d3f77f08c056d498acfe86154ddc Mon Sep 17 00:00:00 2001 From: Teon Banek Date: Fri, 12 Jan 2018 15:21:45 +0100 Subject: [PATCH] Cleanup and reorganize release directory Summary: Add packager variable for Arch package. Move docker packaging to docker subfolder. Remove web_browser script. Move debian from cmake dir to release. Add README.md to release dir. Reviewers: mferencevic, buda Reviewed By: mferencevic Subscribers: pullbot Differential Revision: https://phabricator.memgraph.io/D1104 --- CMakeLists.txt | 10 ++--- cmake/debian/copyright | 1 - release/.gitignore | 1 - release/README.md | 14 +++++++ release/arch-pkg/package_arch | 3 +- {cmake => release}/debian/conffiles | 0 release/debian/copyright | 1 + {cmake => release}/debian/postinst | 0 {cmake => release}/debian/postrm | 0 {cmake => release}/debian/prerm | 0 .../memgraph.dockerfile} | 0 release/{ => docker}/package_docker | 3 +- release/web_browser | 37 ------------------- 13 files changed, 23 insertions(+), 47 deletions(-) delete mode 120000 cmake/debian/copyright delete mode 100644 release/.gitignore create mode 100644 release/README.md rename {cmake => release}/debian/conffiles (100%) create mode 120000 release/debian/copyright rename {cmake => release}/debian/postinst (100%) rename {cmake => release}/debian/postrm (100%) rename {cmake => release}/debian/prerm (100%) rename release/{community.dockerfile => docker/memgraph.dockerfile} (100%) rename release/{ => docker}/package_docker (87%) delete mode 100755 release/web_browser diff --git a/CMakeLists.txt b/CMakeLists.txt index c2016577c..16a59d90a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -221,11 +221,11 @@ set(CPACK_DEBIAN_PACKAGE_MAINTAINER "tech@memgraph.com (Memgraph Ltd.)") set(CPACK_DEBIAN_PACKAGE_SECTION non-free/database) set(CPACK_DEBIAN_PACKAGE_HOMEPAGE https://memgraph.com) set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA - "${CMAKE_CURRENT_SOURCE_DIR}/cmake/debian/conffiles;" - "${CMAKE_CURRENT_SOURCE_DIR}/cmake/debian/copyright;" - "${CMAKE_CURRENT_SOURCE_DIR}/cmake/debian/prerm;" - "${CMAKE_CURRENT_SOURCE_DIR}/cmake/debian/postrm;" - "${CMAKE_CURRENT_SOURCE_DIR}/cmake/debian/postinst;") + "${CMAKE_SOURCE_DIR}/release/debian/conffiles;" + "${CMAKE_SOURCE_DIR}/release/debian/copyright;" + "${CMAKE_SOURCE_DIR}/release/debian/prerm;" + "${CMAKE_SOURCE_DIR}/release/debian/postrm;" + "${CMAKE_SOURCE_DIR}/release/debian/postinst;") set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) # Description formatting is important, summary must be followed with a newline and 1 space. set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "${CPACK_PACKAGE_DESCRIPTION_SUMMARY} diff --git a/cmake/debian/copyright b/cmake/debian/copyright deleted file mode 120000 index 9ff1f83e4..000000000 --- a/cmake/debian/copyright +++ /dev/null @@ -1 +0,0 @@ -../../release/LICENSE.md \ No newline at end of file diff --git a/release/.gitignore b/release/.gitignore deleted file mode 100644 index 79274fea8..000000000 --- a/release/.gitignore +++ /dev/null @@ -1 +0,0 @@ -memgraph-*.tar.gz diff --git a/release/README.md b/release/README.md new file mode 100644 index 000000000..d600acdb5 --- /dev/null +++ b/release/README.md @@ -0,0 +1,14 @@ +# Memgraph Release Packaging + +Various tools and packaging configuration files should be put under this +directory. Common files for all packages can be kept in the root of this +directory, for example `memgraph.service`. If the common stuff should be +grouped, it should be in a subdirectory. `examples` directory is one such +case. Packaging specific stuff must have its own directory. + +Currently we support distributing Memgraph binary through the following +packages. + + * Debian package + * Docker image + * ArchLinux package diff --git a/release/arch-pkg/package_arch b/release/arch-pkg/package_arch index 3ab0a0ef2..e5b24d867 100755 --- a/release/arch-pkg/package_arch +++ b/release/arch-pkg/package_arch @@ -38,7 +38,8 @@ cp ../memgraph.install ./ updpkgsums PKGBUILD namcap PKGBUILD -makepkg +# TODO: Maybe add a custom makepkg.conf and use that +makepkg PACKAGER="tech@memgraph.com (Memgraph Ltd.)" # Check the final package archive validity and move it in parent directory. pkg_name=memgraph-${version}-1-x86_64.pkg.tar.xz namcap --exclude=emptydir $pkg_name diff --git a/cmake/debian/conffiles b/release/debian/conffiles similarity index 100% rename from cmake/debian/conffiles rename to release/debian/conffiles diff --git a/release/debian/copyright b/release/debian/copyright new file mode 120000 index 000000000..7eabdb1c2 --- /dev/null +++ b/release/debian/copyright @@ -0,0 +1 @@ +../LICENSE.md \ No newline at end of file diff --git a/cmake/debian/postinst b/release/debian/postinst similarity index 100% rename from cmake/debian/postinst rename to release/debian/postinst diff --git a/cmake/debian/postrm b/release/debian/postrm similarity index 100% rename from cmake/debian/postrm rename to release/debian/postrm diff --git a/cmake/debian/prerm b/release/debian/prerm similarity index 100% rename from cmake/debian/prerm rename to release/debian/prerm diff --git a/release/community.dockerfile b/release/docker/memgraph.dockerfile similarity index 100% rename from release/community.dockerfile rename to release/docker/memgraph.dockerfile diff --git a/release/package_docker b/release/docker/package_docker similarity index 87% rename from release/package_docker rename to release/docker/package_docker index 906f08b1e..cfd4c5963 100755 --- a/release/package_docker +++ b/release/docker/package_docker @@ -10,7 +10,6 @@ function print_help () { } working_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -project_dir="${working_dir}/.." latest_image="" tag_latest="" @@ -38,7 +37,7 @@ version=`echo ${deb_name} | sed 's/.*[-_]\(.*\)-.*/\1/'` image_name="memgraph:${version}" package_name="memgraph-${version}-docker.tar.gz" # Build docker image. -docker build -t ${image_name} ${tag_latest} -f ${working_dir}/community.dockerfile --build-arg deb_release=${deb_name}.deb . +docker build -t ${image_name} ${tag_latest} -f ${working_dir}/memgraph.dockerfile --build-arg deb_release=${deb_name}.deb . docker save ${image_name} ${latest_image} > ${package_name} rm -rf "${deb_name}.deb" echo "Built Docker image at '${working_dir}/${package_name}" diff --git a/release/web_browser b/release/web_browser deleted file mode 100755 index 65407d35c..000000000 --- a/release/web_browser +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -working_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" - -# NOTE! database has to be started manually! - -# SYSTEM LEVEL DEPENDENCIES -# TODO (install): npm -# TODO (install): npm install -g yarn - -# DEPENDENCIES -cd ${working_dir} -git clone https://github.com/novnc/websockify -git clone https://github.com/neo4j/neo4j-browser -# NOTE: git will skip cloning if the repositories were already being cloned - -db_port=7687 -proxy_port=7688 -web_port=7689 - -echo "Database port: ${db_port}" -echo "Websocket proxy port: ${proxy_port}" -echo "Neo4j Browser port: ${web_port}" - -# run web sockify -cd ${working_dir}/websockify -./run localhost:${proxy_port} localhost:${db_port} & -proxy_pid=$! - -# run neo4j-browser -cd ${working_dir}/neo4j-browser -yarn # installs neo4j-browser dependencies -yarn start -- --port ${web_port} - -kill -9 ${proxy_pid} - -# :server connect -> bolt://localhost:${proxy_port}