1 | # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 |
---|
2 | # $Id$ |
---|
3 | |
---|
4 | PortSystem 1.0 |
---|
5 | |
---|
6 | PortGroup github 1.0 |
---|
7 | |
---|
8 | github.setup elasticsearch elasticsearch 1.4.4 v |
---|
9 | categories java databases |
---|
10 | maintainers semenov.co:ilya openmaintainer |
---|
11 | platforms darwin |
---|
12 | |
---|
13 | description ElasticSearch is a flexible and powerful open source, distributed real-time \ |
---|
14 | search and analytics engine for the cloud |
---|
15 | long_description ${description} |
---|
16 | license APL-2 |
---|
17 | |
---|
18 | homepage http://elasticsearch.org |
---|
19 | |
---|
20 | ## Don't think it's a good idea to depend on this old port and no openjdk for now |
---|
21 | #depends_lib bin:java:kaffe |
---|
22 | conflicts ${name} |
---|
23 | use_configure no |
---|
24 | |
---|
25 | set dbuser elasticsearch |
---|
26 | set dbgrp elasticsearch |
---|
27 | set es_parent ${prefix}/share/java |
---|
28 | set es_home ${es_parent}/${name} |
---|
29 | set pidfile ${prefix}/var/run/${name}/pid |
---|
30 | |
---|
31 | add_users ${dbuser} shell=/bin/sh group=${dbgrp} \ |
---|
32 | home=${es_home} \ |
---|
33 | realname=Elasticsearch Server |
---|
34 | |
---|
35 | build {} |
---|
36 | |
---|
37 | destroot { |
---|
38 | xinstall -m 755 -d ${destroot}${es_parent} |
---|
39 | file copy ${worksrcpath} ${destroot}${es_home} |
---|
40 | xinstall -m 700 -o ${dbuser} -g ${dbgrp} -d ${destroot}${es_home}/data |
---|
41 | xinstall -m 755 -o ${dbuser} -g ${dbgrp} -d ${destroot}${es_home}/logs |
---|
42 | xinstall -m 755 -o ${dbuser} -g ${dbgrp} -d ${destroot}${prefix}/var/run/${name} |
---|
43 | } |
---|
44 | |
---|
45 | post-destroot { |
---|
46 | foreach arch {amd64-freebsd-6 amd64-linux amd64-solaris ia64-linux sparc-solaris sparc64-solaris x86-freebsd-5 x86-freebsd-6 x86-linux x86-solaris } { |
---|
47 | delete ${destroot}${es_home}/lib/sigar/libsigar-${arch}.so |
---|
48 | } |
---|
49 | |
---|
50 | reinplace "s|#path.data: /path/to.+$|path.data: ${es_home}/|" ${destroot}${es_home}/config/elasticsearch.yml |
---|
51 | reinplace "s|#path.logs: /path/to.+$|path.logs: ${prefix}/var/log/elasticsearch/|" ${destroot}${es_home}/config/elasticsearch.yml |
---|
52 | reinplace "s|#path.plugins: /path/to.+$|path.logs: ${es_home}/plugins|" ${destroot}${es_home}/config/elasticsearch.yml |
---|
53 | reinplace "s|#network\.host: .+$|network.host: 127.0.0.1|" ${destroot}${es_home}/config/elasticsearch.yml |
---|
54 | #reinplace "s|#\!\/bin\/sh\n|#!/bin/sh\n\nES_HOME=${es_home}|" ${destroot}${es_home}/bin/elasticsearch.in.sh |
---|
55 | #reinplace "s|ES_HOME/lib/|ES_HOME/libexec/|" ${destroot}${es_home}/bin/elasticsearch.in.sh |
---|
56 | #reinplace "s|SCRIPT="\$0"|SCRIPT="\$0"\nES_CLASSPATH=${es_home}/libexec|" ${destroot}${es_home}/bin/plugin |
---|
57 | #reinplace "s|\$ES_HOME\/lib\/|\$ES_CLASSPATH/|" ${destroot}${es_home}/bin/plugin |
---|
58 | |
---|
59 | #reinplace "s|%%ES_HOME%%|${es_home}|" |
---|
60 | #reinplace "s|%%VAR%%|${prefix}/var/elasticsearch|" |
---|
61 | } |
---|
62 | |
---|
63 | destroot.keepdirs ${destroot}${es_home}/data \ |
---|
64 | ${destroot}${prefix}/var/run/${name} \ |
---|
65 | ${destroot}${prefix}/var/log/${name} |
---|
66 | |
---|
67 | startupitem.create yes |
---|
68 | startupitem.logfile ${prefix}/var/log/elasticsearch.log |
---|
69 | startupitem.logevents yes |
---|
70 | startupitem.pidfile auto ${pidfile} |
---|
71 | startupitem.start "su ${dbuser} -c \"${es_home}/bin/elasticsearch -p ${pidfile}\"" |
---|
72 | startupitem.stop "su ${dbuser} -c \"kill `cat ${pidfile}`\"" |
---|
73 | |
---|
74 | if {${subport} eq ${name}} { |
---|
75 | checksums rmd160 5028c788343c467bb5905f484be62e3f82491e1d \ |
---|
76 | sha256 fe1d47bb93e98ddda284f8d0109fe9addf2b77793529768fbcf3a764ae09f9d7 |
---|
77 | |
---|
78 | conflicts ${name}-devel |
---|
79 | |
---|
80 | livecheck.type regex |
---|
81 | livecheck.url https://github.com/elasticsearch/elasticsearch/releases |
---|
82 | livecheck.regex "<a href=\"/elasticsearch/elasticsearch/releases/tag/v(.*)\">" |
---|
83 | } |
---|
84 | |
---|
85 | #subport ${name}-devel { |
---|
86 | # version 20150220 |
---|
87 | # distname 3e2f4b86e428723d6fa17ad039904f6ab8e0ee23 |
---|
88 | # checksums rmd160 5028c788343c467bb5905f484be62e3f82491e1d \ |
---|
89 | # sha256 fe1d47bb93e98ddda284f8d0109fe9addf2b77793529768fbcf3a764ae09f9d7 |
---|
90 | # #worksrcdir ${distname} |
---|
91 | # |
---|
92 | # ## FIXME! fails as dom4j port broken |
---|
93 | # depends_lib-append port:maven1 port:dom4j |
---|
94 | # |
---|
95 | # pre-configure { |
---|
96 | # # Build the package from source |
---|
97 | # system -W ${worksrcpath} "${prefix}/share/java/maven1/bin/mvn clean package -DskipTests" |
---|
98 | # # Extract the package to the current directory |
---|
99 | # system -W ${worksrcpath} "tar --strip 1 -xzf target/releases/elasticsearch-*.tar.gz" |
---|
100 | # } |
---|
101 | # |
---|
102 | ### FIXME! build failed "org.dom4j.dom.DOMDocumentFactory is not abstract and does not override abstract method getFeature(java.lang.String,java.lang.String) in org.w3c.dom.DOMImplementation" |
---|
103 | # |
---|
104 | # conflicts ${name} |
---|
105 | # livecheck.type none |
---|
106 | #} |
---|
107 | |
---|
108 | notes " |
---|
109 | To enable ${name} as background daemon: |
---|
110 | $ sudo ln -s ${prefix}/Library/LaunchDaemons/org.macports.${name}.plist /Library/LaunchDaemons/ |
---|
111 | $ sudo launchctl load -w /Library/LaunchDaemons/org.macports.${name}.plist |
---|
112 | " |
---|