databases/couchdb: 1.7.0 incl critical security fixes

See https://blog.couchdb.org/2017/11/07/2-1-1-1-7-0/
for details; CVE notifications will land 2017-11-14

Reviewed by:	olgeni (maintainer)
Approved by:	jrm (mentor)
Sponsored by:	https://iwantmyname.com/
Differential Revision:	https://reviews.freebsd.org/D12991
This commit is contained in:
Dave Cottlehuber 2017-11-08 10:48:36 +00:00
parent 59c7249a69
commit 18b53496c2
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=453729
7 changed files with 33 additions and 174 deletions

View File

@ -2,17 +2,17 @@
# $FreeBSD$
PORTNAME= couchdb
PORTVERSION= 1.6.1
PORTREVISION= 12
DISTVERSION= 1.7.0
PORTEPOCH= 2
CATEGORIES= databases
MASTER_SITES= APACHE/couchdb/source/${PORTVERSION}
DISTNAME= apache-couchdb-${PORTVERSION}
MASTER_SITES= APACHE/couchdb/source/${DISTVERSION}
DISTNAME= apache-couchdb-${DISTVERSION}
MAINTAINER= olgeni@FreeBSD.org
COMMENT= Document database server, accessible via a RESTful JSON API
LICENSE= APACHE20
LICENSE= APACHE20 BSD3CLAUSE ISCL WTFPL OFL11
LICENSE_COMB= multi
LIB_DEPENDS= libicudata.so:devel/icu \
libmozjs185.so:lang/spidermonkey185 \
@ -21,13 +21,10 @@ BUILD_DEPENDS= ${LOCALBASE}/bin/help2man:misc/help2man \
erlang>=15.b.01,2:lang/erlang
RUN_DEPENDS= erlang>=15.b.01,2:lang/erlang
USERS= couchdb
GROUPS= couchdb
USES= cpe gmake libtool
USE_RC_SUBR= couchdb
SUB_FILES= pkg-message
PLIST_SUB= VERSION=${PORTVERSION}
USES= cpe gmake libtool
PLIST_SUB= VERSION=${DISTVERSION}
CPE_VENDOR= apache
GNU_CONFIGURE= yes
USE_LDCONFIG= yes
@ -37,6 +34,9 @@ CONFIGURE_ARGS= --with-erlang=${LOCALBASE}/lib/erlang/usr/include \
--with-js-include=${LOCALBASE}/include/js \
--with-js-lib=${LOCALBASE}/lib
USERS= couchdb
GROUPS= couchdb
# Override default value of ${STRIP} because the underlying Makefile
# erroneously tries to install a shell script with ${STRIP}, causing
# an install error.
@ -46,23 +46,6 @@ INFO= CouchDB
.include <bsd.port.options.mk>
# This stanza could be removed around version 1.7
pre-everything::
@if [ -f ${PREFIX}/etc/couchdb/local.ini -a \
! -f ${PREFIX}/etc/couchdb/local.ini.sample ] && \
${PKG_INFO} -qX '${PKGBASE}-[01].[^2-6][0-9]*(\.[0-9a-z]*)*(,1)?'; \
then ${ECHO_MSG} Please see UPDATING note 20120702 to avoid loss of your local.ini ; \
exit 2 ; \
fi
pre-fetch:
@${ECHO_MSG} ""
@${ECHO_MSG} "If you are upgrading CouchDB, please double-check that the datafile is"
@${ECHO_MSG} "compatible and that you have BACKED UP YOUR DB directory before proceeding!"
@${ECHO_MSG} ""
@${ECHO_MSG} "Upgrading also might require you to rebuild your views entirely."
@${ECHO_MSG} ""
post-patch:
# DB files are stored by default in /var/db/couchdb
# Ports framework expects info pages to have an info extension
@ -77,9 +60,11 @@ post-patch-DOCS-off:
post-configure:
# Cater for parallel Spidermonkey v1.7 and v1.8.5 installs by ensuring that
# jsapi.h gets pulled from /usr/local/include/js/ instead of /usr/local/include
@${FIND} ${WRKSRC} -name Makefile|${XARGS} ${REINPLACE_CMD} -e 's|include -I/usr/local/include/js|include/js -I/usr/local/include|'
@${FIND} ${WRKSRC} -name Makefile|${XARGS} ${REINPLACE_CMD} \
-e 's|include -I/usr/local/include/js|include/js -I/usr/local/include|'
post-install:
@${CP} -p ${WRKSRC}/etc/couchdb/local.ini ${STAGEDIR}${PREFIX}/etc/couchdb/local.ini.sample
@${MV} ${STAGEDIR}${PREFIX}/lib/couchdb/bin/couchjs ${STAGEDIR}${PREFIX}/bin/couchjs
@${RMDIR} ${STAGEDIR}${PREFIX}/lib/couchdb/bin
@${MV} ${WRKSRC}/etc/couchdb/local.ini ${STAGEDIR}${PREFIX}/etc/couchdb/local.ini.sample
.include <bsd.port.mk>

View File

@ -1,2 +1,3 @@
SHA256 (apache-couchdb-1.6.1.tar.gz) = 5a601b173733ce3ed31b654805c793aa907131cd70b06d03825f169aa48c8627
SIZE (apache-couchdb-1.6.1.tar.gz) = 12085350
TIMESTAMP = 1509799562
SHA256 (apache-couchdb-1.7.0.tar.gz) = 9b492e7e5389477107100ef83c41cc32185e2fe9cc88c19c550ed4b2192890dd
SIZE (apache-couchdb-1.7.0.tar.gz) = 9963874

View File

@ -1,38 +0,0 @@
--- configure.orig 2015-06-26 09:25:19 UTC
+++ configure
@@ -18532,7 +18532,7 @@ esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Erlang version compatibility" >&5
$as_echo_n "checking Erlang version compatibility... " >&6; }
-erlang_version_error="The installed Erlang version must be >= R14B (erts-5.8.1) and =< 17 (erts-6.0)"
+erlang_version_error="The installed Erlang version must be >= R14B (erts-5.8.1) and =< 20 (erts-9.0)"
version="`${ERL} -version 2>&1 | ${SED} 's/[^0-9]/ /g'` 0 0 0"
major_version=`echo $version | ${AWK} "{print \\$1}"`
@@ -18540,7 +18540,7 @@ minor_version=`echo $version | ${AWK} "{
patch_version=`echo $version | ${AWK} "{print \\$3}"`
echo -n "detected Erlang version: $major_version.$minor_version.$patch_version..."
-if test $major_version -lt 5 -o $major_version -gt 6; then
+if test $major_version -lt 5 -o $major_version -gt 9; then
as_fn_error $? "$erlang_version_error major_version does not match" "$LINENO" 5
fi
@@ -18559,7 +18559,7 @@ otp_release="`\
- if can_use_nifs=$(echo $otp_release | grep -E "^(R14B|R15|R16|17)"); then
+ if can_use_nifs=$(echo $otp_release | grep -E "^(R14B|R15|R16|17|18|19|20)"); then
USE_OTP_NIFS_TRUE=
USE_OTP_NIFS_FALSE='#'
else
@@ -18567,7 +18567,7 @@ else
USE_OTP_NIFS_FALSE=
fi
- if can_use_ejson=$(echo $otp_release | grep -E "^(R14B03|R15|R16|17)"); then
+ if can_use_ejson=$(echo $otp_release | grep -E "^(R14B03|R15|R16|17|18|19|20)"); then
USE_EJSON_COMPARE_NIF_TRUE=
USE_EJSON_COMPARE_NIF_FALSE='#'
else

View File

@ -1,30 +1,4 @@
===> COMPATIBILITY NOTE:
1.2.0 removed support for the old 0.9 database format.
More info:
* http://wiki.apache.org/couchdb/Breaking_changes?action=show&redirect=BreakingChanges
===> CONFIGURATION NOTES:
PERFORMANCE
For best response (minimal delay) most sites will wish to uncomment this line
from %%PREFIX%%/etc/couchdb/local.ini:
socket_options = [{recbuf, 262144}, {sndbuf, 262144}, {nodelay, true}]
Otherwise you'll see a large delay when establishing connections to the DB.
ADMIN ACCOUNT
By default no admin password or account is configured which leaves the DB
server open. Add accounts to the bottom of %%PREFIX%%/etc/couchdb/local.ini
to secure your installation (by default CouchDB listens on localhost only).
DATABASE LOCATION
The DB files themselves are now stored in /var/db/couchdb by default.
Previous versions of this port defaulted to /var/lib/couchdb, and if
you installed directly from source /usr/local/lib/couchdb.
If you are upgrading you may need to move your DB files to /var/db/couchdb
if you are not specifying database_dir and view_index_dir locations
in local.ini.
ADMIN ACCOUNT
By default no admin password or account is configured which leaves the DB
server open. Add accounts to the bottom of %%PREFIX%%/etc/couchdb/local.ini
to secure your installation (by default CouchDB listens on localhost only).

View File

@ -1,15 +0,0 @@
#!/bin/sh
RMDIR=/bin/rmdir
COUCH_DBDIR=/var/db/couchdb
COUCH_LOGDIR=/var/log/couchdb
COUCH_RUNDIR=/var/run/couchdb
if [ "$2" = "POST-DEINSTALL" ]; then
for i in ${COUCH_RUNDIR} ${COUCH_DBDIR} ${COUCH_LOGDIR}; do
${RMDIR} ${i} 2>/dev/null
done
fi
exit 0

View File

@ -1,20 +0,0 @@
#!/bin/sh
COUCH_USER=couchdb
COUCH_GROUP=couchdb
CHOWN=/usr/sbin/chown
MKDIR="/bin/mkdir -p"
COUCH_DBDIR=/var/db/couchdb
COUCH_LOGDIR=/var/log/couchdb
COUCH_RUNDIR=/var/run/couchdb
if [ "$2" = "POST-INSTALL" ]; then
${MKDIR} ${COUCH_DBDIR} ${COUCH_LOGDIR} ${COUCH_RUNDIR}
${CHOWN} ${COUCH_USER}:${COUCH_GROUP} ${COUCH_DBDIR}
${CHOWN} ${COUCH_USER}:${COUCH_GROUP} ${COUCH_LOGDIR}
${CHOWN} ${COUCH_USER}:${COUCH_GROUP} ${COUCH_RUNDIR}
fi
exit 0

View File

@ -2,9 +2,13 @@ bin/couch-config
bin/couchdb
bin/couchjs
%%ETCDIR%%/default.ini
@dir(couchdb,couchdb,0750) %%ETCDIR%%/default.d
@dir(couchdb,couchdb,0750) %%ETCDIR%%/local.d
@dir(couchdb,couchdb,0750) /var/db/couchdb
@dir(couchdb,couchdb,0750) /var/log/couchdb
@dir(couchdb,couchdb,0750) /var/run/couchdb
@sample(couchdb,couchdb,600) %%ETCDIR%%/local.ini.sample
etc/logrotate.d/couchdb
lib/couchdb/bin/couchjs
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch.app
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_app.beam
@ -45,6 +49,7 @@ lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_os_process.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_passwords.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_primary_sup.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_query_servers.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_rand.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_ref_counter.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_secondary_sup.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_server.beam
@ -106,7 +111,6 @@ lib/couchdb/erlang/lib/ejson-0.1.0/ebin/mochinum.beam
lib/couchdb/erlang/lib/ejson-0.1.0/priv/ejson.so
lib/couchdb/erlang/lib/erlang-oauth/ebin/oauth.app
lib/couchdb/erlang/lib/erlang-oauth/ebin/oauth.beam
lib/couchdb/erlang/lib/etap/ebin/etap.beam
lib/couchdb/erlang/lib/ibrowse-2.2.0/ebin/ibrowse.app
lib/couchdb/erlang/lib/ibrowse-2.2.0/ebin/ibrowse.beam
lib/couchdb/erlang/lib/ibrowse-2.2.0/ebin/ibrowse_app.beam
@ -165,6 +169,7 @@ man/man1/couchjs.1.gz
%%DATADIR%%/www/dialog/_admin_party.html
%%DATADIR%%/www/dialog/_change_password.html
%%DATADIR%%/www/dialog/_compact_cleanup.html
%%DATADIR%%/www/dialog/_copy_document.html
%%DATADIR%%/www/dialog/_create_admin.html
%%DATADIR%%/www/dialog/_create_config.html
%%DATADIR%%/www/dialog/_create_database.html
@ -189,7 +194,6 @@ man/man1/couchjs.1.gz
%%DATADIR%%/www/docs/_images/intro-consistency-06.png
%%DATADIR%%/www/docs/_images/intro-consistency-07.png
%%DATADIR%%/www/docs/_images/intro-tour-01.png
%%DATADIR%%/www/docs/_images/intro-tour-02.png
%%DATADIR%%/www/docs/_images/intro-tour-03.png
%%DATADIR%%/www/docs/_images/intro-tour-04.png
%%DATADIR%%/www/docs/_images/intro-tour-05.png
@ -262,9 +266,6 @@ man/man1/couchjs.1.gz
%%DATADIR%%/www/docs/_sources/cve/index.txt
%%DATADIR%%/www/docs/_sources/experimental.txt
%%DATADIR%%/www/docs/_sources/externals.txt
%%DATADIR%%/www/docs/_sources/fauxton/addons.txt
%%DATADIR%%/www/docs/_sources/fauxton/index.txt
%%DATADIR%%/www/docs/_sources/fauxton/install.txt
%%DATADIR%%/www/docs/_sources/install/freebsd.txt
%%DATADIR%%/www/docs/_sources/install/index.txt
%%DATADIR%%/www/docs/_sources/install/mac.txt
@ -303,6 +304,7 @@ man/man1/couchjs.1.gz
%%DATADIR%%/www/docs/_sources/whatsnew/1.4.txt
%%DATADIR%%/www/docs/_sources/whatsnew/1.5.txt
%%DATADIR%%/www/docs/_sources/whatsnew/1.6.txt
%%DATADIR%%/www/docs/_sources/whatsnew/1.7.txt
%%DATADIR%%/www/docs/_sources/whatsnew/index.txt
%%DATADIR%%/www/docs/_static/ajax-loader.gif
%%DATADIR%%/www/docs/_static/basic.css
@ -386,9 +388,6 @@ man/man1/couchjs.1.gz
%%DATADIR%%/www/docs/download.html
%%DATADIR%%/www/docs/experimental.html
%%DATADIR%%/www/docs/externals.html
%%DATADIR%%/www/docs/fauxton/addons.html
%%DATADIR%%/www/docs/fauxton/index.html
%%DATADIR%%/www/docs/fauxton/install.html
%%DATADIR%%/www/docs/http-api.html
%%DATADIR%%/www/docs/index.html
%%DATADIR%%/www/docs/install/freebsd.html
@ -432,38 +431,16 @@ man/man1/couchjs.1.gz
%%DATADIR%%/www/docs/whatsnew/1.4.html
%%DATADIR%%/www/docs/whatsnew/1.5.html
%%DATADIR%%/www/docs/whatsnew/1.6.html
%%DATADIR%%/www/docs/whatsnew/1.7.html
%%DATADIR%%/www/docs/whatsnew/index.html
%%DATADIR%%/www/document.html
%%DATADIR%%/www/fauxton/css/index.css
%%DATADIR%%/www/fauxton/img/FontAwesome.otf
%%DATADIR%%/www/fauxton/img/couchdb-site.png
%%DATADIR%%/www/fauxton/img/couchdblogo.png
%%DATADIR%%/www/fauxton/img/fontawesome-webfont.eot
%%DATADIR%%/www/fauxton/img/fontawesome-webfont.svg
%%DATADIR%%/www/fauxton/img/fontawesome-webfont.ttf
%%DATADIR%%/www/fauxton/img/fontawesome-webfont.woff
%%DATADIR%%/www/fauxton/img/fontcustom_fauxton.eot
%%DATADIR%%/www/fauxton/img/fontcustom_fauxton.svg
%%DATADIR%%/www/fauxton/img/fontcustom_fauxton.ttf
%%DATADIR%%/www/fauxton/img/fontcustom_fauxton.woff
%%DATADIR%%/www/fauxton/img/glyphicons-halflings-white.png
%%DATADIR%%/www/fauxton/img/glyphicons-halflings.png
%%DATADIR%%/www/fauxton/img/linen.png
%%DATADIR%%/www/fauxton/img/loader.gif
%%DATADIR%%/www/fauxton/img/minilogo.png
%%DATADIR%%/www/fauxton/index.html
%%DATADIR%%/www/fauxton/js/ace/mode-javascript.js
%%DATADIR%%/www/fauxton/js/ace/mode-json.js
%%DATADIR%%/www/fauxton/js/ace/theme-crimson_editor.js
%%DATADIR%%/www/fauxton/js/ace/worker-javascript.js
%%DATADIR%%/www/fauxton/js/ace/worker-json.js
%%DATADIR%%/www/fauxton/js/require.js
%%DATADIR%%/www/favicon.ico
%%DATADIR%%/www/image/add.png
%%DATADIR%%/www/image/apply.gif
%%DATADIR%%/www/image/bg.png
%%DATADIR%%/www/image/cancel.gif
%%DATADIR%%/www/image/compact.png
%%DATADIR%%/www/image/copy.png
%%DATADIR%%/www/image/delete-mini.png
%%DATADIR%%/www/image/delete.png
%%DATADIR%%/www/image/grippie.gif
@ -501,7 +478,7 @@ man/man1/couchjs.1.gz
%%DATADIR%%/www/script/futon.browse.js
%%DATADIR%%/www/script/futon.format.js
%%DATADIR%%/www/script/futon.js
%%DATADIR%%/www/script/jquery-ui-1.8.11.custom.min.js
%%DATADIR%%/www/script/jquery-ui-1.10.4.custom.min.js
%%DATADIR%%/www/script/jquery.couch.js
%%DATADIR%%/www/script/jquery.dialog.js
%%DATADIR%%/www/script/jquery.editinline.js
@ -632,8 +609,3 @@ man/man1/couchjs.1.gz
%%PORTDOCS%%%%DOCSDIR%%/NOTICE.gz
%%PORTDOCS%%%%DOCSDIR%%/README.gz
%%PORTDOCS%%%%DOCSDIR%%/THANKS.gz
@dir(couchdb,couchdb,750) %%ETCDIR%%/default.d
@dir(couchdb,couchdb,750) %%ETCDIR%%/local.d
@dir(couchdb,couchdb,750) /var/db/couchdb
@dir(couchdb,couchdb,750) /var/log/couchdb
@dir(couchdb,couchdb,750) /var/run/couchdb