Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Jan 2019 06:12:18 +0000 (UTC)
From:      Yuri Victorovich <yuri@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r491455 - in head: . databases databases/cassandra3 databases/cassandra3/files
Message-ID:  <201901280612.x0S6CInt042991@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: yuri
Date: Mon Jan 28 06:12:18 2019
New Revision: 491455
URL: https://svnweb.freebsd.org/changeset/ports/491455

Log:
  New port: databases/cassandra3: Highly scalable distributed database
  
  Versions 1.X and 2.X existed previously, but were removed due to build issues.
  
  PR:		226377
  Submitted by:	Angelo Polo <language.devel@gmail.com>

Added:
  head/databases/cassandra3/
     - copied from r454051, head/databases/cassandra2/
  head/databases/cassandra3/files/patch-bin_cassandra   (contents, props changed)
  head/databases/cassandra3/files/patch-bin_cassandra.in.sh   (contents, props changed)
  head/databases/cassandra3/files/patch-build.xml   (contents, props changed)
  head/databases/cassandra3/files/patch-conf_cassandra-env.sh   (contents, props changed)
  head/databases/cassandra3/files/patch-conf_cassandra.yaml   (contents, props changed)
  head/databases/cassandra3/files/patch-doc_Makefile   (contents, props changed)
  head/databases/cassandra3/files/patch-src_java_org_apache_cassandra_config_Config.java   (contents, props changed)
  head/databases/cassandra3/files/patch-src_java_org_apache_cassandra_service_StartupChecks.java   (contents, props changed)
  head/databases/cassandra3/files/patch-src_java_org_apache_cassandra_utils_FastByteOperations.java   (contents, props changed)
  head/databases/cassandra3/files/patch-test_conf_cassandra.yaml   (contents, props changed)
  head/databases/cassandra3/files/patch-tools_bin_cassandra.in.sh   (contents, props changed)
  head/databases/cassandra3/pkg-message   (contents, props changed)
Deleted:
  head/databases/cassandra3/files/repaircluster.in
  head/databases/cassandra3/pkg-deinstall
  head/databases/cassandra3/pkg-install
Modified:
  head/GIDs
  head/UIDs
  head/databases/Makefile
  head/databases/cassandra3/Makefile
  head/databases/cassandra3/distinfo
  head/databases/cassandra3/files/cassandra.in
  head/databases/cassandra3/pkg-descr
  head/databases/cassandra3/pkg-plist

Modified: head/GIDs
==============================================================================
--- head/GIDs	Mon Jan 28 06:07:18 2019	(r491454)
+++ head/GIDs	Mon Jan 28 06:12:18 2019	(r491455)
@@ -791,7 +791,7 @@ domoticz:*:847:
 graylog:*:848:
 chronyd:*:849:
 qbittorrent:*:850:
-# free: 851
+cassandra:*:851:
 # free: 852
 _geodns:*:853:
 # free: 854

Modified: head/UIDs
==============================================================================
--- head/UIDs	Mon Jan 28 06:07:18 2019	(r491454)
+++ head/UIDs	Mon Jan 28 06:12:18 2019	(r491455)
@@ -797,7 +797,7 @@ domoticz:*:847:847::0:0:domoticz user:/nonexistent:/us
 graylog:*:848:848::0:0:Graylog user:/nonexistent:/usr/sbin/nologin
 chronyd:*:849:849::0:0:chronyd user:/nonexistent:/usr/sbin/nologin
 qbittorrent:*:850:850::0:0:qBittorrent Daemon User:/var/db/qbittorrent/conf:/usr/sbin/nologin
-# free: 851
+cassandra:*:851:851::0:0:Cassandra DB Daemon User:/var/db/cassandra:/usr/sbin/nologin
 # free: 852
 _geodns:*:853:853::0:0:GeoDNS User:/var/empty:/usr/sbin/nologin
 # free: 854

Modified: head/databases/Makefile
==============================================================================
--- head/databases/Makefile	Mon Jan 28 06:07:18 2019	(r491454)
+++ head/databases/Makefile	Mon Jan 28 06:12:18 2019	(r491455)
@@ -28,6 +28,7 @@
     SUBDIR += buzhug
     SUBDIR += c3p0
     SUBDIR += cassandra-cpp-driver
+    SUBDIR += cassandra3
     SUBDIR += casstcl
     SUBDIR += cayley
     SUBDIR += cdb

Modified: head/databases/cassandra3/Makefile
==============================================================================
--- head/databases/cassandra2/Makefile	Sun Nov 12 15:56:40 2017	(r454051)
+++ head/databases/cassandra3/Makefile	Mon Jan 28 06:12:18 2019	(r491455)
@@ -1,110 +1,125 @@
 # $FreeBSD$
 
 PORTNAME=	cassandra
-PORTVERSION=	2.1.1
+DISTVERSION=	3.11.3
 CATEGORIES=	databases java
-MASTER_SITES=	APACHE/cassandra/${PORTVERSION}
-PKGNAMESUFFIX=	2
-DISTNAME=	apache-cassandra-${PORTVERSION}
-EXTRACT_SUFX=	-bin.tar.gz
+MASTER_SITES=	APACHE/cassandra/${PORTVERSION}:apache \
+		LOCAL/yuri:repo
+PKGNAMESUFFIX=	3
+DISTNAME=	apache-${PORTNAME}-${PORTVERSION}-src
+DISTFILES=	${DISTNAME}.tar.gz:apache \
+		apache-${PORTNAME}-${PORTVERSION}-repo.tar.gz:repo
 
-MAINTAINER=	admins@perceptyx.com
-COMMENT=	Open source distributed database management system
+MAINTAINER=	language.devel@gmail.com
+COMMENT=	Highly scalable distributed database
 
 LICENSE=	APACHE20
+LICENSE_FILE=	${WRKSRC}/LICENSE.txt
 
-BROKEN=		crash with current OpenJDK
-DEPRECATED=	Broken for more than 6 months
-EXPIRATION_DATE=	2017-11-09
+RUN_DEPENDS=	snappyjava>=0:archivers/snappy-java
 
-JAVA_VERSION=	1.7
-JAVA_VENDOR=	openjdk
-REINPLACE_ARGS=	-i ''
+USES=		python:2.7
 USE_JAVA=	yes
+USE_ANT=	yes
 USE_RC_SUBR=	cassandra
 
-CONFIGS=	cassandra-topology.properties \
-		cassandra.yaml \
+JAVA_VERSION=	1.8
+JAVA_VENDOR=	openjdk
+
+REINPLACE_ARGS=	-i ''
+SUB_LIST=	JAVA_HOME=${JAVA_HOME}
+
+USERS=		cassandra
+GROUPS=		cassandra
+
+DATADIR=	${JAVASHAREDIR}/${PORTNAME}
+DIST_DIR=	${WRKSRC}/build/dist
+REPO_DIR=	${WRKDIR}/repository
+
+CONFIG_FILES=	cassandra-env.sh \
+		cassandra-jaas.config \
 		cassandra-rackdc.properties \
-		commitlog_archiving.properties
-SCRIPTS=	cassandra \
-		cassandra-cli \
-		debug-cql \
+		cassandra-topology.properties \
+		cassandra.yaml \
+		commitlog_archiving.properties \
+		hotspot_compiler \
+		jvm.options \
+		logback-tools.xml \
+		logback.xml
+
+SCRIPT_FILES=	cassandra \
+		cqlsh \
 		nodetool \
-		sstablekeys \
 		sstableloader \
 		sstablescrub \
-		sstableupgrade
+		sstableupgrade \
+		sstableutil \
+		sstableverify
 
-CONFLICTS_INSTALL=	cassandra-1.*
+PLIST_SUB=	PORTVERSION=${PORTVERSION}
 
-OPTIONS_DEFINE=	MX4J CQL DOCS
-OPTIONS_SUB=	yes
+OPTIONS_DEFINE=		SIGAR DOCS
+OPTIONS_DEFAULT=	SIGAR
+OPTIONS_SUB=		yes
 
-MX4J_DESC=	Enable HTTP interface for JMX
-CQL_DESC=	Install cqlsh
-DOCS_DESC=	Install javadoc documentation
+SIGAR_DESC=		Use SIGAR to collect system information
+SIGAR_RUN_DEPENDS=	java-sigar>=1.6.4:java/sigar
 
-SUB_FILES=	repaircluster
+DOCS_BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}sphinx>0:textproc/py-sphinx \
+			${PYTHON_PKGNAMEPREFIX}sphinx_rtd_theme>0:textproc/py-sphinx_rtd_theme
 
-.include <bsd.port.options.mk>
+PORTDOCS=		*
 
-RUN_DEPENDS+=	${JAVALIBDIR}/snappy-java.jar:archivers/snappy-java
+do-build:
+	@${DO_NADA} # Do nothing: Prevent USE_ANT from running a default build target.
 
-MX4J_RUN_DEPENDS=	${JAVALIBDIR}/mx4j-tools.jar:java/mx4j
-CQL_USES=	python:2
+do-build-DOCS-on:
+	@cd ${WRKSRC} && ${ANT} -Dmaven.repo.local=${REPO_DIR} -Dlocalm2=${REPO_DIR} -Dpycmd=${PYTHON_CMD} freebsd-stage-doc
 
-PORTDOCS=	javadoc *.txt
+do-build-DOCS-off:
+	@cd ${WRKSRC} && ${ANT} -Dmaven.repo.local=${REPO_DIR} -Dlocalm2=${REPO_DIR} freebsd-stage
 
-.if ${PORT_OPTIONS:MCQL}
-SCRIPTS+=	cqlsh
-.endif
-
-post-extract:
-	${RM} ${WRKSRC}/bin/*.bat ${WRKSRC}/bin/stop-server \
-		${WRKSRC}/tools/bin/*.bat ${WRKSRC}/lib/snappy-java-*.jar
-.for i in ${CONFIGS}
-	${MV} ${WRKSRC}/conf/${i} ${WRKSRC}/conf/${i}.sample
+post-build:
+.for f in ${SCRIPT_FILES}
+	@${REINPLACE_CMD} -e 's|/usr/share/cassandra|${DATADIR}/bin|' ${DIST_DIR}/bin/${f}
 .endfor
-.if empty(PORT_OPTIONS:MCQL)
-	${RM} -r ${WRKSRC}/pylib
-	${RM} ${WRKSRC}/bin/cqlsh
-	${RM} ${WRKSRC}/lib/*.zip
-.endif
-
-post-patch:
-.for i in ${SCRIPTS}
-	${REINPLACE_CMD} -e 's|/usr/share/cassandra|${DATADIR}/bin|' \
-		${WRKSRC}/bin/${i}
+	@${REINPLACE_CMD} -e 's|\`dirname "\$$\0"\`/..|${DATADIR}|' ${DIST_DIR}/bin/cassandra.in.sh
+	@${REINPLACE_CMD} -e 's|\$$\CASSANDRA_HOME/lib/sigar-bin|${JAVAJARDIR}|' ${DIST_DIR}/bin/cassandra.in.sh
+	@${REINPLACE_CMD} -e 's|\$$\CASSANDRA_HOME/lib/sigar-bin|${JAVAJARDIR}|' ${DIST_DIR}/conf/cassandra-env.sh
+	@${REINPLACE_CMD} -e 's|\$$\CASSANDRA_HOME/conf|${ETCDIR}|' ${DIST_DIR}/bin/cassandra.in.sh
+	@${REINPLACE_CMD} -e 's|\$$\CASSANDRA_HOME/conf|${ETCDIR}|' ${DIST_DIR}/conf/cassandra-env.sh
+.for f in ${CONFIG_FILES}
+	@${MV} ${DIST_DIR}/conf/${f} ${DIST_DIR}/conf/${f}.sample
 .endfor
-	${REINPLACE_CMD} -e 's|\`dirname \$$\0\`/..|${DATADIR}|' \
-		${WRKSRC}/bin/cassandra.in.sh
-	${RM} ${WRKSRC}/conf/*.orig
-.if ${PORT_OPTIONS:MCQL}
-	${REINPLACE_CMD} -e 's|os.path.dirname(__file__)|"${DATADIR}/bin"|' \
-		${WRKSRC}/bin/cqlsh
-.endif
+	@${RM} ${DIST_DIR}/lib/licenses/sigar*
+	@${RMDIR} ${DIST_DIR}/lib/sigar-bin
 
-do-build:
-.if ${PORT_OPTIONS:MCQL}
-	${PYTHON_CMD} -m compileall ${WRKSRC}/pylib
-.endif
-
 do-install:
 	${MKDIR} ${STAGEDIR}${DATADIR}
-	cd ${WRKSRC}/ && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}
-	${LN} -sf ${JAVAJARDIR}/snappy-java.jar ${STAGEDIR}${DATADIR}/lib/snappy-java.jar
+.for f in CHANGES LICENSE NEWS NOTICE
+	cd ${DIST_DIR} && ${INSTALL_DATA} ${f}.txt ${STAGEDIR}${DATADIR}/
+.endfor
+.for d in interface lib pylib tools
+	cd ${DIST_DIR} && ${COPYTREE_SHARE} ${d} ${STAGEDIR}${DATADIR}/ "! -path '*/bin/*'"
+.endfor
+	${MKDIR} ${STAGEDIR}${ETCDIR}
+	cd ${DIST_DIR}/conf && ${COPYTREE_SHARE} . ${STAGEDIR}${ETCDIR}/
+	cd ${DIST_DIR} && ${COPYTREE_BIN} bin ${STAGEDIR}${DATADIR}
+	cd ${DIST_DIR} && ${INSTALL_DATA} bin/cassandra.in.sh ${STAGEDIR}${DATADIR}/bin/
+	cd ${DIST_DIR} && ${COPYTREE_BIN} tools/bin ${STAGEDIR}${DATADIR}/
+	cd ${DIST_DIR} && ${INSTALL_DATA} tools/bin/cassandra.in.sh ${STAGEDIR}${DATADIR}/tools/bin/
+.for f in ${SCRIPT_FILES}
+	${RLN} ${STAGEDIR}${DATADIR}/bin/${f} ${STAGEDIR}${PREFIX}/bin/${f}
+.endfor
+	${LN} -s ${JAVAJARDIR}/snappy-java.jar ${STAGEDIR}${DATADIR}/lib/snappy-java.jar
+
+post-install-DOCS-on:
 	${MKDIR} ${STAGEDIR}${DOCSDIR}
-	${MV} ${STAGEDIR}${DATADIR}/javadoc ${STAGEDIR}${DOCSDIR}
-	${MV} ${STAGEDIR}${DATADIR}/*.txt ${STAGEDIR}${DOCSDIR}
-	cd ${STAGEDIR}${DATADIR}/bin/ && ${CHMOD} ${BINMODE} ${SCRIPTS}
-	${INSTALL_SCRIPT} ${WRKDIR}/repaircluster ${STAGEDIR}${DATADIR}/bin
-.for i in ${SCRIPTS}
-	${LN} -sf ${DATADIR}/bin/${i} ${STAGEDIR}${PREFIX}/bin/${i}
+.for d in doc javadoc
+	cd ${DIST_DIR} && ${COPYTREE_SHARE} ${d} ${STAGEDIR}${DOCSDIR}/
 .endfor
 
-.if ${PORT_OPTIONS:MMX4J}
-	${LN} -sf ${LOCALBASE}/share/java/classes/mx4j-tools.jar ${STAGEDIR}${DATADIR}/lib/mx4j-tools.jar
-.endif
+post-install-SIGAR-on:
+	${LN} -s ${JAVAJARDIR}/sigar.jar ${STAGEDIR}${DATADIR}/lib/sigar.jar
 
 .include <bsd.port.mk>

Modified: head/databases/cassandra3/distinfo
==============================================================================
--- head/databases/cassandra2/distinfo	Sun Nov 12 15:56:40 2017	(r454051)
+++ head/databases/cassandra3/distinfo	Mon Jan 28 06:12:18 2019	(r491455)
@@ -1,2 +1,5 @@
-SHA256 (apache-cassandra-2.1.1-bin.tar.gz) = e9d10c2ccc6124d516772e672aef61732f763ff326967dc7fbcc3f1123a29901
-SIZE (apache-cassandra-2.1.1-bin.tar.gz) = 22748955
+TIMESTAMP = 1538922434
+SHA256 (apache-cassandra-3.11.3-src.tar.gz) = f4c7a3627e04ff9505a626334eb113ef6dbe310e8b69b747cc4c488eac8b558f
+SIZE (apache-cassandra-3.11.3-src.tar.gz) = 34885851
+SHA256 (apache-cassandra-3.11.3-repo.tar.gz) = da696b7bdc5c36e131bf480e11cae092e88dc65bc3098aa5aa7f01202b6ce584
+SIZE (apache-cassandra-3.11.3-repo.tar.gz) = 44530570

Modified: head/databases/cassandra3/files/cassandra.in
==============================================================================
--- head/databases/cassandra2/files/cassandra.in	Sun Nov 12 15:56:40 2017	(r454051)
+++ head/databases/cassandra3/files/cassandra.in	Mon Jan 28 06:12:18 2019	(r491455)
@@ -1,67 +1,41 @@
 #!/bin/sh
 #
-# Copyright (c) 2011, Radim Kolar
-# All rights reserved.
+# $FreeBSD$
 #
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-#  * Redistributions of source code must retain the above copyright notice,
-#    this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright
-#    notice, this list of conditions and the following disclaimer in the
-#    documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY
-# EXPRESS 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 AUTHOR OR 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.
-
 # PROVIDE: cassandra
 # REQUIRE: LOGIN
 # KEYWORD: shutdown
 #
-# $FreeBSD: databases/cassandra/files/cassandra.in 319455 2013-05-31 01:32:45Z bdrewery $
+# Be sure to configure full settings in %%ETCDIR%% prior to enabling daemon.
+#
+# Add the following lines to /etc/rc.conf or /etc/.conf.local to
+# enable the Cassandra daemon:
+# cassandra_enable:		Set to "YES" to enable the daemon.
+# cassandra_user: 		The user under which to run the daemon.
+#				Defaults to "cassandra".
 
 . /etc/rc.subr
 
-name="cassandra"
+name=cassandra
 rcvar=cassandra_enable
+desc="Cassandra daemon"
+
 load_rc_config $name
 
-cassandra_enable=${cassandra_enable:-"NO"}
-cassandra_vmargs=${cassandra_vmargs:-""}
-cassandra_memory=${cassandra_memory:-"1000m"}
-cassandra_newgen=${cassandra_newgen:-"300m"}
+: ${cassandra_enable:=NO}
+: ${cassandra_user:=cassandra}
 
-command=%%DATADIR%%/bin/cassandra
-command_args="-p /var/run/cassandra.pid >/dev/null"
-stop_precmd="${name}_prestop"
-sig_stop="KILL"
+command=%%PREFIX%%/bin/cassandra
+command_args="-p /var/run/cassandra/cassandra.pid >/dev/null 2>/dev/null"
+start_precmd="${name}_prestart"
 
-procname="%%LOCALBASE%%/openjdk7/bin/java"
-pidfile=/var/run/cassandra.pid
+procname=%%PREFIX%%/openjdk8/bin/java
+pidfile=/var/run/cassandra/cassandra.pid
 
-export MAX_HEAP_SIZE="$cassandra_memory"
-export HEAP_NEWSIZE="$cassandra_newgen"
-export PATH=$PATH:%%LOCALBASE%%/bin
-export CASSANDRA_HOME=%%DATADIR%%
-export JVM_OPTS=-javaagent:%%DATADIR%%/lib/jamm-0.2.6.jar
-export JVM_OVERRIDE_OPTS="$cassandra_vmargs"
-
-export JAVA_VENDOR=openjdk
-export JAVA_VERSION=1.7
-
-cassandra_prestop() {
-	$CASSANDRA_HOME/bin/nodetool -h localhost drain
-	return 0
+cassandra_prestart()
+{
+	export JAVA_HOME=%%JAVA_HOME%%
+	install -d -o ${cassandra_user} /var/run/cassandra
 }
 
 run_rc_command "$1"

Added: head/databases/cassandra3/files/patch-bin_cassandra
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/databases/cassandra3/files/patch-bin_cassandra	Mon Jan 28 06:12:18 2019	(r491455)
@@ -0,0 +1,11 @@
+--- bin/cassandra.orig	2018-09-07 13:43:49 UTC
++++ bin/cassandra
+@@ -189,7 +189,7 @@ launch_service()
+     props="$3"
+     class="$4"
+     cassandra_parms="-Dlogback.configurationFile=logback.xml"
+-    cassandra_parms="$cassandra_parms -Dcassandra.logdir=$CASSANDRA_HOME/logs"
++    cassandra_parms="$cassandra_parms -Dcassandra.logdir=/var/log/cassandra"
+     cassandra_parms="$cassandra_parms -Dcassandra.storagedir=$cassandra_storagedir"
+ 
+     if [ "x$pidpath" != "x" ]; then

Added: head/databases/cassandra3/files/patch-bin_cassandra.in.sh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/databases/cassandra3/files/patch-bin_cassandra.in.sh	Mon Jan 28 06:12:18 2019	(r491455)
@@ -0,0 +1,22 @@
+--- bin/cassandra.in.sh.orig	2018-03-01 13:35:20 UTC
++++ bin/cassandra.in.sh
+@@ -26,8 +26,8 @@ fi
+ # This can be the path to a jar file, or a directory containing the 
+ # compiled classes. NOTE: This isn't needed by the startup script,
+ # it's just used here in constructing the classpath.
+-cassandra_bin="$CASSANDRA_HOME/build/classes/main"
+-cassandra_bin="$cassandra_bin:$CASSANDRA_HOME/build/classes/thrift"
++#cassandra_bin="$CASSANDRA_HOME/build/classes/main"
++#cassandra_bin="$cassandra_bin:$CASSANDRA_HOME/build/classes/thrift"
+ #cassandra_bin="$CASSANDRA_HOME/build/cassandra.jar"
+ 
+ # the default location for commitlogs, sstables, and saved caches
+@@ -38,7 +38,7 @@ cassandra_storagedir="$CASSANDRA_HOME/da
+ #JAVA_HOME=/usr/local/jdk6
+ 
+ # The java classpath (required)
+-CLASSPATH="$CASSANDRA_CONF:$cassandra_bin"
++CLASSPATH="$CASSANDRA_CONF"
+ 
+ for jar in "$CASSANDRA_HOME"/lib/*.jar; do
+     CLASSPATH="$CLASSPATH:$jar"

Added: head/databases/cassandra3/files/patch-build.xml
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/databases/cassandra3/files/patch-build.xml	Mon Jan 28 06:12:18 2019	(r491455)
@@ -0,0 +1,183 @@
+--- build.xml.orig	2018-10-07 14:44:46 UTC
++++ build.xml
+@@ -23,6 +23,7 @@
+     <property file="build.properties" />
+     <property file="build.properties.default" />
+     <property name="debuglevel" value="source,lines,vars"/>
++    <property name="pycmd" value="python"/>
+ 
+     <!-- default version and SCM information -->
+     <property name="base.version" value="3.11.3"/>
+@@ -75,14 +76,14 @@
+     <condition property="version" value="${base.version}">
+       <isset property="release"/>
+     </condition>
+-    <property name="version" value="${base.version}-SNAPSHOT"/>
++    <property name="version" value="${base.version}"/>
+     <property name="version.properties.dir"
+               value="${build.src.resources}/org/apache/cassandra/config/" />
+     <property name="final.name" value="${ant.project.name}-${version}"/>
+ 
+     <!-- details of what version of Maven ANT Tasks to fetch -->
+     <property name="maven-ant-tasks.version" value="2.1.3" />
+-    <property name="maven-ant-tasks.local" value="${user.home}/.m2/repository/org/apache/maven/maven-ant-tasks"/>
++    <property name="maven-ant-tasks.local" value="${localm2}/org/apache/maven/maven-ant-tasks"/>
+     <property name="maven-ant-tasks.url"
+               value="http://repo2.maven.org/maven2/org/apache/maven/maven-ant-tasks" />
+     <!-- details of how and which Maven repository we publish to -->
+@@ -244,8 +245,7 @@
+         <artifact:dependencies pathId="wikitext.classpath">
+             <dependency groupId="com.datastax.wikitext" artifactId="wikitext-core-ant" version="1.3"/>
+             <dependency groupId="org.fusesource.wikitext" artifactId="textile-core" version="1.3"/>
+-            <remoteRepository refid="central"/>
+-            <remoteRepository refid="apache"/>
++            <localRepository path="${localm2}"/>
+         </artifact:dependencies>
+         <taskdef classpathref="wikitext.classpath" resource="wikitexttasks.properties" />
+         <wikitext-to-html markupLanguage="Textile">
+@@ -258,6 +258,7 @@
+     <target name="gen-doc" depends="maven-ant-tasks-init" description="Generate documentation">
+         <exec executable="make" osfamily="unix" dir="${doc.dir}">
+             <arg value="html"/>
++            <arg value="PYTHON_CMD=${pycmd}"/>
+         </exec>
+         <exec executable="cmd" osfamily="dos" dir="${doc.dir}">
+             <arg value="/c"/>
+@@ -300,10 +301,6 @@
+             description="Initialize Maven ANT Tasks">
+       <typedef uri="antlib:org.apache.maven.artifact.ant" classpathref="maven-ant-tasks.classpath" />
+ 
+-      <!-- define the remote repositories we use -->
+-      <artifact:remoteRepository id="central"   url="${artifact.remoteRepository.central}"/>
+-      <artifact:remoteRepository id="apache"    url="${artifact.remoteRepository.apache}"/>
+-
+       <macrodef name="install">
+         <attribute name="pomFile"/>
+         <attribute name="file"/>
+@@ -682,16 +679,14 @@
+                              filesetId="build-dependency-jars"
+                              cacheDependencyRefs="true"
+                              dependencyRefsBuildFile="${build.dir}/build-dependencies.xml">
+-          <remoteRepository refid="central"/>
+-          <remoteRepository refid="apache"/>
++          <localRepository path="${localm2}"/>
+       </artifact:dependencies>
+       <!-- retrieve -source.jar artifacts using the reference-pom with the artifacts that have these -->
+       <artifact:dependencies pomRefId="build-deps-pom-sources"
+                              sourcesFilesetId="build-dependency-sources"
+                              cacheDependencyRefs="true"
+                              dependencyRefsBuildFile="${build.dir}/build-dependencies-sources.xml">
+-          <remoteRepository refid="central"/>
+-          <remoteRepository refid="apache"/>
++          <localRepository path="${localm2}"/>
+       </artifact:dependencies>
+       <copy todir="${build.dir.lib}/jars">
+           <fileset refid="build-dependency-jars"/>
+@@ -704,7 +699,7 @@
+       <!-- code coverage tools -->
+       <artifact:dependencies pomRefId="coverage-deps-pom"
+                              filesetId="coverage-dependency-jars">
+-          <remoteRepository refid="central"/>
++          <localRepository path="${localm2}"/>
+       </artifact:dependencies>
+       <copy todir="${build.dir.lib}/jars">
+           <fileset refid="coverage-dependency-jars"/>
+@@ -725,8 +720,7 @@
+                              sourcesFilesetId="test-dependency-sources"
+                              cacheDependencyRefs="true"
+                              dependencyRefsBuildFile="${build.dir}/test-dependencies.xml">
+-        <remoteRepository refid="apache"/>
+-        <remoteRepository refid="central"/>
++        <localRepository path="${localm2}"/>
+       </artifact:dependencies>
+       <copy todir="${test.lib}/jars">
+         <fileset refid="test-dependency-jars"/>
+@@ -1021,6 +1015,88 @@
+       </jar>
+     </target>
+ 
++    <!-- FreeBSD for staging -->
++    <target name="freebsd-stage" depends="jar"
++            description="Create Cassandra directory structure for staging">
++      <mkdir dir="${dist.dir}"/>
++      <copy todir="${dist.dir}/lib">
++        <fileset dir="${build.lib}">
++          <exclude name="sigar*.jar"/>
++          <exclude name="sigar-bin/*"/>
++          <exclude name="snappy*.jar"/>
++          <exclude name="licenses/snappy*.txt"/>
++        </fileset>
++        <fileset dir="${build.dir}">
++          <include name="${final.name}.jar" />
++          <include name="${ant.project.name}-thrift-${version}.jar" />
++        </fileset>
++      </copy>
++      <copy todir="${dist.dir}/bin">
++        <fileset dir="bin">
++	  <exclude name="*.bat" />
++	  <exclude name="*.ps1" />
++	  <exclude name="*.orig" />
++	</fileset>
++      </copy>
++      <copy todir="${dist.dir}/conf">
++        <fileset dir="conf">
++          <exclude name="*.ps1" />
++	  <exclude name="*.orig" />
++        </fileset>
++      </copy>
++      <copy todir="${dist.dir}/interface">
++        <fileset dir="interface">
++          <include name="**/*.thrift" />
++        </fileset>
++      </copy>
++      <copy todir="${dist.dir}/pylib">
++        <fileset dir="pylib">
++          <include name="**" />
++          <exclude name="**/*.pyc" />
++        </fileset>
++      </copy>
++      <copy todir="${dist.dir}/">
++        <fileset dir="${basedir}">
++          <include name="*.txt" />
++        </fileset>
++      </copy>
++      <copy todir="${dist.dir}/tools/bin">
++        <fileset dir="${basedir}/tools/bin">
++          <exclude name="*.bat" />
++          <exclude name="*.ps1" />
++	  <exclude name="*.orig" />
++        </fileset>
++      </copy>
++      <copy todir="${dist.dir}/tools/">
++        <fileset dir="${basedir}/tools/">
++            <include name="*.yaml"/>
++	</fileset>
++      </copy>
++      <copy todir="${dist.dir}/tools/lib">
++        <fileset dir="${build.dir}/tools/lib/">
++            <include name="*.jar" />
++        </fileset>
++      </copy>
++    </target>
++
++    <target name="freebsd-stage-doc" depends="freebsd-stage,javadoc,gen-doc"
++            description="Create Cassandra directory structure for staging, including docs">
++      <copy todir="${dist.dir}/javadoc">
++        <fileset dir="${javadoc.dir}"/>
++      </copy>
++      <copy todir="${dist.dir}/doc">
++        <fileset dir="doc">
++          <include name="cql3/CQL.html" />
++          <include name="cql3/CQL.css" />
++          <include name="SASI.md" />
++        </fileset>
++      </copy>
++      <copy todir="${dist.dir}/doc/html">
++        <fileset dir="doc" />
++        <globmapper from="build/html/*" to="*"/>
++      </copy>
++    </target>
++    
+     <!-- creates release tarballs -->
+     <target name="artifacts" depends="jar,javadoc,gen-doc"
+             description="Create Cassandra release artifacts">

Added: head/databases/cassandra3/files/patch-conf_cassandra-env.sh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/databases/cassandra3/files/patch-conf_cassandra-env.sh	Mon Jan 28 06:12:18 2019	(r491455)
@@ -0,0 +1,11 @@
+--- conf/cassandra-env.sh.orig	2018-09-07 21:30:15 UTC
++++ conf/cassandra-env.sh
+@@ -122,7 +122,7 @@ case "$jvm" in
+ esac
+ 
+ #GC log path has to be defined here because it needs to access CASSANDRA_HOME
+-JVM_OPTS="$JVM_OPTS -Xloggc:${CASSANDRA_HOME}/logs/gc.log"
++JVM_OPTS="$JVM_OPTS -Xloggc:/var/log/cassandra/gc.log"
+ 
+ # Here we create the arguments that will get passed to the jvm when
+ # starting cassandra.

Added: head/databases/cassandra3/files/patch-conf_cassandra.yaml
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/databases/cassandra3/files/patch-conf_cassandra.yaml	Mon Jan 28 06:12:18 2019	(r491455)
@@ -0,0 +1,68 @@
+--- conf/cassandra.yaml.orig	2018-02-14 20:43:59 UTC
++++ conf/cassandra.yaml
+@@ -70,7 +70,7 @@ max_hints_delivery_threads: 2
+ 
+ # Directory where Cassandra should store hints.
+ # If not set, the default directory is $CASSANDRA_HOME/data/hints.
+-# hints_directory: /var/lib/cassandra/hints
++hints_directory: /var/db/cassandra/hints
+ 
+ # How often hints should be flushed from the internal buffers to disk.
+ # Will *not* trigger fsync.
+@@ -187,13 +187,13 @@ partitioner: org.apache.cassandra.dht.Mu
+ # will spread data evenly across them, subject to the granularity of
+ # the configured compaction strategy.
+ # If not set, the default directory is $CASSANDRA_HOME/data/data.
+-# data_file_directories:
+-#     - /var/lib/cassandra/data
++data_file_directories:
++    - /var/db/cassandra/data
+ 
+ # commit log.  when running on magnetic HDD, this should be a
+ # separate spindle than the data directories.
+ # If not set, the default directory is $CASSANDRA_HOME/data/commitlog.
+-# commitlog_directory: /var/lib/cassandra/commitlog
++commitlog_directory: /var/db/cassandra/commitlog
+ 
+ # Enable / disable CDC functionality on a per-node basis. This modifies the logic used
+ # for write path allocation rejection (standard: never reject. cdc: reject Mutation
+@@ -204,7 +204,7 @@ cdc_enabled: false
+ # segment contains mutations for a CDC-enabled table. This should be placed on a
+ # separate spindle than the data directories. If not set, the default directory is
+ # $CASSANDRA_HOME/data/cdc_raw.
+-# cdc_raw_directory: /var/lib/cassandra/cdc_raw
++cdc_raw_directory: /var/db/cassandra/cdc_raw
+ 
+ # Policy for data disk failures:
+ #
+@@ -305,20 +305,12 @@ key_cache_save_period: 14400
+ 
+ # Row cache implementation class name. Available implementations:
+ #
+-# org.apache.cassandra.cache.OHCProvider
+-#   Fully off-heap row cache implementation (default).
+-#
+ # org.apache.cassandra.cache.SerializingCacheProvider
+ #   This is the row cache implementation availabile
+ #   in previous releases of Cassandra.
+-# row_cache_class_name: org.apache.cassandra.cache.OHCProvider
++# row_cache_class_name: org.apache.cassandra.cache.SerializingCacheProvider
+ 
+ # Maximum size of the row cache in memory.
+-# Please note that OHC cache implementation requires some additional off-heap memory to manage
+-# the map structures and some in-flight memory during operations before/after cache entries can be
+-# accounted against the cache capacity. This overhead is usually small compared to the whole capacity.
+-# Do not specify more memory that the system can afford in the worst usual situation and leave some
+-# headroom for OS block level cache. Do never allow your system to swap.
+ #
+ # Default value is 0, to disable row caching.
+ row_cache_size_in_mb: 0
+@@ -365,7 +357,7 @@ counter_cache_save_period: 7200
+ 
+ # saved caches
+ # If not set, the default directory is $CASSANDRA_HOME/data/saved_caches.
+-# saved_caches_directory: /var/lib/cassandra/saved_caches
++saved_caches_directory: /var/db/cassandra/saved_caches
+ 
+ # commitlog_sync may be either "periodic" or "batch." 
+ # 

Added: head/databases/cassandra3/files/patch-doc_Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/databases/cassandra3/files/patch-doc_Makefile	Mon Jan 28 06:12:18 2019	(r491455)
@@ -0,0 +1,20 @@
+--- doc/Makefile.orig	2018-02-22 15:43:58 UTC
++++ doc/Makefile
+@@ -3,7 +3,7 @@
+ 
+ # You can set these variables from the command line.
+ SPHINXOPTS    =
+-SPHINXBUILD   = sphinx-build
++SPHINXBUILD   = sphinx-build-2.7
+ PAPER         =
+ BUILDDIR      = build
+ 
+@@ -17,7 +17,7 @@ I18NSPHINXOPTS  = $(PAPEROPT_$(PAPER)) $
+ YAML_DOC_INPUT=../conf/cassandra.yaml
+ YAML_DOC_OUTPUT=source/configuration/cassandra_config_file.rst
+ 
+-MAKE_CASSANDRA_YAML = python convert_yaml_to_rst.py $(YAML_DOC_INPUT) $(YAML_DOC_OUTPUT)
++MAKE_CASSANDRA_YAML = ${PYTHON_CMD} convert_yaml_to_rst.py $(YAML_DOC_INPUT) $(YAML_DOC_OUTPUT)
+ 
+ WEB_SITE_PRESENCE_FILE='source/.build_for_website'
+ 

Added: head/databases/cassandra3/files/patch-src_java_org_apache_cassandra_config_Config.java
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/databases/cassandra3/files/patch-src_java_org_apache_cassandra_config_Config.java	Mon Jan 28 06:12:18 2019	(r491455)
@@ -0,0 +1,11 @@
+--- src/java/org/apache/cassandra/config/Config.java.orig	2018-03-06 21:16:18 UTC
++++ src/java/org/apache/cassandra/config/Config.java
+@@ -252,7 +252,7 @@ public class Config
+     public volatile int key_cache_save_period = 14400;
+     public volatile int key_cache_keys_to_save = Integer.MAX_VALUE;
+ 
+-    public String row_cache_class_name = "org.apache.cassandra.cache.OHCProvider";
++    public String row_cache_class_name = "org.apache.cassandra.cache.SerializingCacheProvider";
+     public long row_cache_size_in_mb = 0;
+     public volatile int row_cache_save_period = 0;
+     public volatile int row_cache_keys_to_save = Integer.MAX_VALUE;

Added: head/databases/cassandra3/files/patch-src_java_org_apache_cassandra_service_StartupChecks.java
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/databases/cassandra3/files/patch-src_java_org_apache_cassandra_service_StartupChecks.java	Mon Jan 28 06:12:18 2019	(r491455)
@@ -0,0 +1,18 @@
+--- src/java/org/apache/cassandra/service/StartupChecks.java.orig	2018-02-14 20:43:59 UTC
++++ src/java/org/apache/cassandra/service/StartupChecks.java
+@@ -263,7 +263,14 @@ public class StartupChecks
+     {
+         public void execute()
+         {
+-            SigarLibrary.instance.warnIfRunningInDegradedMode();
++            try {
++                @SuppressWarnings("unused")
++                Class<?> loadMe = org.hyperic.sigar.SigarException.class;
++                
++                SigarLibrary.instance.warnIfRunningInDegradedMode();
++            } catch (NoClassDefFoundError e) {
++                logger.info("Could not initialize SIGAR library: SIGAR option not selected during install or jar no longer available.");
++            }
+         }
+     };
+ 

Added: head/databases/cassandra3/files/patch-src_java_org_apache_cassandra_utils_FastByteOperations.java
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/databases/cassandra3/files/patch-src_java_org_apache_cassandra_utils_FastByteOperations.java	Mon Jan 28 06:12:18 2019	(r491455)
@@ -0,0 +1,108 @@
+--- src/java/org/apache/cassandra/utils/FastByteOperations.java.orig	2018-03-01 05:02:12 UTC
++++ src/java/org/apache/cassandra/utils/FastByteOperations.java
+@@ -179,6 +179,20 @@ public class FastByteOperations
+ 
+         static final boolean BIG_ENDIAN = ByteOrder.nativeOrder().equals(ByteOrder.BIG_ENDIAN);
+ 
++        private static byte unsafeGetByte(Object o, long offset)
++        {
++            return o == null
++                    ? theUnsafe.getByte(offset)
++                    : theUnsafe.getByte(o, offset);
++        }
++
++        private static long unsafeGetLong(Object o, long offset)
++        {
++            return o == null
++                    ? theUnsafe.getLong(offset)
++                    : theUnsafe.getLong(o, offset);
++        }
++
+         public int compare(byte[] buffer1, int offset1, int length1, byte[] buffer2, int offset2, int length2)
+         {
+             return compareTo(buffer1, BYTE_ARRAY_BASE_OFFSET + offset1, length1,
+@@ -197,7 +211,7 @@ public class FastByteOperations
+             else
+             {
+                 obj1 = null;
+-                offset1 = theUnsafe.getLong(buffer1, DIRECT_BUFFER_ADDRESS_OFFSET);
++                offset1 = unsafeGetLong(buffer1, DIRECT_BUFFER_ADDRESS_OFFSET);
+             }
+             int length1;
+             {
+@@ -219,7 +233,7 @@ public class FastByteOperations
+             if (src.hasArray())
+                 System.arraycopy(src.array(), src.arrayOffset() + srcPosition, trg, trgPosition, length);
+             else
+-                copy(null, srcPosition + theUnsafe.getLong(src, DIRECT_BUFFER_ADDRESS_OFFSET), trg, trgPosition, length);
++                copy(null, srcPosition + unsafeGetLong(src, DIRECT_BUFFER_ADDRESS_OFFSET), trg, trgPosition, length);
+         }
+ 
+         public void copy(ByteBuffer srcBuf, int srcPosition, ByteBuffer trgBuf, int trgPosition, int length)
+@@ -234,7 +248,7 @@ public class FastByteOperations
+             else
+             {
+                 src = null;
+-                srcOffset = theUnsafe.getLong(srcBuf, DIRECT_BUFFER_ADDRESS_OFFSET);
++                srcOffset = unsafeGetLong(srcBuf, DIRECT_BUFFER_ADDRESS_OFFSET);
+             }
+             copy(src, srcOffset + srcPosition, trgBuf, trgPosition, length);
+         }
+@@ -244,7 +258,7 @@ public class FastByteOperations
+             if (trgBuf.hasArray())
+                 copy(src, srcOffset, trgBuf.array(), trgBuf.arrayOffset() + trgPosition, length);
+             else
+-                copy(src, srcOffset, null, trgPosition + theUnsafe.getLong(trgBuf, DIRECT_BUFFER_ADDRESS_OFFSET), length);
++                copy(src, srcOffset, null, trgPosition + unsafeGetLong(trgBuf, DIRECT_BUFFER_ADDRESS_OFFSET), length);
+         }
+ 
+         public static void copy(Object src, long srcOffset, byte[] trg, int trgPosition, int length)
+@@ -252,7 +266,7 @@ public class FastByteOperations
+             if (length <= MIN_COPY_THRESHOLD)
+             {
+                 for (int i = 0 ; i < length ; i++)
+-                    trg[trgPosition + i] = theUnsafe.getByte(src, srcOffset + i);
++                    trg[trgPosition + i] = unsafeGetByte(src, srcOffset + i);
+             }
+             else
+             {
+@@ -291,7 +305,7 @@ public class FastByteOperations
+             else
+             {
+                 obj1 = null;
+-                offset1 = theUnsafe.getLong(buffer1, DIRECT_BUFFER_ADDRESS_OFFSET);
++                offset1 = unsafeGetLong(buffer1, DIRECT_BUFFER_ADDRESS_OFFSET);
+             }
+             offset1 += buffer1.position();
+             length1 = buffer1.remaining();
+@@ -314,7 +328,7 @@ public class FastByteOperations
+             else
+             {
+                 obj2 = null;
+-                offset2 = theUnsafe.getLong(buffer, DIRECT_BUFFER_ADDRESS_OFFSET);
++                offset2 = unsafeGetLong(buffer, DIRECT_BUFFER_ADDRESS_OFFSET);
+             }
+             int length2 = limit - position;
+             offset2 += position;
+@@ -347,8 +361,8 @@ public class FastByteOperations
+             int wordComparisons = minLength & ~7;
+             for (int i = 0; i < wordComparisons ; i += Longs.BYTES)
+             {
+-                long lw = theUnsafe.getLong(buffer1, memoryOffset1 + i);
+-                long rw = theUnsafe.getLong(buffer2, memoryOffset2 + i);
++                long lw = unsafeGetLong(buffer1, memoryOffset1 + i);
++                long rw = unsafeGetLong(buffer2, memoryOffset2 + i);
+ 
+                 if (lw != rw)
+                 {
+@@ -361,8 +375,8 @@ public class FastByteOperations
+ 
+             for (int i = wordComparisons ; i < minLength ; i++)
+             {
+-                int b1 = theUnsafe.getByte(buffer1, memoryOffset1 + i) & 0xFF;
+-                int b2 = theUnsafe.getByte(buffer2, memoryOffset2 + i) & 0xFF;
++                int b1 = unsafeGetByte(buffer1, memoryOffset1 + i) & 0xFF;
++                int b2 = unsafeGetByte(buffer2, memoryOffset2 + i) & 0xFF;
+                 if (b1 != b2)
+                     return b1 - b2;
+             }

Added: head/databases/cassandra3/files/patch-test_conf_cassandra.yaml
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/databases/cassandra3/files/patch-test_conf_cassandra.yaml	Mon Jan 28 06:12:18 2019	(r491455)
@@ -0,0 +1,10 @@
+--- test/conf/cassandra.yaml.orig	2018-03-06 21:24:02 UTC
++++ test/conf/cassandra.yaml
+@@ -40,7 +40,6 @@ server_encryption_options:
+ incremental_backups: true
+ concurrent_compactors: 4
+ compaction_throughput_mb_per_sec: 0
+-row_cache_class_name: org.apache.cassandra.cache.OHCProvider
+ row_cache_size_in_mb: 16
+ enable_user_defined_functions: true
+ enable_scripted_user_defined_functions: true

Added: head/databases/cassandra3/files/patch-tools_bin_cassandra.in.sh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/databases/cassandra3/files/patch-tools_bin_cassandra.in.sh	Mon Jan 28 06:12:18 2019	(r491455)
@@ -0,0 +1,24 @@
+--- tools/bin/cassandra.in.sh.orig	2018-03-01 14:02:52 UTC
++++ tools/bin/cassandra.in.sh
+@@ -26,9 +26,9 @@ fi
+ # This can be the path to a jar file, or a directory containing the
+ # compiled classes. NOTE: This isn't needed by the startup script,
+ # it's just used here in constructing the classpath.
+-cassandra_bin="$CASSANDRA_HOME/build/classes/main"
+-cassandra_bin="$cassandra_bin:$CASSANDRA_HOME/build/classes/stress"
+-cassandra_bin="$cassandra_bin:$CASSANDRA_HOME/build/classes/thrift"
++#cassandra_bin="$CASSANDRA_HOME/build/classes/main"
++#cassandra_bin="$cassandra_bin:$CASSANDRA_HOME/build/classes/stress"
++#cassandra_bin="$cassandra_bin:$CASSANDRA_HOME/build/classes/thrift"
+ #cassandra_bin="$cassandra_home/build/cassandra.jar"
+ 
+ # the default location for commitlogs, sstables, and saved caches
+@@ -39,7 +39,7 @@ cassandra_storagedir="$CASSANDRA_HOME/da
+ #JAVA_HOME=/usr/local/jdk6
+ 
+ # The java classpath (required)
+-CLASSPATH="$CASSANDRA_CONF:$cassandra_bin"
++CLASSPATH="$CASSANDRA_CONF"
+ 
+ for jar in "$CASSANDRA_HOME"/tools/lib/*.jar; do
+     CLASSPATH="$CLASSPATH:$jar"

Modified: head/databases/cassandra3/pkg-descr
==============================================================================
--- head/databases/cassandra2/pkg-descr	Sun Nov 12 15:56:40 2017	(r454051)
+++ head/databases/cassandra3/pkg-descr	Mon Jan 28 06:12:18 2019	(r491455)
@@ -1,13 +1,14 @@
-Cassandra is a highly scalable, eventually consistent, distributed,
-structured key-value store. Cassandra brings together the distributed
-systems technologies from Dynamo and the data model from Google's
-BigTable. Like Dynamo, Cassandra is eventually consistent. Like
-BigTable, Cassandra provides a ColumnFamily-based data model richer
-than typical key/value systems.
+Apache Cassandra is a free and open-source distributed database.
+It is a Java-based, highly scalable, eventually consistent, wide
+column store. Cassandra database clusters are masterless with no
+single point of failure. Replication can be configured across
+multiple data centers.
 
-Cassandra was open sourced by Facebook in 2008, where it was designed
-by one of the authors of Amazon's Dynamo. In a lot of ways you can
-think of Cassandra as Dynamo 2.0. Cassandra is in production use at
-Facebook but is still under heavy development.
+Originally influenced by Dynamo and BigTable, Cassandra was initially
+developed at and open sourced by Facebook before becoming a top-level
+Apache project.
 
-WWW: http://cassandra.apache.org/
+The CQL query language offers SQL-like data access and management.
+Drivers are available for a number of languages.
+
+WWW: https://cassandra.apache.org/

Added: head/databases/cassandra3/pkg-message
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/databases/cassandra3/pkg-message	Mon Jan 28 06:12:18 2019	(r491455)
@@ -0,0 +1,8 @@
+======================================================================
+Entries for this machine's hostname may need to be set in /etc/hosts
+if you get a "Local host name unknown" exception on startup
+(see https://issues.apache.org/jira/browse/CASSANDRA-2380):
+
+	::1		localhost localhost.your.domain your-host-name
+	127.0.0.1	localhost localhost.your.domain your-host-name
+======================================================================

Modified: head/databases/cassandra3/pkg-plist
==============================================================================
--- head/databases/cassandra2/pkg-plist	Sun Nov 12 15:56:40 2017	(r454051)
+++ head/databases/cassandra3/pkg-plist	Mon Jan 28 06:12:18 2019	(r491455)
@@ -1,182 +1,189 @@
-@sample %%DATADIR%%/conf/cassandra-rackdc.properties.sample
-@sample %%DATADIR%%/conf/cassandra-topology.properties.sample
-@sample %%DATADIR%%/conf/cassandra.yaml.sample
-@sample %%DATADIR%%/conf/commitlog_archiving.properties.sample
-@sample %%DATADIR%%/conf/cqlshrc.sample
-%%CQL%%%%DATADIR%%/bin/cqlsh
-%%CQL%%%%DATADIR%%/lib/cassandra-driver-internal-only-2.1.1.post.zip
-%%CQL%%%%DATADIR%%/lib/futures-2.1.6-py2.py3-none-any.zip
-%%CQL%%%%DATADIR%%/lib/six-1.7.3-py2.py3-none-any.zip
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/__init__.py
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/__init__.pyc
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/async_insert.py
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/async_insert.pyc
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/cql3handling.py
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/cql3handling.pyc
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/cqlhandling.py
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/cqlhandling.pyc
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/displaying.py
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/displaying.pyc
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/formatting.py
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/formatting.pyc
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/helptopics.py
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/helptopics.pyc
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/meter.py
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/meter.pyc
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/pylexotron.py
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/pylexotron.pyc
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/saferscanner.py
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/saferscanner.pyc
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/sslhandling.py
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/sslhandling.pyc
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/test/__init__.py
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/test/__init__.pyc
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/test/ansi_colors.py
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/test/ansi_colors.pyc
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/test/basecase.py
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/test/basecase.pyc
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/test/cassconnect.py
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/test/cassconnect.pyc
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/test/run_cqlsh.py
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/test/run_cqlsh.pyc
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/test/test_cql_parsing.py
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/test/test_cql_parsing.pyc
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/test/test_cqlsh_commands.py
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/test/test_cqlsh_commands.pyc
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/test/test_cqlsh_completion.py
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/test/test_cqlsh_completion.pyc
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/test/test_cqlsh_invocation.py
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/test/test_cqlsh_invocation.pyc
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/test/test_cqlsh_output.py
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/test/test_cqlsh_output.pyc
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/test/test_keyspace_init.cql
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/tracing.py
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/tracing.pyc
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/util.py
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/util.pyc
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/wcwidth.py
-%%CQL%%%%DATADIR%%/pylib/cqlshlib/wcwidth.pyc
-%%CQL%%%%DATADIR%%/pylib/setup.py
-%%CQL%%%%DATADIR%%/pylib/setup.pyc
-%%CQL%%bin/cqlsh
 %%DATADIR%%/bin/cassandra
-%%DATADIR%%/bin/cassandra-cli
 %%DATADIR%%/bin/cassandra.in.sh
-%%DATADIR%%/bin/cassandra.ps1
+%%DATADIR%%/bin/cqlsh
+%%DATADIR%%/bin/cqlsh.py
 %%DATADIR%%/bin/debug-cql
 %%DATADIR%%/bin/nodetool
-%%DATADIR%%/bin/repaircluster
-%%DATADIR%%/bin/source-conf.ps1
-%%DATADIR%%/bin/sstablekeys
 %%DATADIR%%/bin/sstableloader
 %%DATADIR%%/bin/sstablescrub
 %%DATADIR%%/bin/sstableupgrade
-%%DATADIR%%/bin/stop-server.ps1
-%%DATADIR%%/conf/cassandra-env.ps1
-%%DATADIR%%/conf/cassandra-env.sh
-%%DATADIR%%/conf/cassandra-topology.yaml
-%%DATADIR%%/conf/hotspot_compiler
-%%DATADIR%%/conf/logback-tools.xml
-%%DATADIR%%/conf/logback.xml
-%%DATADIR%%/conf/metrics-reporter-config-sample.yaml
-%%DATADIR%%/conf/README.txt
-%%DATADIR%%/conf/triggers/README.txt
+%%DATADIR%%/bin/sstableutil
+%%DATADIR%%/bin/sstableverify
+%%DATADIR%%/bin/stop-server
+%%DATADIR%%/CHANGES.txt
 %%DATADIR%%/interface/cassandra.thrift
 %%DATADIR%%/lib/airline-0.6.jar
 %%DATADIR%%/lib/antlr-runtime-3.5.2.jar
-%%DATADIR%%/lib/apache-cassandra-2.1.1.jar
-%%DATADIR%%/lib/apache-cassandra-clientutil-2.1.1.jar
-%%DATADIR%%/lib/apache-cassandra-thrift-2.1.1.jar
+%%DATADIR%%/lib/apache-cassandra-%%PORTVERSION%%.jar
+%%DATADIR%%/lib/apache-cassandra-thrift-%%PORTVERSION%%.jar
+%%DATADIR%%/lib/asm-5.0.4.jar
+%%DATADIR%%/lib/caffeine-2.2.6.jar
+%%DATADIR%%/lib/cassandra-driver-core-3.0.1-shaded.jar
+%%DATADIR%%/lib/cassandra-driver-internal-only-3.10.zip
+%%DATADIR%%/lib/cassandra-driver-internal-only-3.11.0-bb96859b.zip

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201901280612.x0S6CInt042991>