Index: head/devel/subversion/Makefile.common =================================================================== --- head/devel/subversion/Makefile.common (revision 390950) +++ head/devel/subversion/Makefile.common (revision 390951) @@ -1,114 +1,114 @@ # Created by: rooneg@electricjellyfish.net # $FreeBSD$ PORTNAME?= subversion PORTVERSION= 1.8.13 -PORTREVISION?= 0 +PORTREVISION?= 1 CATEGORIES+= devel MASTER_SITES= APACHE/subversion DIST_SUBDIR= subversion18 GNU_CONFIGURE= yes USES+= tar:bzip2 pkgconfig libtool cpe LICENSE= APACHE20 CPE_VENDOR= apache CONFLICTS_INSTALL+= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-1.[^8].[0-9]* LIB_DEPENDS+= libapr-1.so:${PORTSDIR}/devel/apr1 \ libsqlite3.so:${PORTSDIR}/databases/sqlite3 \ libexpat.so:${PORTSDIR}/textproc/expat2 CONFIGURE_ARGS+= --without-swig \ --with-sqlite=${LOCALBASE} \ --with-expat=${LOCALBASE}/include:${LOCALBASE}/lib:expat .if defined(SVN_BUILD_ADDONS) CONFLICTS_BUILD+= ${PORTNAME}-1.[^8].[0-9]* LIB_DEPENDS+= libsvn_client-1.so:${PORTSDIR}/devel/subversion OPTIONSFILE= ${PORT_DBDIR}/subversion/options OPTIONS_NAME= devel_subversion .endif # =============================================================== OPTIONS_SUB= yes BDB_CONFIGURE_OFF= --without-berkeley-db BDB_USE= BDB=42+ MAINTAINER_DEBUG_CFLAGS= -g MAINTAINER_DEBUG_CONFIGURE_ON= --enable-maintainer-mode --enable-debug NLS_CONFIGURE_OFF= --disable-nls NLS_USES= gettext SASL_CONFIGURE_OFF= --without-sasl SASL_CONFIGURE_ON= --with-sasl=${LOCALBASE} SASL_LIB_DEPENDS= libsasl2.so:${PORTSDIR}/security/cyrus-sasl2 SERF_CONFIGURE_OFF= --without-serf SERF_CONFIGURE_ON= --with-serf SERF_LIB_DEPENDS= libserf-1.so:${PORTSDIR}/www/serf STATIC_CONFIGURE_ON= --enable-all-static PKG_CONFIG="${LOCALBASE}/bin/pkg-config --static" # =============================================================== .include APR_CONFIG= ${LOCALBASE}/bin/apr-1-config APU_CONFIG= ${LOCALBASE}/bin/apu-1-config CONFIGURE_ARGS+=--with-apr=${APR_CONFIG} --with-apr-util=${APU_CONFIG} .if ${ARCH} == "amd64" || ${ARCH} == "ia64" CFLAGS+= -fpic -DPIC .endif OPTIONS_FILE_UNSET?="" OPTIONS_FILE_SET?="" .if ( ${PORT_OPTIONS:MFREEBSD_TEMPLATE} || !${OPTIONS_FILE_UNSET:MFREEBSD_TEMPLATE} ) && defined(ORGANIZATION) CFLAGS+= -DHAS_ORGANIZATION_NAME .endif .if !${PORT_OPTIONS:MMAINTAINER_DEBUG} && !${OPTIONS_FILE_SET:MMAINTAINER_DEBUG} EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-Makefile.in .endif .include pre-everything:: .if defined(SVN_BUILD_ADDONS) .if ${PORT_OPTIONS:MSTATIC} || ${OPTIONS_FILE_SET:MSTATIC} @${ECHO_MSG} "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" @${ECHO_MSG} "!!! addons (bindings, mod_dav_svn, etc). and static build are not compatible !!!" @${ECHO_MSG} "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" @${FALSE} .endif .endif pre-patch: .if defined(SVN_BUILD_ADDONS) @${CP} ${FILESDIR}/build-outputs.mk.addons ${WRKSRC}/build-outputs.mk .endif post-patch: .if ${PREFIX} != "/usr" @${REINPLACE_CMD} "s#/etc/subversion#${ETCDIR}#g" ${WRKSRC}/subversion/libsvn_subr/config_file.c @${REINPLACE_CMD} "s#/etc/subversion#${ETCDIR}#g" ${WRKSRC}/subversion/libsvn_subr/config_impl.h .endif @${REINPLACE_CMD} "s#^swig_pydir =.*#swig_pydir = ${PYTHON_SITELIBDIR}/libsvn#" ${WRKSRC}/Makefile.in @${REINPLACE_CMD} "s#^swig_pydir_extra =.*#swig_pydir_extra = ${PYTHON_SITELIBDIR}/svn#" ${WRKSRC}/Makefile.in .if ( ${PORT_OPTIONS:MFREEBSD_TEMPLATE} || !${OPTIONS_FILE_UNSET:MFREEBSD_TEMPLATE} ) && defined(ORGANIZATION) @${ECHO_CMD} "#define ORGANIZATION_NAME \"${ORGANIZATION}\"" > ${WRKSRC}/subversion/freebsd-organization.h .endif # shebangfix @${GREP} -Rl -e '#!/bin/b' -e '#!/bin/env' -e '#!/usr/bin/p' ${WRKSRC}/tools/ \ | ${XARGS} ${REINPLACE_CMD} -e '1s|#\!/bin/b|#\!/usr/local/bin/b|' \ -e '1s|#\!/bin/env|#\!/usr/bin/env|' \ -e '1s|#\!/usr/bin/p|#\!/usr/local/bin/p|' # remove all .bak files to clean the stage @${FIND} ${WRKSRC} -name '*.bak' -delete Index: head/devel/subversion/files/extra-patch-fbsd-template =================================================================== --- head/devel/subversion/files/extra-patch-fbsd-template (revision 390950) +++ head/devel/subversion/files/extra-patch-fbsd-template (revision 390951) @@ -1,145 +1,145 @@ ---- subversion/svn/util.c.orig 2014-03-20 14:29:13.887966536 -0400 -+++ subversion/svn/util.c 2014-03-20 14:29:53.806964066 -0400 +--- subversion/svn/util.c.orig 2013-07-10 04:00:05 UTC ++++ subversion/svn/util.c @@ -66,6 +66,9 @@ #include "private/svn_client_private.h" #include "private/svn_cmdline_private.h" #include "private/svn_string_private.h" +#ifdef HAS_ORGANIZATION_NAME +#include "freebsd-organization.h" +#endif -@@ -322,6 +325,70 @@ +@@ -322,6 +325,70 @@ truncate_buffer_at_prefix(apr_size_t *ne } +/* + * Since we're adding freebsd-specific tokens to the log message, + * clean out any leftovers to avoid accidently sending them to other + * projects that won't be expecting them. + */ + +static const char *prefixes[] = { + "PR:", -+ "Differential Revision:", + "Submitted by:", + "Reviewed by:", + "Approved by:", + "Obtained from:", + "MFC after:", + "MFH:", + "Relnotes:", + "Security:", + "Sponsored by:" ++ "Differential Revision:", +}; + +void +cleanmsg(apr_size_t *l, char *s) +{ + int i; + char *pos; + char *kw; + char *p; + int empty; + + for (i = 0; i < sizeof(prefixes) / sizeof(prefixes[0]); i++) { + pos = s; + while ((kw = strstr(pos, prefixes[i])) != NULL) { + /* Check to see if keyword is at start of line (or buffer) */ + if (!(kw == s || kw[-1] == '\r' || kw[-1] == '\n')) { + pos = kw + 1; + continue; + } + p = kw + strlen(prefixes[i]); + empty = 1; + while (1) { + if (*p == ' ' || *p == '\t') { + p++; + continue; + } + if (*p == '\0' || *p == '\r' || *p == '\n') + break; + empty = 0; + break; + } + if (empty && (*p == '\r' || *p == '\n')) { + memmove(kw, p + 1, strlen(p + 1) + 1); + if (l) + *l -= (p + 1 - kw); + } else if (empty) { + *kw = '\0'; + if (l) + *l -= (p - kw); + } else { + pos = p; + } + } + } +} + #define EDITOR_EOF_PREFIX _("--This line, and those below, will be ignored--") svn_error_t * -@@ -337,8 +403,38 @@ +@@ -337,8 +404,38 @@ svn_cl__get_log_message(const char **log /* Set default message. */ default_msg = svn_stringbuf_create(APR_EOL_STR, pool); + svn_stringbuf_appendcstr(default_msg, APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "PR:\t\t" APR_EOL_STR); -+ svn_stringbuf_appendcstr(default_msg, "Differential Revision:\t" APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "Submitted by:\t" APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "Reviewed by:\t" APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "Approved by:\t" APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "Obtained from:\t" APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "MFC after:\t" APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "MFH:\t\t" APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "Relnotes:\t" APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "Security:\t" APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "Sponsored by:\t" +#ifdef HAS_ORGANIZATION_NAME + ORGANIZATION_NAME +#endif + APR_EOL_STR); ++ svn_stringbuf_appendcstr(default_msg, "Differential Revision:\t" APR_EOL_STR); svn_stringbuf_appendcstr(default_msg, EDITOR_EOF_PREFIX); - svn_stringbuf_appendcstr(default_msg, APR_EOL_STR APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> Description of fields to fill in above: 76 columns --|" APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> PR: If a GNATS PR is affected by the change." APR_EOL_STR); -+ svn_stringbuf_appendcstr(default_msg, "> Differential Revision: https://reviews.freebsd.org/D### (*full* phabric URL needed)." APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> Submitted by: If someone else sent in the change." APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> Reviewed by: If someone else reviewed your modification." APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> Approved by: If you needed approval for this commit." APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> Obtained from: If the change is from a third party." APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> MFC after: N [day[s]|week[s]|month[s]]. Request a reminder email." APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> MFH: Ports tree branch name. Request approval for merge." APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> Relnotes: Set to 'yes' for mention in release notes." APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> Security: Vulnerability reference (one per line) or description." APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> Sponsored by: If the change was sponsored by an organization." APR_EOL_STR); ++ svn_stringbuf_appendcstr(default_msg, "> Differential Revision: https://reviews.freebsd.org/D### (*full* phabric URL needed)." APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> Empty fields above will be automatically removed." APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, APR_EOL_STR); *tmp_file = NULL; if (lmb->message) -@@ -350,6 +444,7 @@ +@@ -350,6 +447,7 @@ svn_cl__get_log_message(const char **log that follows it. */ truncate_buffer_at_prefix(&(log_msg_buf->len), log_msg_buf->data, EDITOR_EOF_PREFIX); + cleanmsg(NULL, (char*)log_msg_buf->data); /* Make a string from a stringbuf, sharing the data allocation. */ log_msg_str->data = log_msg_buf->data; -@@ -470,6 +565,13 @@ +@@ -470,6 +568,13 @@ svn_cl__get_log_message(const char **log if (message) truncate_buffer_at_prefix(&message->len, message->data, EDITOR_EOF_PREFIX); + /* + * Since we're adding freebsd-specific tokens to the log message, + * clean out any leftovers to avoid accidently sending them to other + * projects that won't be expecting them. + */ + if (message) + cleanmsg(&message->len, message->data); if (message) {