Index: databases/Makefile =================================================================== --- databases/Makefile (revision 470402) +++ databases/Makefile (working copy) @@ -38,6 +38,7 @@ SUBDIR += clickhouse SUBDIR += cockroach SUBDIR += couchdb + SUBDIR += couchdb2 SUBDIR += courier-authlib-mysql SUBDIR += courier-authlib-pgsql SUBDIR += courier-authlib-userdb Index: databases/couchdb2/Makefile =================================================================== --- databases/couchdb2/Makefile (nonexistent) +++ databases/couchdb2/Makefile (working copy) @@ -0,0 +1,109 @@ +# +#Created by: Reshad Patuck +# $FreeBSD$ + +PORTNAME= couchdb2 +PORTVERSION= 2.1.1 +CATEGORIES= databases +MASTER_SITES= APACHE/couchdb/source/${PORTVERSION} +DISTNAME= apache-couchdb-${PORTVERSION} + +MAINTAINER= reshadpatuck1@gmail.com +COMMENT= JSON document database with HTTP API and scalable multi-master sync + +LICENSE= APACHE20 BSD3CLAUSE ISCL WTFPL OFL11 +LICENSE_COMB= multi + +LIB_DEPENDS= libicudata.so:devel/icu \ + libmozjs185.so:lang/spidermonkey185 +BUILD_DEPENDS= ${LOCALBASE}/bin/rebar:devel/rebar + +#CONFLICTS= couchdb-1* + +USERS= couchdb +GROUPS= couchdb + +USE_RC_SUBR= couchdb2 + +USES= cpe gmake libtool ssl +CPE_VENDOR= apache +HAS_CONFIGURE= yes +USE_LDCONFIG= yes + +CONFIGURE_ARGS = --skip-deps --user couchdb + +ALL_TARGET= release + + + +PLIST=${WRKDIR}/couchdb2-pkg-plist + + +OPTIONS_DEFINE= DOCS WITH_CURL FAUXTON +OPTIONS_SUB= yes +OPTIONS_DEFAULT=DOCS FAUXTON +DOCS_DESC= Build documentation and manpages +WITH_CURL_DESC= Request that couchjs is linked to cURL +FAUXTON_DESC= Build Fauxton +OTPVER20_DESC= Use Erlang OTP20 instead of OTP19 +OPTIONS_GROUP= ENV +OPTIONS_GROUP_ENV = OTPVER20 + +WITH_CURL_BUILD_DEPENDS=${LOCALBASE}/lib/libcurl.so:ftp/curl + +OTPVER20_BUILD_DEPENDS=${LOCALBASE}/lib/erlang20/bin/erlc:lang/erlang-runtime20 +OTPVER20_BUILD_DEPENDS_OFF=${LOCALBASE}/lib/erlang19/bin/erlc:lang/erlang-runtime19 + + +.include + +.if ! ${PORT_OPTIONS:MDOCS} +CONFIGURE_ARGS+=--disable-docs +.endif + +.if ! ${PORT_OPTIONS:MFAUXTON} +CONFIGURE_ARGS+=--disable-fauxton +.endif + +.if ${PORT_OPTIONS:MWITH_CURL} +CONFIGURE_ARGS+=-c +.endif + +.if ${PORT_OPTIONS:MOTPVER20} +MAKE_ENV= PATH=${LOCALBASE}/lib/erlang20/bin:${PATH} +.else +MAKE_ENV= PATH=${LOCALBASE}/lib/erlang19/bin:${PATH} +.endif + +pre-install: + # Cleanup source + ${FIND} ${WRKSRC} -type f -name '*.a' -exec ${RM} {} + + ${FIND} ${WRKSRC} -type f -name '*.c' -exec ${RM} {} + + ${FIND} ${WRKSRC} -type f -name '*.o' -exec ${RM} {} + + + ${CP} pkg-plist ${PLIST} + @${MKDIR} ${STAGEDIR}${ETCDIR} + ${MV} ${WRKSRC}/rel/couchdb/etc/local.ini ${STAGEDIR}/${ETCDIR}/local.ini.sample + ${FIND} ${WRKSRC}/rel/couchdb -type f | sed 's|^${WRKSRC}/rel/couchdb|libexec/couchdb2|' >> ${PLIST} + + +do-install: + + # Make required staging directories + @${MKDIR} \ + ${STAGEDIR}/var/db/couchdb2 \ + ${STAGEDIR}/var/log/couchdb2 \ + ${STAGEDIR}/var/run/couchdb2 + +.if ${PORT_OPTIONS:MDOCS} + ${INSTALL_MAN} ${WRKSRC}/share/docs/man/apachecouchdb.1 \ + ${STAGEDIR}${MANPREFIX}/man/man1 +.endif + + # Copy configs + ${CP} ${WRKSRC}/rel/couchdb/etc/vm.args ${STAGEDIR}/${ETCDIR}/vm.args.sample + + # Copy couchdb files. + ${CP} -R -p ${WRKSRC}/rel/couchdb ${STAGEDIR}${PREFIX}/libexec/couchdb2 + +.include Property changes on: databases/couchdb2/Makefile ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: databases/couchdb2/distinfo =================================================================== --- databases/couchdb2/distinfo (nonexistent) +++ databases/couchdb2/distinfo (working copy) @@ -0,0 +1,3 @@ +TIMESTAMP = 1526653079 +SHA256 (apache-couchdb-2.1.1.tar.gz) = d5f255abc871ac44f30517e68c7b30d1503ec0f6453267d641e00452c04e7bcc +SIZE (apache-couchdb-2.1.1.tar.gz) = 12132981 Property changes on: databases/couchdb2/distinfo ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: databases/couchdb2/files/couchdb2.in =================================================================== --- databases/couchdb2/files/couchdb2.in (nonexistent) +++ databases/couchdb2/files/couchdb2.in (working copy) @@ -0,0 +1,79 @@ +#!/bin/sh + +# $FreeBSD$ +# +# PROVIDE: couchdb2 +# REQUIRE: LOGIN +# KEYWORD: shutdown +# +# Add the following lines to /etc/rc.conf.local or /etc/rc.conf +# to enable this service: +# +# couchdb2_enable (bool): Set to NO by default. +# Set it to YES to enable couchdb2. + +. /etc/rc.subr + +name="couchdb2" +rcvar=couchdb2_enable + +start_cmd="${name}_start" +stop_cmd="${name}_stop" +status_cmd="${name}_status" + +load_rc_config $name + +: ${couchdb2_enable:="NO"} +: ${couchdb2_user="couchdb"} +: ${couchdb2_erl_flags="-couch_ini %%PREFIX%%/libexec/couchdb2/etc/default.ini %%ETCDIR%%/local.ini"} + + +command="%%PREFIX%%/libexec/couchdb2/bin/couchdb" +pidfile="/var/run/${name}.pid" + +couchdb2_start() +{ + export ERL_FLAGS="${couchdb2_erl_flags}" + daemon -p ${pidfile} -f -u ${couchdb2_user} ${command} +} + +couchdb2_stop() +{ + echo -n "Stopping ${name}: " + retval=0 + if ! status_quiet + then + echo "already stopped" + return 1 + else + couchdb2_pids=`pgrep -u ${couchdb2_user} beam\*` + kill ${couchdb2_pids} + wait_for_pids ${couchdb2_pids} + retval=$? + echo "stopped" + fi + return $retval +} + +couchdb2_status() +{ + pgrep -u ${couchdb2_user} beam\* > /dev/null && status="$?" || status="$?" + if [ "${status}" = 0 ]; then + echo "${name} is running" + return 0 + elif [ "${status}" = 4 ]; then + echo "could not access PID file for ${name}" + return ${status} + else + echo "${name} is not running" + return ${status} + fi +} + +status_quiet() +{ + couchdb2_status >/dev/null 2>&1 +} + +run_rc_command $1 + Property changes on: databases/couchdb2/files/couchdb2.in ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: databases/couchdb2/files/patch-rel_overlay_bin_couchdb =================================================================== --- databases/couchdb2/files/patch-rel_overlay_bin_couchdb (nonexistent) +++ databases/couchdb2/files/patch-rel_overlay_bin_couchdb (working copy) @@ -0,0 +1,16 @@ +--- rel/overlay/bin/couchdb.orig 2017-11-01 03:52:10.000000000 +0100 ++++ rel/overlay/bin/couchdb 2018-05-19 02:06:36.922291000 +0200 +@@ -26,6 +26,12 @@ + export EMU=beam + export PROGNAME=`echo $0 | sed 's/.*\///'` + ++if [ -f /usr/local/etc/couchdb2/vm.args ]; then ++ ARGSFILE=/usr/local/etc/couchdb2/vm.args ++else ++ ARGSFILE="$ROOTDIR/etc/vm.args" ++fi ++ + exec "$BINDIR/erlexec" -boot "$ROOTDIR/releases/$APP_VSN/couchdb" \ +- -args_file "$ROOTDIR/etc/vm.args" \ ++ -args_file $ARGSFILE \ + -config "$ROOTDIR/releases/$APP_VSN/sys.config" "$@" Property changes on: databases/couchdb2/files/patch-rel_overlay_bin_couchdb ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: databases/couchdb2/files/patch-rel_overlay_etc_local.ini =================================================================== --- databases/couchdb2/files/patch-rel_overlay_etc_local.ini (nonexistent) +++ databases/couchdb2/files/patch-rel_overlay_etc_local.ini (working copy) @@ -0,0 +1,20 @@ +--- rel/overlay/etc/local.ini.orig 2017-11-01 03:52:10.000000000 +0100 ++++ rel/overlay/etc/local.ini 2018-05-19 11:41:48.050519000 +0200 +@@ -7,6 +7,9 @@ + [couchdb] + ;max_document_size = 4294967296 ; bytes + ;os_process_timeout = 5000 ++; ++database_dir = /var/db/couchdb2 ++view_index_dir = /var/db/couchdb2 + + [couch_peruser] + ; If enabled, couch_peruser ensures that a private per-user database +@@ -111,3 +114,7 @@ + ; changing this. + [admins] + ;admin = mysecretpassword ++; ++[log] ++writer = file ++file = /var/log/couchdb2/couch.log Property changes on: databases/couchdb2/files/patch-rel_overlay_etc_local.ini ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: databases/couchdb2/pkg-descr =================================================================== --- databases/couchdb2/pkg-descr (nonexistent) +++ databases/couchdb2/pkg-descr (working copy) @@ -0,0 +1,6 @@ +Apache CouchDB lets you access your data where you need it by defining the +Couch Replication Protocol that is implemented by a variety of projects and +products that span every imaginable computing environment from globally +distributed server-clusters, over mobile phones to web browsers. + +WWW: http://couchdb.apache.org/ Property changes on: databases/couchdb2/pkg-descr ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: databases/couchdb2/pkg-message =================================================================== --- databases/couchdb2/pkg-message (nonexistent) +++ databases/couchdb2/pkg-message (working copy) @@ -0,0 +1,10 @@ +*********************************************************** +If this is the first time you are installing couchdb2, you will need to initialise the database node. +For a single node setup run the following commands once the database is started for the first time. + +curl -X PUT http://127.0.0.1:5984/_users +curl -X PUT http://127.0.0.1:5984/_replicator +curl -X PUT http://127.0.0.1:5984/_global_changes + +See http://docs.couchdb.org/en/2.1.1/install/setup.html#single-node-setup for more information. +*********************************************************** Property changes on: databases/couchdb2/pkg-message ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: databases/couchdb2/pkg-plist =================================================================== --- databases/couchdb2/pkg-plist (nonexistent) +++ databases/couchdb2/pkg-plist (working copy) @@ -0,0 +1,8 @@ +@dir %%ETCDIR%% +@sample(couchdb,couchdb,660) %%ETCDIR%%/vm.args.sample +@sample(couchdb,couchdb,660) %%ETCDIR%%/local.ini.sample +@dir(couchdb,couchdb,770) /var/db/couchdb2 +@dir(couchdb,couchdb,770) /var/log/couchdb2 +@dir(couchdb,couchdb,770) /var/run/couchdb2 +%%DOCS%%man/man1/apachecouchdb.1.gz +@comment plist for files in /usr/local/libexec/couchdb2/* is built dynamically Property changes on: databases/couchdb2/pkg-plist ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property