You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

149 lines
5.6 KiB

##
## neo4j-contrib.spec -- OpenPKG RPM Package Specification
## Copyright (c) 2000-2022 OpenPKG Project <http://openpkg.org/>
##
## 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