diff options
Diffstat (limited to 'databases/neo4j')
-rw-r--r-- | databases/neo4j/Makefile | 65 | ||||
-rw-r--r-- | databases/neo4j/distinfo | 6 | ||||
-rw-r--r-- | databases/neo4j/files/neo4j.in | 31 | ||||
-rw-r--r-- | databases/neo4j/files/neo4j.sh.in | 4 | ||||
-rw-r--r-- | databases/neo4j/files/patch-conf_neo4j.conf | 64 | ||||
-rw-r--r-- | databases/neo4j/pkg-plist | 53 |
6 files changed, 167 insertions, 56 deletions
diff --git a/databases/neo4j/Makefile b/databases/neo4j/Makefile index c71d98b90b76..233c88b5011a 100644 --- a/databases/neo4j/Makefile +++ b/databases/neo4j/Makefile @@ -1,36 +1,66 @@ PORTNAME= neo4j -DISTVERSION= 4.4.35 +DISTVERSION= 4.4.44 +PORTREVISION= 1 CATEGORIES= databases java MASTER_SITES= http://dist.neo4j.org/ DISTNAME= ${PORTNAME}-community-${DISTVERSION}-unix -MAINTAINER= ports@FreeBSD.org +MAINTAINER= otis@FreeBSD.org COMMENT= High performance graph store and database WWW= https://neo4j.com -LICENSE= GPLv3 +# Bouncy Castle License is in fact MIT. +# Scala is licensed under BSD3CLAUSE. +# Java Servlet API is licensed under CDDL and GPLv2wCE +LICENSE= APACHE20 BSD2CLAUSE BSD3CLAUSE CDDL GPLv2wCE GPLv3 ISCL MIT MPL20 OFL11 +LICENSE_COMB= multi +LICENSE_NAME_GPLv2wCE= GPLv2 with Classpath Exception +LICENSE_FILE_GPLv3= ${WRKSRC}/LICENSE.txt +LICENSE_FILE= ${WRKSRC}/LICENSES.txt +LICENSE_PERMS_GPLv2wCE= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept -RUN_DEPENDS= bash:shells/bash - -WRKSRC= ${WRKDIR}/${DISTNAME:S,-unix,,} -NO_BUILD= yes USES= cpe java shebangfix -SHEBANG_FILES= bin/cypher-shell bin/neo4j-admin JAVA_VERSION= 11 USE_RC_SUBR= ${PORTNAME} + +SHEBANG_FILES= bin/cypher-shell bin/neo4j-admin + +NO_ARCH= yes +NO_BUILD= yes + SUB_FILES= ${PORTNAME}.sh -SUB_LIST= LOGDIR=${LOGDIR} RUNDIR=${RUNDIR} +SUB_LIST= JAVA_HOME=${JAVA_HOME} \ + LOGDIR=${LOGDIR} \ + RUNDIR=${RUNDIR} + +WRKSRC= ${WRKDIR}/${DISTNAME:S,-unix,,} + +USERS?= neo4j +GROUPS?= neo4j -PLIST_SUB= DBDIR=${DBDIR} DISTVERSION=${DISTVERSION} +PLIST_SUB= CERTDIR=${CERTDIR} \ + DBDATADIR=${DBDATADIR} \ + DBDIR=${DBDIR} \ + DBIMPORTDIR=${DBIMPORTDIR} \ + DISTVERSION=${DISTVERSION} \ + GROUPS=${GROUPS} \ + METRICSDIR=${METRICSDIR} \ + USERS=${USERS} +CERTDIR= ${ETCDIR}/certificates +DBDATADIR= ${DBDIR}/data DBDIR= ${DESTDIR}/var/db/${PORTNAME} +DBIMPORTDIR= ${DBDIR}/import LOGDIR= ${DESTDIR}/var/log/${PORTNAME} -RUNDIR= ${DESTDIR}/var/run/ +METRICSDIR= ${DBDIR}/metrics +RUNDIR= ${DESTDIR}/var/run/${PORTNAME} NEO4JDIR= ${PREFIX}/${PORTNAME} -NEO4J_CONFDIR= ${PREFIX}/etc +NEO4J_CONFDIR= ${PREFIX}/etc/neo4j post-patch: - ${REINPLACE_CMD} 's,%%DBDIR%%,${DBDIR},g;s,%%JAVA_HOME%%,${JAVA_HOME},g;s,%%LOGDIR%%,${LOGDIR},g;s,%%PREFIX%%,${PREFIX},g;s,%%RUNDIR%%,${RUNDIR},g' \ + ${REINPLACE_CMD} 's,%%DBDATADIR%%,${DBDATADIR},g;s,%%DBDIR%%,${DBDIR},g;\ + s,%%JAVA_HOME%%,${JAVA_HOME},g;s,%%LOGDIR%%,${LOGDIR},g;s,%%PREFIX%%,${PREFIX},g;s,%%RUNDIR%%,${RUNDIR},g;\ + s,%%DBIMPORTDIR%%,${DBIMPORTDIR},g;s,%%CERTDIR%%,${CERTDIR},g' \ ${WRKSRC}/bin/cypher-shell ${WRKSRC}/bin/neo4j* \ ${WRKSRC}/conf/neo4j.conf @@ -38,6 +68,7 @@ post-patch: ${WRKSRC}/bin/neo4j do-install: + ${MKDIR} ${STAGEDIR}${ETCDIR} ${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME}.sh ${STAGEDIR}${PREFIX}/bin/${PORTNAME} ${MKDIR} ${STAGEDIR}${PREFIX}/${PORTNAME}/libexec/tools ${INSTALL_SCRIPT} ${WRKSRC}/bin/tools/* \ @@ -49,8 +80,12 @@ do-install: ${INSTALL_SCRIPT} ${WRKSRC}/lib/* ${STAGEDIR}${PREFIX}/${PORTNAME}/lib .for f in ${PORTNAME}.conf ${INSTALL_DATA} ${WRKSRC}/conf/$f \ - ${STAGEDIR}${PREFIX}/etc/$f.sample + ${STAGEDIR}${ETCDIR}/$f.sample .endfor - ${MKDIR} ${STAGEDIR}${DBDIR} ${STAGEDIR}${PREFIX}/etc/neo4j-certificates + ${MKDIR} ${STAGEDIR}${DBDIR} \ + ${STAGEDIR}${DBDATADIR} \ + ${STAGEDIR}${DBIMPORTDIR} \ + ${STAGEDIR}${METRICSDIR} \ + ${STAGEDIR}${CERTDIR} .include <bsd.port.mk> diff --git a/databases/neo4j/distinfo b/databases/neo4j/distinfo index da328127f67c..9a0feb193012 100644 --- a/databases/neo4j/distinfo +++ b/databases/neo4j/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1721746940 -SHA256 (neo4j-community-4.4.35-unix.tar.gz) = a31d88a599c7581da325b7768830898dcc2c454af4a8ebb52d52b170a366ada3 -SIZE (neo4j-community-4.4.35-unix.tar.gz) = 122576944 +TIMESTAMP = 1748085455 +SHA256 (neo4j-community-4.4.44-unix.tar.gz) = 7a4652c869dd875bd843ab1204bdcb2c5816abd1b57e27f9d0c6b32e55704814 +SIZE (neo4j-community-4.4.44-unix.tar.gz) = 141325358 diff --git a/databases/neo4j/files/neo4j.in b/databases/neo4j/files/neo4j.in index 6cb20b01c3ea..a7f9e6f83cd7 100644 --- a/databases/neo4j/files/neo4j.in +++ b/databases/neo4j/files/neo4j.in @@ -7,6 +7,18 @@ # Add the following line to /etc/rc.conf to enable neo4j: # # neo4j_enable=YES +# +# The following rc.conf variable can be set: +# +# For user/group to run neo4j under: +# +# neo4j_user (str) Default: neo4j +# neo4j_group (str) Default: neo4j +# +# For service jail: +# +# neo4j_svcj_options (str) Default: net_basic +# . /etc/rc.subr @@ -17,21 +29,30 @@ desc="Graphing database" load_rc_config $name : ${neo4j_enable:=NO} +: ${neo4j_user=neo4j} +: ${neo4j_group=neo4j} +: ${neo4j_svcj_options:=net_basic} +: ${neo4j_env:="HOME=%%DBDIR%% NEO4J_CONF=%%ETCDIR%% JAVA_HOME=%%JAVA_HOME%%"} command=%%PREFIX%%/bin/neo4j -start_cmd="$command start" +procname=%%JAVA_HOME%%/bin/java +start_cmd="su -m $neo4j_user -c \"$command start\"" start_precmd=neo4j_prestart -stop_cmd="$command stop" -status_cmd="$command status" +stop_cmd="su -m $neo4j_user -c \"$command stop\"" +status_cmd="su -m $neo4j_user -c \"$command status\"" neo4j_prestart() { - NEO4J_DATA=%%DBDIR%% + NEO4J_DATA=%%DBDIR%%/data + NEO4J_METRICS=%%DBDIR%%/metrics NEO4J_LIB=%%PREFIX%%/neo4j/lib NEO4J_LOGS=%%LOGDIR%% NEO4J_PLUGINS=${NEO4J_LIB}/plugins NEO4J_RUN=%%RUNDIR%% - mkdir -p ${NEO4J_LOGS} ${NEO4J_RUN} + [ -d ${NEO4J_LOGS} ] || install -d -o ${neo4j_user} -g ${neo4j_group} -m 0750 ${NEO4J_LOGS} + [ -d ${NEO4J_RUN} ] || install -d -o ${neo4j_user} -g ${neo4j_group} ${NEO4J_RUN} + [ -d ${NEO4J_DATA} ] || install -d -o ${neo4j_user} -g ${neo4j_group} -m 0750 ${NEO4J_DATA} + [ -d ${NEO4J_METRICS} ] || install -d -o ${neo4j_user} -g ${neo4j_group} -m 0750 ${NEO4J_METRICS} } run_rc_command $1 diff --git a/databases/neo4j/files/neo4j.sh.in b/databases/neo4j/files/neo4j.sh.in index 01a498c14583..f2704e7bc0fd 100644 --- a/databases/neo4j/files/neo4j.sh.in +++ b/databases/neo4j/files/neo4j.sh.in @@ -1,3 +1,3 @@ -#!/usr/bin/env bash - +#!/bin/sh +export JAVA_HOME=${JAVA_HOME:-"%%JAVA_HOME%%"} exec %%PREFIX%%/bin/$(basename $0) ${1+"$@"} diff --git a/databases/neo4j/files/patch-conf_neo4j.conf b/databases/neo4j/files/patch-conf_neo4j.conf index d7a5984f2abc..7fd32a3f5f5b 100644 --- a/databases/neo4j/files/patch-conf_neo4j.conf +++ b/databases/neo4j/files/patch-conf_neo4j.conf @@ -1,17 +1,69 @@ ---- conf/neo4j.conf.orig 2022-05-06 21:00:03 UTC +--- conf/neo4j.conf.orig 2025-05-15 11:34:49 UTC +++ conf/neo4j.conf -@@ -9,11 +9,11 @@ +@@ -9,18 +9,18 @@ #dbms.default_database=neo4j # Paths of directories in the installation. -#dbms.directories.data=data -+dbms.directories.data=/var/db/neo4j ++dbms.directories.data=%%DBDATADIR%% #dbms.directories.plugins=plugins -#dbms.directories.logs=logs -+dbms.directories.logs=/var/log/neo4j ++dbms.directories.logs=%%LOGDIR%% #dbms.directories.lib=lib -#dbms.directories.run=run -+dbms.directories.run=/var/run/ ++dbms.directories.run=%%RUNDIR%% #dbms.directories.licenses=licenses - #dbms.directories.transaction.logs.root=data/transactions +-#dbms.directories.transaction.logs.root=data/transactions ++dbms.directories.transaction.logs.root=%%DBDIR%%/transactions + + # This setting constrains all `LOAD CSV` import files to be under the `import` directory. Remove or comment it out to + # allow files to be loaded from anywhere in the filesystem; this introduces possible security problems. See the + # `LOAD CSV` section of the manual for details. +-dbms.directories.import=import ++dbms.directories.import=%%DBIMPORTDIR%% + + # Whether requests to Neo4j are authenticated. + # To disable authentication, uncomment this line +@@ -118,8 +118,8 @@ dbms.connector.https.enabled=false + # Allowable values are 'bolt', 'https', 'cluster' or 'backup'. + + # E.g if bolt and https connectors should use the same policy, the following could be declared +-# dbms.ssl.policy.bolt.base_directory=certificates/default +-# dbms.ssl.policy.https.base_directory=certificates/default ++# dbms.ssl.policy.bolt.base_directory=%%CERTDIR%%/default ++# dbms.ssl.policy.https.base_directory=%%CERTDIR%%/default + # However, it's strongly encouraged to not use the same key pair for multiple scopes. + # + # N.B: Note that a connector must be configured to support/require +@@ -157,27 +157,27 @@ dbms.connector.https.enabled=false + + # Bolt SSL configuration + #dbms.ssl.policy.bolt.enabled=true +-#dbms.ssl.policy.bolt.base_directory=certificates/bolt ++#dbms.ssl.policy.bolt.base_directory=%%CERTDIR%%/bolt + #dbms.ssl.policy.bolt.private_key=private.key + #dbms.ssl.policy.bolt.public_certificate=public.crt + #dbms.ssl.policy.bolt.client_auth=NONE + + # Https SSL configuration + #dbms.ssl.policy.https.enabled=true +-#dbms.ssl.policy.https.base_directory=certificates/https ++#dbms.ssl.policy.https.base_directory=%%CERTDIR%%/https + #dbms.ssl.policy.https.private_key=private.key + #dbms.ssl.policy.https.public_certificate=public.crt + #dbms.ssl.policy.https.client_auth=NONE + + # Cluster SSL configuration + #dbms.ssl.policy.cluster.enabled=true +-#dbms.ssl.policy.cluster.base_directory=certificates/cluster ++#dbms.ssl.policy.cluster.base_directory=%%CERTDIR%%/cluster + #dbms.ssl.policy.cluster.private_key=private.key + #dbms.ssl.policy.cluster.public_certificate=public.crt + + # Backup SSL configuration + #dbms.ssl.policy.backup.enabled=true +-#dbms.ssl.policy.backup.base_directory=certificates/backup ++#dbms.ssl.policy.backup.base_directory=%%CERTDIR%%/backup + #dbms.ssl.policy.backup.private_key=private.key + #dbms.ssl.policy.backup.public_certificate=public.crt diff --git a/databases/neo4j/pkg-plist b/databases/neo4j/pkg-plist index 72d1a1ef458a..3cda72ff21e4 100644 --- a/databases/neo4j/pkg-plist +++ b/databases/neo4j/pkg-plist @@ -1,7 +1,7 @@ bin/cypher-shell bin/neo4j bin/neo4j-admin -@sample etc/neo4j.conf.sample +@sample %%ETCDIR%%/neo4j.conf.sample neo4j/lib/FastInfoset-1.2.16.jar neo4j/lib/WMI4Java-1.6.3.jar neo4j/lib/annotations-%%DISTVERSION%%.jar @@ -13,7 +13,7 @@ neo4j/lib/commons-beanutils-1.9.4.jar neo4j/lib/commons-codec-1.16.1.jar neo4j/lib/commons-collections-3.2.2.jar neo4j/lib/commons-compress-1.26.0.jar -neo4j/lib/commons-io-2.11.0.jar +neo4j/lib/commons-io-2.17.0.jar neo4j/lib/commons-lang3-3.12.0.jar neo4j/lib/commons-logging-1.2.jar neo4j/lib/commons-text-1.10.0.jar @@ -52,14 +52,14 @@ neo4j/lib/jersey-container-servlet-core-2.34.jar neo4j/lib/jersey-hk2-2.34.jar neo4j/lib/jersey-server-2.34.jar neo4j/lib/jettison-1.5.4.jar -neo4j/lib/jetty-http-9.4.53.v20231009.jar -neo4j/lib/jetty-io-9.4.53.v20231009.jar -neo4j/lib/jetty-security-9.4.53.v20231009.jar -neo4j/lib/jetty-server-9.4.53.v20231009.jar -neo4j/lib/jetty-servlet-9.4.53.v20231009.jar -neo4j/lib/jetty-util-9.4.53.v20231009.jar -neo4j/lib/jetty-webapp-9.4.53.v20231009.jar -neo4j/lib/jetty-xml-9.4.53.v20231009.jar +neo4j/lib/jetty-http-9.4.57.v20241219.jar +neo4j/lib/jetty-io-9.4.57.v20241219.jar +neo4j/lib/jetty-security-9.4.57.v20241219.jar +neo4j/lib/jetty-server-9.4.57.v20241219.jar +neo4j/lib/jetty-servlet-9.4.57.v20241219.jar +neo4j/lib/jetty-util-9.4.57.v20241219.jar +neo4j/lib/jetty-webapp-9.4.57.v20241219.jar +neo4j/lib/jetty-xml-9.4.57.v20241219.jar neo4j/lib/jna-5.9.0.jar neo4j/lib/lucene-analyzers-common-8.11.2.jar neo4j/lib/lucene-backward-codecs-8.11.2.jar @@ -72,7 +72,7 @@ neo4j/lib/neo4j-ast-%%DISTVERSION%%.jar neo4j/lib/neo4j-batch-insert-%%DISTVERSION%%.jar neo4j/lib/neo4j-bolt-%%DISTVERSION%%.jar neo4j/lib/neo4j-bootcheck-%%DISTVERSION%%.jar -neo4j/lib/neo4j-browser-5.21.0.jar +neo4j/lib/neo4j-browser-2025.01.0.jar neo4j/lib/neo4j-buffers-%%DISTVERSION%%.jar neo4j/lib/neo4j-capabilities-%%DISTVERSION%%.jar neo4j/lib/neo4j-codegen-%%DISTVERSION%%.jar @@ -137,22 +137,22 @@ neo4j/lib/neo4j-unsafe-%%DISTVERSION%%.jar neo4j/lib/neo4j-util-%%DISTVERSION%%.jar neo4j/lib/neo4j-values-%%DISTVERSION%%.jar neo4j/lib/neo4j-wal-%%DISTVERSION%%.jar -neo4j/lib/netty-buffer-4.1.100.Final.jar -neo4j/lib/netty-codec-4.1.100.Final.jar -neo4j/lib/netty-codec-http-4.1.100.Final.jar -neo4j/lib/netty-common-4.1.100.Final.jar -neo4j/lib/netty-handler-4.1.100.Final.jar -neo4j/lib/netty-resolver-4.1.100.Final.jar -neo4j/lib/netty-transport-4.1.100.Final.jar -neo4j/lib/netty-transport-classes-epoll-4.1.100.Final.jar -neo4j/lib/netty-transport-native-epoll-4.1.100.Final-linux-aarch_64.jar -neo4j/lib/netty-transport-native-epoll-4.1.100.Final-linux-x86_64.jar -neo4j/lib/netty-transport-native-unix-common-4.1.100.Final.jar +neo4j/lib/netty-buffer-4.1.119.Final.jar +neo4j/lib/netty-codec-4.1.119.Final.jar +neo4j/lib/netty-codec-http-4.1.119.Final.jar +neo4j/lib/netty-common-4.1.119.Final.jar +neo4j/lib/netty-handler-4.1.119.Final.jar +neo4j/lib/netty-resolver-4.1.119.Final.jar +neo4j/lib/netty-transport-4.1.119.Final.jar +neo4j/lib/netty-transport-classes-epoll-4.1.119.Final.jar +neo4j/lib/netty-transport-native-epoll-4.1.119.Final-linux-aarch_64.jar +neo4j/lib/netty-transport-native-epoll-4.1.119.Final-linux-x86_64.jar +neo4j/lib/netty-transport-native-unix-common-4.1.119.Final.jar neo4j/lib/parboiled-core-1.2.0.jar neo4j/lib/parboiled-scala_2.12-1.2.0.jar neo4j/lib/picocli-4.6.1.jar neo4j/lib/reactive-streams-1.0.4.jar -neo4j/lib/reactor-core-3.6.6.jar +neo4j/lib/reactor-core-3.6.14.jar neo4j/lib/scala-library-2.12.13.jar neo4j/lib/scala-reflect-2.12.13.jar neo4j/lib/server-api-%%DISTVERSION%%.jar @@ -172,6 +172,9 @@ neo4j/lib/txw2-2.3.2.jar neo4j/lib/zstd-jni-1.5.0-4.jar neo4j/lib/zstd-proxy-%%DISTVERSION%%.jar neo4j/libexec/tools/cypher-shell.jar -@dir etc/neo4j-certificates @dir neo4j/lib/plugins -@dir %%DBDIR%% +@dir(%%USERS%%,%%GROUPS%%,750) %%CERTDIR%% +@dir(%%USERS%%,%%GROUPS%%,750) %%DBDIR%% +@dir(%%USERS%%,%%GROUPS%%,750) %%DBDATADIR%% +@dir(%%USERS%%,%%GROUPS%%,750) %%METRICSDIR%% +@dir(%%USERS%%,%%GROUPS%%,750) %%DBIMPORTDIR%% |