From 322be494e83f1dfdfcc3a2c19cc28956472c7c37 Mon Sep 17 00:00:00 2001 From: "Ralf S. Engelschall" Date: Sun, 14 Oct 2018 10:33:04 +0200 Subject: [PATCH] new package --- neo4j-contrib/neo4j-contrib.conf | 13 +++ neo4j-contrib/neo4j-contrib.spec | 149 +++++++++++++++++++++++++++++++ 2 files changed, 162 insertions(+) create mode 100644 neo4j-contrib/neo4j-contrib.conf create mode 100644 neo4j-contrib/neo4j-contrib.spec diff --git a/neo4j-contrib/neo4j-contrib.conf b/neo4j-contrib/neo4j-contrib.conf new file mode 100644 index 0000000000..38d1c7c452 --- /dev/null +++ b/neo4j-contrib/neo4j-contrib.conf @@ -0,0 +1,13 @@ + +dbms.security.procedures.unrestricted=ga.uuid.*,apoc.*,algo.* +dbms.security.procedures.whitelist=ga.uuid.*,apoc.*,algo.* + +com.graphaware.runtime.enabled=true +com.graphaware.module.UIDM.1=com.graphaware.module.uuid.UuidBootstrapper +com.graphaware.module.UIDM.uuidProperty=uuid +com.graphaware.module.UIDM.stripHyphens=false +#com.graphaware.module.UIDM.node=hasLabel('Label1') || hasLabel('Label2') +com.graphaware.module.UIDM.relationship=com.graphaware.runtime.policy.all.IncludeAllBusinessRelationships +com.graphaware.module.UIDM.uuidIndex=uuidIndex +com.graphaware.module.UIDM.uuidRelationshipIndex=uuidRelIndex + diff --git a/neo4j-contrib/neo4j-contrib.spec b/neo4j-contrib/neo4j-contrib.spec new file mode 100644 index 0000000000..e8c6483ab9 --- /dev/null +++ b/neo4j-contrib/neo4j-contrib.spec @@ -0,0 +1,149 @@ +## +## neo4j-contrib.spec -- OpenPKG RPM Package Specification +## Copyright (c) 2000-2018 OpenPKG Project +## +## Permission to use, copy, modify, and distribute this software for +## any purpose with or without fee is hereby granted, provided that +## the above copyright notice and this permission notice appear in all +## copies. +## +## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED +## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR +## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +## SUCH DAMAGE. +## + +# package version +%define V_neo4j 3.4.8 +%define V_uuid 3.4.8.52.17 +%define V_uuid_framework 3.4.8.52 +%define V_apoc 3.4.0.3 +%define V_algo 3.4.8.0 + +# package information +Name: neo4j-contrib +Summary: Neo4J Extension Plugins +URL: http://neo4j.org/ +Vendor: GraphAware, Neo4J Community +Packager: OpenPKG Project +Distribution: OpenPKG Community +Class: EVAL +Group: Database +License: GPL, AGPL +Version: %{V_neo4j} +Release: 20181014 + +# list of sources +Source0: https://products.graphaware.com/download/uuid/graphaware-uuid-%{V_uuid}.jar +Source1: https://products.graphaware.com/download/framework-server-community/graphaware-server-community-all-%{V_uuid_framework}.jar +Source2: https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/%{V_apoc}/apoc-%{V_apoc}-all.jar +Source3: https://github.com/neo4j-contrib/neo4j-graph-algorithms/releases/download/%{V_algo}/graph-algorithms-algo-%{V_algo}.jar +Source4: neo4j-contrib.conf + +# build information +BuildPreReq: OpenPKG, openpkg >= 20160101 +PreReq: OpenPKG, openpkg >= 20160101, neo4j >= %{V_neo4j} + +%description + This is a bundle of extension plugins for the Neo4J graph database: + GraphAware UUID transparently assigns a UUID to newly created + nodes and relationships in the graph and makes sure nobody can + (accidentally or intentionally) change or delete them; APOC (A + Package of Components) provides many (about 450) procedures and + functions to help with many different tasks in areas like data + integration, graph algorithms or data conversion; the Graph + Algorithms provides efficiently implemented, parallel versions of + common graph algorithms. + +%track + prog neo4j-contrib:uuid = { + version = %{V_uuid} + url = https://graphaware.com/products/ + regex = graphaware-uuid-(__VER__)\.jar + } + prog neo4j-contrib:uuid-framework = { + version = %{V_uuid_framework} + url = https://graphaware.com/products/ + regex = graphaware-server-community-all-(__VER__)\.jar + } + prog neo4j-contrib:apoc = { + version = %{V_apoc} + url = https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases + regex = apoc-(__VER__)-all\.jar + } + prog neo4j-contrib:algo = { + version = %{V_algo} + url = https://github.com/neo4j-contrib/neo4j-graph-algorithms/releases + regex = graph-algorithms-algo-(__VER__)\.jar + } + +%prep + %setup -q -T -c + +%build + +%install + # create installation hierarchy + %{l_shtool} mkdir -f -p -m 755 \ + $RPM_BUILD_ROOT%{l_prefix}/share/neo4j-contrib \ + $RPM_BUILD_ROOT%{l_prefix}/lib/neo4j/plugins + + # install configuration + %{l_shtool} install -c -m 644 \ + %{SOURCE neo4j-contrib.conf} \ + $RPM_BUILD_ROOT%{l_prefix}/share/neo4j-contrib/ + + # install GraphAware UUID + %{l_shtool} install -c -m 644 \ + %{SOURCE graphaware-uuid-%{V_uuid}.jar} \ + $RPM_BUILD_ROOT%{l_prefix}/lib/neo4j/plugins/uuid.jar + %{l_shtool} install -c -m 644 \ + %{SOURCE graphaware-server-community-all-%{V_uuid_framework}.jar} \ + $RPM_BUILD_ROOT%{l_prefix}/lib/neo4j/plugins/uuid-framework.jar + + # install APOC Procedures + %{l_shtool} install -c -m 644 \ + %{SOURCE apoc-%{V_apoc}-all.jar} \ + $RPM_BUILD_ROOT%{l_prefix}/lib/neo4j/plugins/apoc.jar + + # install Graph Algorithms + %{l_shtool} install -c -m 644 \ + %{SOURCE graph-algorithms-algo-%{V_algo}.jar} \ + $RPM_BUILD_ROOT%{l_prefix}/lib/neo4j/plugins/algo.jar + + # determine installation files + %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} + +%files -f files + +%clean + +%post + if [ ".$1" = .1 ]; then + # add hook to Neo4J configuration + neo4jconf="$RPM_INSTALL_PREFIX/etc/neo4j/neo4j.conf" + if [ -f $neo4jconf ]; then + cat $RPM_INSTALL_PREFIX/share/neo4j-contrib/neo4j-contrib.conf | \ + $RPM_INSTALL_PREFIX/lib/openpkg/rpmtool config \ + -a -i "$RPM_INSTALL_PREFIX:neo4j-contrib" -p "#" $neo4jconf + fi + fi + +%postun + if [ ".$1" = .0 ]; then + # remove hook from Neo4J configuration + neo4jconf="$RPM_INSTALL_PREFIX/etc/neo4j/neo4j.conf" + if [ -f $neo4jconf ]; then + $RPM_INSTALL_PREFIX/lib/openpkg/rpmtool config \ + -r -i "$RPM_INSTALL_PREFIX:neo4j-contrib" -p "#" $neo4jconf + fi + fi +