aboutsummaryrefslogtreecommitdiff
path: root/devel/subversion
diff options
context:
space:
mode:
authorLev A. Serebryakov <lev@FreeBSD.org>2013-07-24 17:18:50 +0000
committerLev A. Serebryakov <lev@FreeBSD.org>2013-07-24 17:18:50 +0000
commitc24d6a1a61bc43b7f8c5afd37dfb9c2fadffbf4e (patch)
tree6b43a42cf6eeaa4e66bf99a6a975279b69459fa3 /devel/subversion
parent721986acee2d17f9180bb417bbb447aef7ffcdec (diff)
downloadports-c24d6a1a61bc43b7f8c5afd37dfb9c2fadffbf4e.tar.gz
ports-c24d6a1a61bc43b7f8c5afd37dfb9c2fadffbf4e.zip
Notes
Diffstat (limited to 'devel/subversion')
-rw-r--r--devel/subversion/Makefile12
-rw-r--r--devel/subversion/Makefile.common4
-rw-r--r--devel/subversion/distinfo4
-rw-r--r--devel/subversion/files/patch-fix438377
-rw-r--r--devel/subversion/files/patch-subversion--libsvn_subr--gpg_agent.c145
5 files changed, 16 insertions, 226 deletions
diff --git a/devel/subversion/Makefile b/devel/subversion/Makefile
index 9895c19f25e5..97c30770babf 100644
--- a/devel/subversion/Makefile
+++ b/devel/subversion/Makefile
@@ -119,6 +119,14 @@ BUILD_DEPENDS+= ${OLD_LIB_DEPENDS}
LIB_DEPENDS=
.endif
+TOOLS_STATIC_BINARIES= client-side/svn-bench/svn-bench server-side/svnauthz \
+ server-side/fsfs-stats \
+ server-side/svn-populate-node-origins-index \
+ server-side/svnauthz-validate \
+ server-side/svn-rep-sharing-stats dev/fsfs-reorg \
+ dev/svnraisetreeconflict/svnraisetreeconflict \
+ dev/fsfs-access-map diff/diff3 diff/diff diff/diff4
+
pre-everything::
@${ECHO_MSG} ""
.if ${PORT_OPTIONS:MBDB}
@@ -256,6 +264,10 @@ post-install: ${MKREPOS_TARGET}
.endif
.endif
@${MKDIR} ${DATADIR}
+.if ${PORT_OPTIONS:MSTATIC}
+ cd ${WRKSRC}/tools ; \
+ ${RM} ${TOOLS_STATIC_BINARIES}
+.endif
cd ${WRKSRC}/tools ; \
${TAR} --exclude '*.in' --exclude '.libs' --exclude '*.o' --exclude '*.lo' --exclude '*.la' --exclude='*.slo' -cf - * | ${TAR} -C ${DATADIR} -xf -
# ugly hack to remove libtool scripts ...
diff --git a/devel/subversion/Makefile.common b/devel/subversion/Makefile.common
index 602b35f4d519..3feae0902c97 100644
--- a/devel/subversion/Makefile.common
+++ b/devel/subversion/Makefile.common
@@ -2,8 +2,8 @@
# $FreeBSD$
PORTNAME= subversion
-PORTVERSION= 1.8.0
-PORTREVISION?= 3
+PORTVERSION= 1.8.1
+PORTREVISION?= 0
CATEGORIES+= devel
MASTER_SITES= ${MASTER_SITE_APACHE:S/$/:main/} \
${MASTER_SITE_LOCAL:S/$/:book/}
diff --git a/devel/subversion/distinfo b/devel/subversion/distinfo
index a0e51c4024d3..66b25ab72465 100644
--- a/devel/subversion/distinfo
+++ b/devel/subversion/distinfo
@@ -1,5 +1,5 @@
-SHA256 (subversion18/subversion-1.8.0.tar.bz2) = a470803293a8aced445cff0f7b24b95ad276600af55d4b24b1e196fd2de87f10
-SIZE (subversion18/subversion-1.8.0.tar.bz2) = 6711904
+SHA256 (subversion18/subversion-1.8.1.tar.bz2) = faaaaedba25777331e761884598af1dd9fe33631d6415b2e0ba5348867c4edb4
+SIZE (subversion18/subversion-1.8.1.tar.bz2) = 6770843
SHA256 (subversion18/svn-book-html-r4515.tar.bz2) = 666cef147abc9b917a6bb6527da4f4869221d793126289c715f002bfb2baa508
SIZE (subversion18/svn-book-html-r4515.tar.bz2) = 473182
SHA256 (subversion18/svn-book-r4515.pdf) = 962d524ae2c861ec48a45723c484f4f5e1826ee2f9ccfe58b07b96af67b0bf5e
diff --git a/devel/subversion/files/patch-fix4383 b/devel/subversion/files/patch-fix4383
deleted file mode 100644
index 94ea0914a3b8..000000000000
--- a/devel/subversion/files/patch-fix4383
+++ /dev/null
@@ -1,77 +0,0 @@
-Index: subversion/libsvn_wc/wc_db_wcroot.c
-===================================================================
---- subversion/libsvn_wc/wc_db_wcroot.c (revision 1496006)
-+++ subversion/libsvn_wc/wc_db_wcroot.c (revision 1496007)
-@@ -434,6 +434,8 @@
- svn_boolean_t always_check = FALSE;
- int wc_format = 0;
- const char *adm_relpath;
-+ /* Non-NULL if WCROOT is found through a symlink: */
-+ const char *symlink_wcroot_abspath = NULL;
-
- /* ### we need more logic for finding the database (if it is located
- ### outside of the wcroot) and then managing all of that within DB.
-@@ -611,6 +613,7 @@
- if (found_wcroot)
- break;
-
-+ symlink_wcroot_abspath = local_abspath;
- SVN_ERR(read_link_target(&local_abspath, local_abspath,
- scratch_pool));
- try_symlink_as_dir:
-@@ -632,6 +635,7 @@
- local_abspath = svn_dirent_dirname(local_abspath, scratch_pool);
-
- moved_upwards = TRUE;
-+ symlink_wcroot_abspath = NULL;
-
- /* Is the parent directory recorded in our hash? */
- found_wcroot = svn_hash_gets(db->dir_data, local_abspath);
-@@ -669,7 +673,10 @@
- (ie. where we found it). */
-
- err = svn_wc__db_pdh_create_wcroot(wcroot,
-- apr_pstrdup(db->state_pool, local_abspath),
-+ apr_pstrdup(db->state_pool,
-+ symlink_wcroot_abspath
-+ ? symlink_wcroot_abspath
-+ : local_abspath),
- sdb, wc_id, FORMAT_FROM_SDB,
- db->verify_format, db->enforce_empty_wq,
- db->state_pool, scratch_pool);
-@@ -737,7 +744,10 @@
- }
-
- SVN_ERR(svn_wc__db_pdh_create_wcroot(wcroot,
-- apr_pstrdup(db->state_pool, local_abspath),
-+ apr_pstrdup(db->state_pool,
-+ symlink_wcroot_abspath
-+ ? symlink_wcroot_abspath
-+ : local_abspath),
- NULL, UNKNOWN_WC_ID, wc_format,
- db->verify_format, db->enforce_empty_wq,
- db->state_pool, scratch_pool));
-@@ -809,6 +819,7 @@
- scratch_pool));
- if (resolved_kind == svn_node_dir)
- {
-+ symlink_wcroot_abspath = original_abspath;
- SVN_ERR(read_link_target(&local_abspath, original_abspath,
- scratch_pool));
- /* This handle was opened in this function but is not going
-@@ -826,6 +837,15 @@
- apr_pstrdup(db->state_pool, local_dir_abspath),
- *wcroot);
-
-+ /* If the WCROOT was found through a symlink pointing at the root of
-+ * the WC, its cache entry is now keyed on the link's target path.
-+ * Cache the WCROOT under the symlink's path as well. Otherwise, future
-+ * wcroot queries for the symlink path would construct a fresh wcroot. */
-+ if (symlink_wcroot_abspath)
-+ svn_hash_sets(db->dir_data,
-+ apr_pstrdup(db->state_pool, symlink_wcroot_abspath),
-+ *wcroot);
-+
- /* Did we traverse up to parent directories? */
- if (!moved_upwards)
- {
diff --git a/devel/subversion/files/patch-subversion--libsvn_subr--gpg_agent.c b/devel/subversion/files/patch-subversion--libsvn_subr--gpg_agent.c
deleted file mode 100644
index a14a96d46b9c..000000000000
--- a/devel/subversion/files/patch-subversion--libsvn_subr--gpg_agent.c
+++ /dev/null
@@ -1,145 +0,0 @@
---- subversion/libsvn_subr/gpg_agent.c 2013/07/08 14:27:14 1500761
-+++ subversion/libsvn_subr/gpg_agent.c 2013/07/08 14:29:04 1500762
-@@ -156,42 +156,28 @@
- return (strncmp(buf, "OK", 2) == 0);
- }
-
--/* Implementation of svn_auth__password_get_t that retrieves the password
-- from gpg-agent */
-+
-+/* Locate a running GPG Agent, and return an open file descriptor
-+ * for communication with the agent in *NEW_SD. If no running agent
-+ * can be found, set *NEW_SD to -1. */
- static svn_error_t *
--password_get_gpg_agent(svn_boolean_t *done,
-- const char **password,
-- apr_hash_t *creds,
-- const char *realmstring,
-- const char *username,
-- apr_hash_t *parameters,
-- svn_boolean_t non_interactive,
-- apr_pool_t *pool)
-+find_running_gpg_agent(int *new_sd, apr_pool_t *pool)
- {
-- int sd;
-+ char *buffer;
- char *gpg_agent_info = NULL;
-+ const char *socket_name = NULL;
-+ const char *request = NULL;
- const char *p = NULL;
- char *ep = NULL;
-- char *buffer;
--
-- apr_array_header_t *socket_details;
-- const char *request = NULL;
-- const char *cache_id = NULL;
-- struct sockaddr_un addr;
-- const char *tty_name;
-- const char *tty_type;
-- const char *lc_ctype;
-- const char *display;
-- const char *socket_name = NULL;
-- svn_checksum_t *digest = NULL;
-- char *password_prompt;
-- char *realm_prompt;
-+ int sd;
-
-- *done = FALSE;
-+ *new_sd = -1;
-
- gpg_agent_info = getenv("GPG_AGENT_INFO");
- if (gpg_agent_info != NULL)
- {
-+ apr_array_header_t *socket_details;
-+
- socket_details = svn_cstring_split(gpg_agent_info, ":", TRUE,
- pool);
- socket_name = APR_ARRAY_IDX(socket_details, 0, const char *);
-@@ -201,6 +187,8 @@
-
- if (socket_name != NULL)
- {
-+ struct sockaddr_un addr;
-+
- addr.sun_family = AF_UNIX;
- strncpy(addr.sun_path, socket_name, sizeof(addr.sun_path) - 1);
- addr.sun_path[sizeof(addr.sun_path) - 1] = '\0';
-@@ -273,6 +261,44 @@
- return SVN_NO_ERROR;
- }
-
-+ *new_sd = sd;
-+ return SVN_NO_ERROR;
-+}
-+
-+/* Implementation of svn_auth__password_get_t that retrieves the password
-+ from gpg-agent */
-+static svn_error_t *
-+password_get_gpg_agent(svn_boolean_t *done,
-+ const char **password,
-+ apr_hash_t *creds,
-+ const char *realmstring,
-+ const char *username,
-+ apr_hash_t *parameters,
-+ svn_boolean_t non_interactive,
-+ apr_pool_t *pool)
-+{
-+ int sd;
-+ const char *p = NULL;
-+ char *ep = NULL;
-+ char *buffer;
-+ const char *request = NULL;
-+ const char *cache_id = NULL;
-+ const char *tty_name;
-+ const char *tty_type;
-+ const char *lc_ctype;
-+ const char *display;
-+ svn_checksum_t *digest = NULL;
-+ char *password_prompt;
-+ char *realm_prompt;
-+
-+ *done = FALSE;
-+
-+ SVN_ERR(find_running_gpg_agent(&sd, pool));
-+ if (sd == -1)
-+ return SVN_NO_ERROR;
-+
-+ buffer = apr_palloc(pool, BUFFER_SIZE);
-+
- /* Send TTY_NAME to the gpg-agent daemon. */
- tty_name = getenv("GPG_TTY");
- if (tty_name != NULL)
-@@ -388,8 +414,8 @@
- password in GPG Agent if that's how this particular integration
- worked. But it isn't. GPG Agent stores the password provided by
- the user via the pinentry program immediately upon its provision
-- (and regardless of its accuracy as passwords go), so there's
-- nothing really to do here. */
-+ (and regardless of its accuracy as passwords go), so we just need
-+ to check if a usable GPG Agent exists. */
- static svn_error_t *
- password_set_gpg_agent(svn_boolean_t *done,
- apr_hash_t *creds,
-@@ -400,7 +426,21 @@
- svn_boolean_t non_interactive,
- apr_pool_t *pool)
- {
-- *done = TRUE;
-+ int sd;
-+ const char *tty_name;
-+
-+ *done = FALSE;
-+
-+ SVN_ERR(find_running_gpg_agent(&sd, pool));
-+ if (sd == -1)
-+ return SVN_NO_ERROR;
-+
-+ close(sd);
-+
-+ /* Also ensure that GPG_TTY is set in the evironment.
-+ * If it isn't set the user won't be prompted by the agent. */
-+ tty_name = getenv("GPG_TTY");
-+ *done = (tty_name != NULL);
-
- return SVN_NO_ERROR;
- }