## ## neo4j-contrib.spec -- OpenPKG RPM Package Specification ## Copyright (c) 2000-2021 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 4.4.0.1 %define V_algo 3.5.4.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: 20211209 # 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