[103776] trunk/dports/databases/cassandra/Portfile
ryandesign at macports.org
ryandesign at macports.org
Wed Mar 6 20:34:17 PST 2013
Revision: 103776
https://trac.macports.org/changeset/103776
Author: ryandesign at macports.org
Date: 2013-03-06 20:34:17 -0800 (Wed, 06 Mar 2013)
Log Message:
-----------
cassandra: update to 1.2.2 and add startupitem (#38314)
Modified Paths:
--------------
trunk/dports/databases/cassandra/Portfile
Modified: trunk/dports/databases/cassandra/Portfile
===================================================================
--- trunk/dports/databases/cassandra/Portfile 2013-03-07 04:03:35 UTC (rev 103775)
+++ trunk/dports/databases/cassandra/Portfile 2013-03-07 04:34:17 UTC (rev 103776)
@@ -4,7 +4,7 @@
PortSystem 1.0
name cassandra
-version 0.8.2
+version 1.2.2
categories databases
maintainers nomaintainer
homepage http://cassandra.apache.org/
@@ -16,6 +16,7 @@
description A highly scalable, eventually consistent, \
distributed, structured key-value store.
+
long_description \
The Apache Cassandra Project develops a highly scalable second-generation \
distributed database, bringing together Dynamo's fully distributed design \
@@ -23,20 +24,39 @@
by Facebook in 2008, and is now developed by Apache committers and \
contributors from many companies.
-checksums md5 f9f06527fd2a043ea04e2852144f7d21 \
- sha1 48ebc3644972260eae9de85fb704de7088549f62 \
- rmd160 4a68ef1e6370f01861e90132870d2d9aefb601bb
+checksums md5 df9b5a88f33d3961ee33f24ee9bd52ff \
+ sha1 dae64c407d9040688614234b8469e4eba982bc37 \
+ rmd160 832630aa3841694bffa0d35e141834f931da3178
-depends_build bin:ant:apache-ant port:apache-ivy
-depends_run port:antlr3 port:junit port:jline port:slf4j \
- port:commons-cli port:commons-lang port:commons-collections \
- port:commons-codec port:jakarta-log4j \
- port:google-collections port:google-guava \
- port:servlet25-api
+depends_build bin:ant:apache-ant \
+ port:apache-ivy
+
+depends_run port:antlr3 \
+ port:junit \
+ port:jline \
+ port:slf4j \
+ port:commons-cli \
+ port:commons-lang \
+ port:commons-codec \
+ port:jakarta-log4j \
+ port:google-guava
+
+set java_basepath ${prefix}/share/java
+set cassandra_destpath ${java_basepath}/${name}-${version}
+
set mp_libs {antlr junit jline slf4j-api slf4j-log4j12 commons-cli \
- commons-lang commons-collections commons-codec jakarta-log4j \
- google-collect google-guava servlet25-api }
+ commons-lang commons-codec jakarta-log4j \
+ google-guava }
+set dbdir ${prefix}/var/db/cassandra
+set logdir ${prefix}/var/log/cassandra
+if {"darwin" == ${os.platform} && ${os.major} > 8} {
+ set cassandrauser _cassandra
+} else {
+ set cassandrauser cassandra
+}
+add_users ${cassandrauser} group=${cassandrauser} realname=Cassandra\ Server
+
use_configure no
build.cmd ant
@@ -44,8 +64,8 @@
destroot {
# create directories
- set cas_home ${destroot}${prefix}/share/java/${name}
- set doc_dir ${destroot}${prefix}/share/doc/${name}
+ set cas_home ${destroot}${cassandra_destpath}
+ set doc_dir ${destroot}${prefix}/share/doc/${name}-${version}
xinstall -m 755 -d ${cas_home}/lib ${doc_dir}
# move in docs
@@ -53,11 +73,11 @@
# fix cassandra include file
move ${worksrcpath}/bin/cassandra.in.sh ${cas_home}/
- reinplace "s|CASSANDRA_HOME=.*|CASSANDRA_HOME=${prefix}/share/java/${name}|" ${cas_home}/cassandra.in.sh
+ reinplace "s|CASSANDRA_HOME=.*|CASSANDRA_HOME=${cassandra_destpath}|" ${cas_home}/cassandra.in.sh
# install bin scripts
eval delete [glob ${worksrcpath}/bin/*.bat]
- eval reinplace "s|/opt/cassandra/cassandra.in.sh|${prefix}/share/java/${name}/cassandra.in.sh|" [glob ${worksrcpath}/bin/*]
+ eval reinplace "s|/opt/cassandra/cassandra.in.sh|${cassandra_destpath}/cassandra.in.sh|" [glob ${worksrcpath}/bin/*]
eval xinstall -m 755 [glob ${worksrcpath}/bin/*] ${destroot}${prefix}/bin
# install jars
@@ -65,92 +85,25 @@
${cas_home}/lib/${name}.jar
xinstall -m 644 ${worksrcpath}/build/apache-${name}-thrift-${version}-SNAPSHOT.jar \
${cas_home}/lib/${name}-thrift.jar
- if {[variant_isset no_deps]} {
- eval xinstall -m 644 [glob ${worksrcpath}/lib/*.jar] ${cas_home}/lib/
- } else {
- foreach lib $mp_libs {
- ln -s ${prefix}/share/java/$lib.jar ${cas_home}/lib/$lib.jar
- file delete ${worksrcpath}/lib/$lib.jar
- }
- eval xinstall -m 644 [glob ${worksrcpath}/lib/*.jar] ${cas_home}/lib/
- }
+ eval xinstall -m 644 [glob ${worksrcpath}/lib/*.jar] ${cas_home}/lib/
- # install conf, contrib, interface
- move ${worksrcpath}/conf ${worksrcpath}/contrib ${worksrcpath}/interface ${cas_home}
+ # install conf, interface
+ move ${worksrcpath}/conf ${worksrcpath}/interface ${cas_home}
# update file storage location to be within Macports hierarchy
- eval reinplace "s|/var|${prefix}/var|" [glob ${cas_home}/conf/*]
-
- # create these files
- xinstall -m 755 -d ${destroot}${prefix}/var/log/cassandra/ ${destroot}${prefix}/var/lib/cassandra/data/
- touch ${destroot}${prefix}/var/log/cassandra/system.log
-}
-destroot.keepdirs ${destroot}${prefix}/var/log/cassandra/ \
- ${destroot}${prefix}/var/lib/cassandra/
+ eval reinplace "s|/var|${prefix}/var|g" [glob ${cas_home}/conf/*]
-
-pre-build {
- # help Ant find Ivy
- xinstall -d ${worksrcpath}/build
- ln -s ${prefix}/share/java/ivy.jar ${worksrcpath}/build/ivy.jar
- reinplace "s|ivy-\${ivy\.version}\.jar|ivy.jar|" ${worksrcpath}/build.xml
-
- if {[variant_isset no_deps]} {} else {
- file delete ${worksrcpath}/lib/antlr-3.2.jar
- ln -s ${prefix}/share/java/antlr.jar ${worksrcpath}/lib/antlr.jar
- reinplace "s|antlr-3.2.jar|antlr.jar|" ${worksrcpath}/build.xml
-
- file delete ${worksrcpath}/lib/junit-4.6.jar
- ln -s ${prefix}/share/java/junit.jar ${worksrcpath}/lib/junit.jar
- reinplace "s|junit-4.6.jar|junit.jar|" ${worksrcpath}/build.xml
-
- file delete ${worksrcpath}/lib/commons-cli-1.1.jar
- ln -s ${prefix}/share/java/commons-cli.jar ${worksrcpath}/lib/commons-cli.jar
- reinplace "s|commons-cli-1.1.jar|commons-cli.jar|" ${worksrcpath}/build.xml
-
- file delete ${worksrcpath}/lib/commons-lang-2.4.jar
- ln -s ${prefix}/share/java/commons-lang.jar ${worksrcpath}/lib/commons-lang.jar
- reinplace "s|commons-lang-2.4.jar|commons-lang.jar|" ${worksrcpath}/build.xml
-
- file delete ${worksrcpath}/lib/commons-collections-3.2.1.jar
- ln -s ${prefix}/share/java/commons-collections.jar ${worksrcpath}/lib/commons-collections.jar
- reinplace "s|commons-collections-3.2.1.jar|commons-collections.jar|" ${worksrcpath}/build.xml
-
- file delete ${worksrcpath}/lib/commons-codec-1.2.jar
- ln -s ${prefix}/share/java/commons-codec.jar ${worksrcpath}/lib/commons-codec.jar
- reinplace "s|commons-codec-1.2.jar|commons-codec.jar|" ${worksrcpath}/build.xml
-
- file delete ${worksrcpath}/lib/log4j-1.2.16.jar
- ln -s ${prefix}/share/java/jakarta-log4j.jar ${worksrcpath}/lib/jakarta-log4j.jar
- reinplace "s|log4j-1.2.16.jar|jakarta-log4j.jar|" ${worksrcpath}/build.xml
-
- file delete ${worksrcpath}/lib/google-collect-1.0-rc1.jar
- ln -s ${prefix}/share/java/google-collect.jar ${worksrcpath}/lib/google-collect.jar
- reinplace "s|google-collect-1.0-rc1.jar|google-collect.jar|" ${worksrcpath}/build.xml
-
- file delete ${worksrcpath}/lib/guava-r08.jar
- ln -s ${prefix}/share/java/google-guava.jar ${worksrcpath}/lib/google-guava.jar
- reinplace "s|guava-r08.jar|google-guava.jar|" ${worksrcpath}/build.xml
-
- file delete ${worksrcpath}/lib/jline-0.9.94.jar
- ln -s ${prefix}/share/java/jline.jar ${worksrcpath}/lib/jline.jar
- reinplace "s|jline-0.9.94.jar|jline.jar|" ${worksrcpath}/build.xml
-
- file delete ${worksrcpath}/lib/slf4j-api-1.6.1.jar
- ln -s ${prefix}/share/java/slf4j-api.jar ${worksrcpath}/lib/slf4j-api.jar
- reinplace "s|slf4j-api-1.6.1.jar|slf4j-api.jar|" ${worksrcpath}/build.xml
-
- file delete ${worksrcpath}/lib/slf4j-log4j12-1.6.1.jar
- ln -s ${prefix}/share/java/slf4j-log4j12.jar ${worksrcpath}/lib/slf4j-log4j12.jar
- reinplace "s|slf4j-log4j12-1.6.1.jar|slf4j-log4j12.jar|" ${worksrcpath}/build.xml
-
- file delete ${worksrcpath}/lib/servlet-api-2.5-20081211.jar
- ln -s ${prefix}/share/java/servlet25-api.jar ${worksrcpath}/lib/servlet25-api.jar
- reinplace "s|servlet-api-2.5-20081211.jar|servlet25-api.jar|" ${worksrcpath}/build.xml
- }
+ reinplace "s|/var/lib/cassandra|/var/db/cassandra|g" ${cas_home}/conf/cassandra.yaml
}
-variant no_deps description {Use jar files that came with Cassandra distribution for dependencies, instead of using Macports to install dependencies} {
- # clear all runtime deps
- depends_run
+post-destroot {
+ xinstall -m 755 -o ${cassandrauser} -g ${cassandrauser} -d \
+ ${destroot}${logdir} \
+ ${destroot}${dbdir}
+ destroot.keepdirs-append \
+ ${destroot}${dbdir} \
+ ${destroot}${logdir}
}
+
+startupitem.create yes
+startupitem.executable sudo -u ${cassandrauser} ${prefix}/bin/cassandra
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20130306/1e8e6f02/attachment-0001.html>
More information about the macports-changes
mailing list