diff --git a/dev-db/neo4j-community/Manifest b/dev-db/neo4j-community/Manifest new file mode 100644 index 000000000..a4e526815 --- /dev/null +++ b/dev-db/neo4j-community/Manifest @@ -0,0 +1 @@ +DIST neo4j-community-3.5.0-unix.tar.gz 101739349 BLAKE2B 4f8ee95eae53e14c20cb77355aa0436537cafb7279b47119c1b14858723ac97caa139cd1e8bf6acb78cb9e71343cfaaf7650ba087e08d0aa06f9c510c6baf82a SHA512 f62ff1a786ee2de94d7af2cb1fefae1b0573b30592f8db8c6e09dad2979f1a1c672dc97ecb30d7cbd56a4c9210f87d226a32c15823e1bd4cd88f8ab7441e3092 diff --git a/dev-db/neo4j-community/files/neo4j-community-1.7-logging_properties.patch b/dev-db/neo4j-community/files/neo4j-community-1.7-logging_properties.patch new file mode 100644 index 000000000..ee1bd491b --- /dev/null +++ b/dev-db/neo4j-community/files/neo4j-community-1.7-logging_properties.patch @@ -0,0 +1,11 @@ +--- conf/logging.properties.orig 2012-04-26 14:57:04.000000000 -0300 ++++ conf/logging.properties 2012-04-26 14:58:33.000000000 -0300 +@@ -53,7 +53,7 @@ + # "%g" the generation number to distinguish rotated logs + # "%u" a unique number to resolve conflicts + # "%%" translates to a single percent sign "%" +-java.util.logging.FileHandler.pattern=data/log/neo4j.%u.%g.log ++java.util.logging.FileHandler.pattern=/var/log/neo4j.log.%u.%g + + # Specifies whether the FileHandler should append onto any existing files (defaults to false). + java.util.logging.FileHandler.append=true diff --git a/dev-db/neo4j-community/files/neo4j-community-1.7-neo4j.patch b/dev-db/neo4j-community/files/neo4j-community-1.7-neo4j.patch new file mode 100644 index 000000000..b9bf052e5 --- /dev/null +++ b/dev-db/neo4j-community/files/neo4j-community-1.7-neo4j.patch @@ -0,0 +1,140 @@ +--- a/bin/neo4j.orig 2012-04-24 09:25:46.000000000 -0300 ++++ b/bin/neo4j 2012-04-26 14:50:22.000000000 -0300 +@@ -51,26 +51,25 @@ + function parseConfig { + if [ ${BASH_VERSINFO[0]} -eq 3 ] ; then + if [ ${BASH_VERSINFO[1]} -lt 2 ] ; then +- getconfigquoted "${NEO4J_INSTANCE}/conf/neo4j-wrapper.conf" +- getconfigquoted "${NEO4J_INSTANCE}/conf/neo4j-server.properties" ++ getconfigquoted "/etc/neo4j/neo4j-wrapper.conf" ++ getconfigquoted "/etc/neo4j/neo4j-server.properties" + return + fi + fi +- getconfig "${NEO4J_INSTANCE}/conf/neo4j-wrapper.conf" +- getconfig "${NEO4J_INSTANCE}/conf/neo4j-server.properties" ++ getconfig "/etc/neo4j/neo4j-wrapper.conf" ++ getconfig "/etc/neo4j/neo4j-server.properties" + } + + findBaseDirAndCdThere + source bin/utils + parseConfig + +-NEO4J_OPTS="-Dlog4j.configuration=file:conf/log4j.properties -Dorg.neo4j.server.properties="${NEO4J_INSTANCE}"/conf/neo4j-server.properties -Djava.util.logging.config.file="${NEO4J_INSTANCE}/conf/logging.properties" -Dneo4j.home="${NEO4J_HOME}" -Dneo4j.instance="${NEO4J_INSTANCE}"" ++NEO4J_OPTS="-Dlog4j.configuration=file:/etc/neo4j/log4j.properties -Dorg.neo4j.server.properties=/etc/neo4j/neo4j-server.properties -Djava.util.logging.config.file="/etc/neo4j/logging.properties" -Dneo4j.home="${NEO4J_HOME}" -Dneo4j.instance="${NEO4J_INSTANCE}"" + + JAVA_OPTS="-server -XX:+DisableExplicitGC ${wrapper_java_additional}" + [ -z "${wrapper_java_initmemory}" ] || JAVA_OPTS="$JAVA_OPTS -Xms${wrapper_java_initmemory}m" + [ -z "${wrapper_java_maxmemory}" ] || JAVA_OPTS="$JAVA_OPTS -Xmx${wrapper_java_maxmemory}m" + +-#NEO4J_SERVER_PORT=`( egrep "^org.neo4j.server.webserver.port" $NEO4J_INSTANCE/conf/neo4j-server.properties || echo 7474 ) | sed -e 's/.*=//'` + NEO4J_SERVER_PORT=${org_neo4j_server_webserver_port:=7474} + + LAUNCHD_NAME="${LAUNCHD_NAME}.${NEO4J_SERVER_PORT}" +@@ -92,7 +91,7 @@ + + TIMEOUT=20 + +-PID_FILE=${NEO4J_INSTANCE}/data/neo4j-service.pid ++PID_FILE=/var/db/neo4j/neo4j-service.pid + buildclasspath() { + # confirm library jars + LIBDIR="$NEO4J_HOME"/lib +@@ -140,16 +139,16 @@ + + checkupgrade() { + if [ $UID == 0 ] ; then +- su $NEO4J_USER -c "$JAVACMD -cp '$CLASSPATH' $JAVA_OPTS -Dlog4j.configuration=file:conf/log4j.properties \ +- -Dorg.neo4j.server.properties=\"${NEO4J_INSTANCE}/conf/neo4j-server.properties\" \ +- -Djava.util.logging.config.file=\"${NEO4J_INSTANCE}/conf/logging.properties\" \ ++ su $NEO4J_USER -c "$JAVACMD -cp '$CLASSPATH' $JAVA_OPTS -Dlog4j.configuration=file:/etc/neo4j/log4j.properties \ ++ -Dorg.neo4j.server.properties=\"/etc/neo4j/neo4j-server.properties\" \ ++ -Djava.util.logging.config.file=\"/etc/neo4j/logging.properties\" \ + -Dneo4j.home=\"${NEO4J_HOME}\" -Dneo4j.instance=\"${NEO4J_INSTANCE}\" \ + org.neo4j.server.storemigration.PreStartupStoreUpgrader" + else + checkwriteaccess +- $JAVACMD -cp "${CLASSPATH}" $JAVA_OPTS -Dlog4j.configuration=file:conf/log4j.properties \ +- -Dorg.neo4j.server.properties="${NEO4J_INSTANCE}/conf/neo4j-server.properties" \ +- -Djava.util.logging.config.file="${NEO4J_INSTANCE}/conf/logging.properties" \ ++ $JAVACMD -cp "${CLASSPATH}" $JAVA_OPTS -Dlog4j.configuration=file:/etc/neo4j/log4j.properties \ ++ -Dorg.neo4j.server.properties="/etc/neo4j/neo4j-server.properties" \ ++ -Djava.util.logging.config.file="/etc/neo4j/logging.properties" \ + -Dneo4j.home="${NEO4J_HOME}" -Dneo4j.instance="${NEO4J_INSTANCE}" \ + org.neo4j.server.storemigration.PreStartupStoreUpgrader + fi +@@ -200,20 +199,20 @@ + checkandrepairenv + + if [ $UID == 0 ] ; then +- su $NEO4J_USER -c "$JAVACMD -cp '$CLASSPATH' $JAVA_OPTS -Dlog4j.configuration=file:conf/log4j.properties \ +- -Dorg.neo4j.server.properties=\"${NEO4J_INSTANCE}/conf/neo4j-server.properties\" \ +- -Djava.util.logging.config.file=\"${NEO4J_INSTANCE}/conf/logging.properties\" \ ++ su $NEO4J_USER -c "$JAVACMD -cp '$CLASSPATH' $JAVA_OPTS -Dlog4j.configuration=file:/etc/neo4j/log4j.properties \ ++ -Dorg.neo4j.server.properties=\"/etc/neo4j/neo4j-server.properties\" \ ++ -Djava.util.logging.config.file=\"/etc/neo4j/conf/logging.properties\" \ + -Dneo4j.home=\"${NEO4J_HOME}\" -Dneo4j.instance=\"${NEO4J_INSTANCE}\" \ + -Dfile.encoding=UTF-8 \ +- org.neo4j.server.Bootstrapper >> \"$NEO4J_INSTANCE/data/log/console.log\" 2>&1 & echo \$! > \"$PID_FILE\" " ++ org.neo4j.server.Bootstrapper >> \"/var/log/neo4j.log\" 2>&1 & echo \$! > \"$PID_FILE\" " + else + checkwriteaccess + echo "WARNING: not changing user" +- $JAVACMD -cp "${CLASSPATH}" $JAVA_OPTS -Dlog4j.configuration=file:conf/log4j.properties \ +- -Dorg.neo4j.server.properties="${NEO4J_INSTANCE}/conf/neo4j-server.properties" \ +- -Djava.util.logging.config.file="${NEO4J_INSTANCE}/conf/logging.properties" \ ++ $JAVACMD -cp "${CLASSPATH}" $JAVA_OPTS -Dlog4j.configuration=file:/etc/neo4j/log4j.properties \ ++ -Dorg.neo4j.server.properties="/etc/neo4j/neo4j-server.properties" \ ++ -Djava.util.logging.config.file="/etc/neo4j/logging.properties" \ + -Dneo4j.home="${NEO4J_HOME}" -Dneo4j.instance="${NEO4J_INSTANCE}" \ +- org.neo4j.server.Bootstrapper >> "${NEO4J_INSTANCE}/data/log/console.log" 2>&1 & echo $! > "${PID_FILE}" ++ org.neo4j.server.Bootstrapper >> "/var/log/neo4j.log" 2>&1 & echo $! > "${PID_FILE}" + fi + STARTED_PID=$( cat "$PID_FILE" ) + +@@ -274,9 +273,9 @@ + checkwriteaccess + checkandrepairenv + +- $JAVACMD -cp "${CLASSPATH}" $JAVA_OPTS -Dlog4j.configuration=file:conf/log4j.properties \ +- -Dorg.neo4j.server.properties="${NEO4J_INSTANCE}/conf/neo4j-server.properties" \ +- -Djava.util.logging.config.file="${NEO4J_INSTANCE}/conf/logging.properties" \ ++ $JAVACMD -cp "${CLASSPATH}" $JAVA_OPTS -Dlog4j.configuration=file:/etc/neo4j/log4j.properties \ ++ -Dorg.neo4j.server.properties="/etc/neo4j/neo4j-server.properties" \ ++ -Djava.util.logging.config.file="/etc/neo4j/logging.properties" \ + -Dneo4j.home="${NEO4J_HOME}" -Dneo4j.instance="${NEO4J_INSTANCE}" \ + org.neo4j.server.Bootstrapper + +@@ -291,16 +290,16 @@ + # pass in "true" for created to mark that the user was created (instead than pre-existing) + modify_user_config() { + created=${2:-"false"} +- if `grep -q "wrapper\.user=" "$NEO4J_INSTANCE/conf/neo4j-wrapper.conf"` ; then +- sed -i -e "s/^.*wrapper\.user=.*$/wrapper\.user=$1/" "$NEO4J_INSTANCE/conf/neo4j-wrapper.conf" ++ if `grep -q "wrapper\.user=" "/etc/neo4j/neo4j-wrapper.conf"` ; then ++ sed -i -e "s/^.*wrapper\.user=.*$/wrapper\.user=$1/" "/etc/neo4j/neo4j-wrapper.conf" + else +- echo "wrapper.user=$1" >> "$NEO4J_INSTANCE/conf/neo4j-wrapper.conf" ++ echo "wrapper.user=$1" >> "/etc/neo4j/neo4j-wrapper.conf" + fi + +- if `grep -q "wrapper\.user\.created=" "$NEO4J_INSTANCE/conf/neo4j-wrapper.conf"` ; then +- sed -i -e "s/^.*wrapper\.user\.created=.*$/wrapper\.user\.created=${created}/" "$NEO4J_INSTANCE/conf/neo4j-wrapper.conf" ++ if `grep -q "wrapper\.user\.created=" "/etc/neo4j/neo4j-wrapper.conf"` ; then ++ sed -i -e "s/^.*wrapper\.user\.created=.*$/wrapper\.user\.created=${created}/" "/etc/neo4j/neo4j-wrapper.conf" + else +- echo "wrapper.user.created=${created}" >> "$NEO4J_INSTANCE/conf/neo4j-wrapper.conf" ++ echo "wrapper.user.created=${created}" >> "/etc/neo4j/neo4j-wrapper.conf" + fi + } + +@@ -363,7 +362,7 @@ + fi + ln -s "${SCRIPT_NAME}" "/etc/init.d/${SERVICE_NAME}" + update-rc.d ${SERVICE_NAME} defaults +- chown -R $proposed_user: "$NEO4J_HOME/data" "$NEO4J_HOME/conf" ++ chown -R $proposed_user: "/var/db/neo4j" "/etc/neo4j" + fi + fi + elif [[ $DIST_OS -eq "macosx" ]] ; then diff --git a/dev-db/neo4j-community/files/neo4j-community-1.7-server_properties.patch b/dev-db/neo4j-community/files/neo4j-community-1.7-server_properties.patch new file mode 100644 index 000000000..507c62b15 --- /dev/null +++ b/dev-db/neo4j-community/files/neo4j-community-1.7-server_properties.patch @@ -0,0 +1,47 @@ +--- conf/neo4j-server.properties.orig 2012-04-24 09:07:58.000000000 -0300 ++++ conf/neo4j-server.properties 2012-04-24 15:42:01.000000000 -0300 +@@ -8,7 +8,7 @@ + #*************************************************************** + + # location of the database directory +-org.neo4j.server.database.location=data/graph.db ++org.neo4j.server.database.location=/var/db/neo4j/graph.db + + # let the webserver only listen on the specified IP. Default + # is localhost (only accept local connections). Uncomment to allow +@@ -34,14 +34,14 @@ + org.neo4j.server.webserver.https.port=7473 + + # Certificate location (auto generated if the file does not exist) +-org.neo4j.server.webserver.https.cert.location=conf/ssl/snakeoil.cert ++org.neo4j.server.webserver.https.cert.location=/etc/neo4j/ssl/snakeoil.cert + + # Private key location (auto generated if the file does not exist) +-org.neo4j.server.webserver.https.key.location=conf/ssl/snakeoil.key ++org.neo4j.server.webserver.https.key.location=/etc/neo4j/ssl/snakeoil.key + + # Internally generated keystore (don't try to put your own + # keystore there, it will get deleted when the server starts) +-org.neo4j.server.webserver.https.keystore.location=data/keystore ++org.neo4j.server.webserver.https.keystore.location=/var/db/neo4j/keystore + + #***************************************************************** + # Administration client configuration +@@ -51,7 +51,7 @@ + # - absolute path like /var/rrd + # - path relative to the server working directory like data/rrd + # - commented out, will default to the database data directory. +-org.neo4j.server.webadmin.rrdb.location=data/rrd ++org.neo4j.server.webadmin.rrdb.location=/var/db/neo4j/rrd + + # REST endpoint for the data API + # Note the / in the end is mandatory +@@ -61,7 +61,7 @@ + org.neo4j.server.webadmin.management.uri=/db/manage/ + + # Low-level graph engine tuning file +-org.neo4j.server.db.tuning.properties=conf/neo4j.properties ++org.neo4j.server.db.tuning.properties=/etc/neo4j/neo4j.properties + + + #Comma separated list of JAXRS packages contains JAXRS Resoruce, one package name for each mountpoint. diff --git a/dev-db/neo4j-community/files/neo4j-community-1.7-utils.patch b/dev-db/neo4j-community/files/neo4j-community-1.7-utils.patch new file mode 100644 index 000000000..713c3af45 --- /dev/null +++ b/dev-db/neo4j-community/files/neo4j-community-1.7-utils.patch @@ -0,0 +1,31 @@ +--- bin/utils.orig 2012-04-24 15:37:50.000000000 -0300 ++++ bin/utils 2012-04-26 14:56:15.000000000 -0300 +@@ -121,8 +121,8 @@ + + checkwriteaccess() { + if [ $UID != 0 ] ; then +- if [ ! -w "$NEO4J_INSTANCE/data" ] ; then +- echo "ERROR: No write access to data/ directory, run either as user $NEO4J_USER or root" ++ if [ ! -w /var/db/neo4j ] ; then ++ echo "ERROR: No write access to /var/db/neo4j, run either as user $NEO4J_USER or root" + exit 1 + fi + fi +@@ -301,12 +301,12 @@ + # Runs before the server command, making sure that whatever should be in place is + # in place. + checkandrepairenv() { +- # Create data/log if missing, change owner if created. +- if [ ! -d "$NEO4J_HOME"/data/log ]; then +- echo "${NEO4J_HOME}/data/log was missing, recreating..." +- mkdir "$NEO4J_HOME"/data/log ++ # Create /var/log/neo4j.log if missing, change owner if created. ++ if [ ! -e /var/log/neo4j.log ]; then ++ echo "/var/log/neo4j.log was missing, recreating..." ++ touch /var/log/neo4j.log + if [ $UID == 0 ] ; then +- chown $NEO4J_USER "$NEO4J_HOME"/data/log ++ chown $NEO4J_USER /var/log/neo4j.log + fi + fi + } diff --git a/dev-db/neo4j-community/files/neo4j-community-1.7-wrapper_configuration.patch b/dev-db/neo4j-community/files/neo4j-community-1.7-wrapper_configuration.patch new file mode 100644 index 000000000..487996afe --- /dev/null +++ b/dev-db/neo4j-community/files/neo4j-community-1.7-wrapper_configuration.patch @@ -0,0 +1,29 @@ +--- conf/neo4j-wrapper.conf.orig 2012-04-24 09:08:14.000000000 -0300 ++++ conf/neo4j-wrapper.conf 2012-04-26 15:00:29.000000000 -0300 +@@ -2,12 +2,12 @@ + # JVM Parameters + #******************************************************************** + +-wrapper.java.additional.1=-Dorg.neo4j.server.properties=conf/neo4j-server.properties +-wrapper.java.additional.2=-Djava.util.logging.config.file=conf/logging.properties ++wrapper.java.additional.1=-Dorg.neo4j.server.properties=/etc/neo4j/neo4j-server.properties ++wrapper.java.additional.2=-Djava.util.logging.config.file=/etc/neo4j/logging.properties + wrapper.java.additional.3=-Dfile.encoding=UTF-8 + + # Uncomment the following line to enable garbage collection logging +-#wrapper.java.additional.4=-Xloggc:data/log/neo4j-gc.log ++#wrapper.java.additional.4=-Xloggc:/var/log/neo4j-gc.log + + # Initial Java Heap Size (in MB) + #wrapper.java.initmemory=16 +@@ -19,8 +19,8 @@ + # Wrapper settings + #******************************************************************** + # Override default pidfile and lockfile +-#wrapper.pidfile=../data/neo4j-server.pid +-#wrapper.lockfile=../data/neo4j-server.lck ++wrapper.pidfile=/var/db/neo4j/neo4j-server.pid ++wrapper.lockfile=/var/db/neo4j/neo4j-server.lck + + #******************************************************************** + # Wrapper Windows NT/2000/XP Service Properties diff --git a/dev-db/neo4j-community/files/neo4j.init b/dev-db/neo4j-community/files/neo4j.init new file mode 100644 index 000000000..846a0015c --- /dev/null +++ b/dev-db/neo4j-community/files/neo4j.init @@ -0,0 +1,34 @@ +#!/sbin/runscript +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +extra_commands="info" + +NEO4J="/opt/bin/neo4j" + +depend() { + need net +} + +start() { + ebegin "Starting neo4j" + start-stop-daemon --start --quiet --exec ${NEO4J} start + eend $? +} + +stop() { + ebegin "Stopping neo4j" + ${NEO4J} stop >/dev/null 2>&1 + eend $? +} + +restart() { + ebegin "Restarting neo4j" + ${NEO4J} restart >/dev/null 2>&1 + eend $? +} + +info() { + ${NEO4J} info +} diff --git a/dev-db/neo4j-community/neo4j-community-3.5.0.ebuild b/dev-db/neo4j-community/neo4j-community-3.5.0.ebuild new file mode 100644 index 000000000..6fdd3a6a4 --- /dev/null +++ b/dev-db/neo4j-community/neo4j-community-3.5.0.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils + +DESCRIPTION="Neo4j is a high-performance, NOSQL graph database with all the features of a mature and robust database." +HOMEPAGE="https://neo4j.org/" +SRC_URI="https://dist.neo4j.org/${PN}-${PV}-unix.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +#need to adjust patches +#KEYWORDS="amd64 ~x86" + +RDEPEND="!dev-db/neo4j-advanced + !dev-db/neo4j-enterprise + >=virtual/jre-1.6 + sys-process/lsof" + +#src_prepare() { +# epatch "${FILESDIR}/${PN}-1.7-neo4j.patch" +# epatch "${FILESDIR}/${PN}-1.7-utils.patch" +# epatch "${FILESDIR}/${PN}-1.7-wrapper_configuration.patch" +# epatch "${FILESDIR}/${PN}-1.7-server_properties.patch" +#} + +src_install() { + exeinto /opt/neo4j/bin + doexe "${S}"/bin/neo4j + doexe "${S}"/bin/neo4j-shell + doexe "${S}"/bin/utils + + # system requirements + insinto /opt/neo4j/system/lib + doins "${S}"/system/lib/*.jar + + # components directory + insinto /opt/neo4j/lib + doins "${S}"/lib/*.jar + + # plugins directory + dodir /opt/neo4j/plugins + + # config files + insinto /etc/neo4j + doins "${S}"/conf/neo4j-wrapper.conf + doins "${S}"/conf/neo4j.properties + doins "${S}"/conf/neo4j-server.properties + doins "${S}"/conf/logging.properties + + # data directories + dodir /var/db/neo4j + dodir /var/db/neo4j/log + + # documentation + dodoc "${S}"/*.txt + dodoc -r "${S}"/doc/* + + # init script + newinitd "${FILESDIR}"/neo4j.init neo4j + + # create symlinks + dosym /opt/neo4j/bin/neo4j /opt/bin/neo4j || die + dosym /opt/neo4j/bin/neo4j-shell /opt/bin/neo4j-shell +}