Index: branches/2018Q4/devel/p4/Makefile =================================================================== --- branches/2018Q4/devel/p4/Makefile (revision 485230) +++ branches/2018Q4/devel/p4/Makefile (revision 485231) @@ -1,52 +1,52 @@ # Created by: gordon@FreeBSD.org # $FreeBSD$ PORTNAME= p4 PORTVERSION= ${YEAR}.${MAJOR}.${MINOR} -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= devel # Perforce stupidly rerolls their distfiles on a regular basis, updating the # files' timestamps when they do, which changes the zip file's checksum. Work # around that by cacheing the distfile in LOCAL and using that version to make # distinfo MASTER_SITES= LOCAL/asomers/perforce/p4 \ https://swarm.workshop.perforce.com/projects/perforce_software-p4/archives/ DISTNAME= ${YEAR}-${MAJOR} DISTFILES= ${ZIP_FILES} DIST_SUBDIR= perforce/p4 MAINTAINER= asomers@FreeBSD.org COMMENT= Perforce client LICENSE= BSD2CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE BROKEN_mips64= fails to install: /wrkdirs/usr/ports/devel/p4/work/2016-1/p4-bin/p4: No such file or directory BROKEN_powerpc64= fails to build: /bin/sh: clang++: not found BUILD_DEPENDS= ${JAM}:devel/jam # p4 links libssl and libcrypto statically, so specify :build USES= ssl:build PLIST_FILES= bin/p4 .include .include "Makefile.inc" # Sadly, Jam always returns 1 even on success. Ignore its return value and # detect build errors during the install phase. do-build: cd ${WRKSRC} && ${SETENV} C++="${CXX}" C++FLAGS="${CXXFLAGS}" \ CCFLAGS="${CFLAGS}" \ LINKFLAGS="${LDFLAGS}" \ OSVER=${OSVER} \ SSL="yes" \ SSLPREFIX=${OPENSSLLIB} \ ${JAM} -dx -j${MAKE_JOBS_NUMBER} || true do-install: ${INSTALL_PROGRAM} ${WRKSRC}/p4-bin/p4 ${STAGEDIR}${PREFIX}/bin .include Index: branches/2018Q4/devel/p4/files/patch-net_netsslcredentials.cc =================================================================== --- branches/2018Q4/devel/p4/files/patch-net_netsslcredentials.cc (nonexistent) +++ branches/2018Q4/devel/p4/files/patch-net_netsslcredentials.cc (revision 485231) @@ -0,0 +1,23 @@ +--- net/netsslcredentials.cc.orig 2018-02-05 20:46:46.000000000 +0000 ++++ net/netsslcredentials.cc 2018-11-08 16:32:39.241553000 +0000 +@@ -42,6 +42,7 @@ extern "C" + # include + # include + # include ++# include + } + # include + # include "netdebug.h" +@@ -218,7 +219,11 @@ NetSslCredentials::ReadCredentials( Error *e ) + privateKey = PEM_read_PrivateKey(fp, NULL, 0, NULL ); + SSLNULLHANDLER( privateKey, e, "NetSslCredentials::ReadCredentials PEM_read_PrivateKey", failSetError ); + // verify that RSA key ++#if OPENSSL_VERSION_NUMBER < 0x10100000L + if (privateKey->type != EVP_PKEY_RSA) ++#else ++ if (EVP_PKEY_base_id(privateKey) != EVP_PKEY_RSA) ++#endif + { + e->Set( MsgRpc::SslKeyNotRSA ); + goto fail; + Property changes on: branches/2018Q4/devel/p4/files/patch-net_netsslcredentials.cc ___________________________________________________________________ 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: branches/2018Q4/devel/subversion/files/extra-patch-fbsd-template =================================================================== --- branches/2018Q4/devel/subversion/files/extra-patch-fbsd-template (revision 485230) +++ branches/2018Q4/devel/subversion/files/extra-patch-fbsd-template (revision 485231) @@ -1,164 +1,167 @@ ---- subversion/svn/util.c.orig 2015-02-28 13:37:27.000000000 +0300 -+++ subversion/svn/util.c 2016-03-19 16:53:13.016472654 +0300 +--- subversion/svn/util.c.orig 2015-02-28 10:37:27 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 -@@ -331,6 +334,71 @@ +@@ -331,6 +334,72 @@ truncate_buffer_at_prefix(apr_size_t *new_len, } +/* + * 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:", + "Submitted by:", + "Reported by:", + "Reviewed by:", + "Approved by:", + "Obtained from:", + "MFC after:", + "MFH:", + "Relnotes:", + "Security:", + "Sponsored by:", ++ "Pull Request:", + "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 * -@@ -343,11 +411,56 @@ +@@ -343,11 +412,58 @@ svn_cl__get_log_message(const char **log_msg, svn_stringbuf_t *default_msg = NULL; struct log_msg_baton *lmb = baton; svn_stringbuf_t *message = NULL; + svn_config_t *cfg; + const char *mfc_after, *sponsored_by; -+ -+ cfg = lmb->config ? svn_hash_gets(lmb->config, SVN_CONFIG_CATEGORY_CONFIG) : NULL; ++ cfg = lmb->config ? svn_hash_gets(lmb->config, SVN_CONFIG_CATEGORY_CONFIG) : NULL; ++ /* 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, "Submitted by:\t" APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "Reported 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"); + svn_config_get(cfg, &mfc_after, SVN_CONFIG_SECTION_MISCELLANY, "freebsd-mfc-after", NULL); + if (mfc_after != NULL) + svn_stringbuf_appendcstr(default_msg, mfc_after); + svn_stringbuf_appendcstr(default_msg, 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"); + svn_config_get(cfg, &sponsored_by, SVN_CONFIG_SECTION_MISCELLANY, "freebsd-sponsored-by", +#ifdef HAS_ORGANIZATION_NAME + ORGANIZATION_NAME); +#else + NULL); +#endif + if (sponsored_by != NULL) + svn_stringbuf_appendcstr(default_msg, sponsored_by); + svn_stringbuf_appendcstr(default_msg, APR_EOL_STR); ++ svn_stringbuf_appendcstr(default_msg, "Pull Request:\t" 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 and which Problem Report is related." 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, "> Reported by: If someone else reported the issue." 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, "> Pull Request: https://github.com/freebsd/freebsd/pull/### (*full* GitHub URL needed)." 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) -@@ -362,6 +475,7 @@ +@@ -362,6 +478,7 @@ svn_cl__get_log_message(const char **log_msg, /* Strip off the EOF marker text and the junk that follows it. */ truncate_buffer_at_prefix(&(log_msg_str->len), (char *)log_msg_str->data, EDITOR_EOF_PREFIX); + cleanmsg(NULL, (char*)log_msg_str->data); *log_msg = log_msg_str->data; return SVN_NO_ERROR; -@@ -472,6 +586,13 @@ +@@ -472,6 +589,13 @@ svn_cl__get_log_message(const char **log_msg, 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) { Index: branches/2018Q4 =================================================================== --- branches/2018Q4 (revision 485230) +++ branches/2018Q4 (revision 485231) Property changes on: branches/2018Q4 ___________________________________________________________________ Modified: svn:mergeinfo ## -0,0 +0,1 ## Merged /head:r484879