summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/subversion
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2014-07-16 12:31:59 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-07-17 12:28:50 +0100
commit76f75e91ce1ad51a2c669d2b4d2fbddf1a113428 (patch)
treecf6db13eb6eee0b9eeeb66c05202e813fe5dd626 /meta/recipes-devtools/subversion
parent24bee503bf306bc3dab24cff837eee054c783e0f (diff)
downloadpoky-76f75e91ce1ad51a2c669d2b4d2fbddf1a113428.tar.gz
subversion: Upgrade 1.7.7 -> 1.8.9
Dropped neon patches as neon support was dropped. Dropped CVE patches as applied in later version Added patch to avoid OS-X check which doesn't cross compile Add PACKAGECONFIG for gnome-keyring Addition to license: For the file subversion/libsvn_subr/utf_width.c * Markus Kuhn -- 2007-05-26 (Unicode 5.0) * * Permission to use, copy, modify, and distribute this software * for any purpose and without fee is hereby granted. The author * disclaims all warranties with regard to this software. (From OE-Core rev: 99c3225cfe39f8de89555df5bd3f1e93cd731269) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/subversion')
-rw-r--r--meta/recipes-devtools/subversion/subversion-1.7.10/allow-updated-neon.patch20
-rw-r--r--meta/recipes-devtools/subversion/subversion-1.7.10/fix-install-depends.patch48
-rw-r--r--meta/recipes-devtools/subversion/subversion-1.7.10/neon.m4-fix-includes-and-cflags.patch32
-rw-r--r--meta/recipes-devtools/subversion/subversion-1.7.10/subversion-CVE-2013-4131.patch42
-rw-r--r--meta/recipes-devtools/subversion/subversion-1.7.10/subversion-CVE-2013-4277.patch15
-rw-r--r--meta/recipes-devtools/subversion/subversion-1.7.10/subversion-CVE-2013-4505.patch130
-rw-r--r--meta/recipes-devtools/subversion/subversion-1.8.9/disable_macos.patch68
-rw-r--r--meta/recipes-devtools/subversion/subversion-1.8.9/libtool2.patch (renamed from meta/recipes-devtools/subversion/subversion-1.7.10/libtool2.patch)0
-rw-r--r--meta/recipes-devtools/subversion/subversion_1.8.9.bb (renamed from meta/recipes-devtools/subversion/subversion_1.7.10.bb)15
9 files changed, 74 insertions, 296 deletions
diff --git a/meta/recipes-devtools/subversion/subversion-1.7.10/allow-updated-neon.patch b/meta/recipes-devtools/subversion/subversion-1.7.10/allow-updated-neon.patch
deleted file mode 100644
index e8acb12a21..0000000000
--- a/meta/recipes-devtools/subversion/subversion-1.7.10/allow-updated-neon.patch
+++ /dev/null
@@ -1,20 +0,0 @@
1
2Allow neon 0.30 to be usable also
3
4Upstream-Status: Pending
5
6Signed-off-by: Saul Wold <sgw@linux.intel.com>
7
8Index: subversion-1.7.10/configure.ac
9===================================================================
10--- subversion-1.7.10.orig/configure.ac
11+++ subversion-1.7.10/configure.ac
12@@ -118,7 +118,7 @@ AC_PATH_PROG(PKG_CONFIG, pkg-config)
13
14 # Either a space-separated list of allowable Neon versions, or "any" to
15 # mean allow anything.
16-NEON_ALLOWED_LIST="0\.25 0\.26 0\.27\.2 0\.28 0\.29"
17+NEON_ALLOWED_LIST="0\.25 0\.26 0\.27\.2 0\.28 0\.29 0\.30"
18 NEON_RECOMMENDED_VER="0.29.6"
19 NEON_URL="http://www.webdav.org/neon/neon-${NEON_RECOMMENDED_VER}.tar.gz"
20 dnl You can skip the neon version check only if you know what you are doing
diff --git a/meta/recipes-devtools/subversion/subversion-1.7.10/fix-install-depends.patch b/meta/recipes-devtools/subversion/subversion-1.7.10/fix-install-depends.patch
deleted file mode 100644
index fb79b8cc51..0000000000
--- a/meta/recipes-devtools/subversion/subversion-1.7.10/fix-install-depends.patch
+++ /dev/null
@@ -1,48 +0,0 @@
1install-neon-lib should depend on libsvn_delta's installation
2
3install-neon-lib needs libsvn_delta-1.la which will be regenerated
4during libsvn_delta-1.la's installation, if libsvn_delta-1.la is
5in regenerating and at the same time install-neon-lib links it, the
6error willl happen.
7
8Let install-neon-lib run after libsvn_delta-1.la is installed will fix
9the problem.
10
11Upstream-Status: Pending
12
13Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
14---
15 build-outputs.mk | 2 +-
16 build.conf | 2 ++
17 2 files changed, 3 insertions(+), 1 deletion(-)
18
19--- subversion-1.7.6.orig/build-outputs.mk
20+++ subversion-1.7.6/build-outputs.mk
21@@ -983,11 +983,11 @@ install-locale: subversion/po/de.mo subv
22 $(MKDIR) $(DESTDIR)$(localedir)/zh_CN/LC_MESSAGES
23 cd subversion/po ; $(INSTALL_LOCALE) zh_CN.mo $(DESTDIR)$(localedir)/zh_CN/LC_MESSAGES/$(PACKAGE_NAME).mo
24 $(MKDIR) $(DESTDIR)$(localedir)/zh_TW/LC_MESSAGES
25 cd subversion/po ; $(INSTALL_LOCALE) zh_TW.mo $(DESTDIR)$(localedir)/zh_TW/LC_MESSAGES/$(PACKAGE_NAME).mo
26
27-install-neon-lib: subversion/libsvn_ra_neon/libsvn_ra_neon-1.la
28+install-neon-lib: subversion/libsvn_ra_neon/libsvn_ra_neon-1.la $(SVN_FS_LIB_INSTALL_DEPS)
29 $(MKDIR) $(DESTDIR)$(neon_libdir)
30 cd subversion/libsvn_ra_neon ; $(INSTALL_NEON_LIB) libsvn_ra_neon-1.la $(DESTDIR)$(neon_libdir)/libsvn_ra_neon-1.la
31
32 install-ramod-lib: subversion/libsvn_fs/libsvn_fs-1.la subversion/libsvn_ra_svn/libsvn_ra_svn-1.la subversion/libsvn_repos/libsvn_repos-1.la subversion/libsvn_ra_local/libsvn_ra_local-1.la
33 $(MKDIR) $(DESTDIR)$(ramod_libdir)
34--- subversion-1.7.6.orig/build.conf
35+++ subversion-1.7.6/build.conf
36@@ -270,10 +270,12 @@ msvc-export = svn_ra.h private\svn_ra_pr
37 [libsvn_ra_neon]
38 type = ra-module
39 path = subversion/libsvn_ra_neon
40 install = neon-lib
41 libs = libsvn_delta libsvn_subr aprutil apriconv apr neon
42+# conditionally add more dependencies
43+add-install-deps = $(SVN_FS_LIB_INSTALL_DEPS)
44 msvc-static = yes
45
46 # Accessing repositories via DAV through serf
47 [libsvn_ra_serf]
48 type = ra-module
diff --git a/meta/recipes-devtools/subversion/subversion-1.7.10/neon.m4-fix-includes-and-cflags.patch b/meta/recipes-devtools/subversion/subversion-1.7.10/neon.m4-fix-includes-and-cflags.patch
deleted file mode 100644
index 013d0c3649..0000000000
--- a/meta/recipes-devtools/subversion/subversion-1.7.10/neon.m4-fix-includes-and-cflags.patch
+++ /dev/null
@@ -1,32 +0,0 @@
1Fix to get correct SVN_NEON_CONFIG and CFLAGS when sysroot path contains '-D' and '-I'
2characters.
3
4Upstream-Status: Pending
5
6Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
7
8index f951039..a813145 100644
9--- a/build/ac-macros/neon.m4
10+++ b/build/ac-macros/neon.m4
11@@ -105,8 +105,8 @@ AC_DEFUN(SVN_NEON_CONFIG,
12 test "$svn_allowed_neon" = "any"; then
13 svn_allowed_neon_on_system="yes"
14 if test "$NEON_PKG_CONFIG" = "yes"; then
15- SVN_NEON_INCLUDES=[`$PKG_CONFIG neon --cflags | $SED -e 's/-D[^ ]*//g'`]
16- CFLAGS=["$CFLAGS `$PKG_CONFIG neon --cflags | $SED -e 's/-I[^ ]*//g'`"]
17+ SVN_NEON_INCLUDES=["`$PKG_CONFIG neon --cflags | $SED -e 's/^-D[^ ]*//g' -e 's/ -D[^ ]*//g'`"]
18+ CFLAGS=["$CFLAGS `$PKG_CONFIG neon --cflags | $SED -e 's/^-I[^ ]*//g' -e 's/ -I[^ ]*//g'`"]
19 old_CFLAGS="$CFLAGS"
20 old_LIBS="$LIBS"
21 NEON_LIBS=`$PKG_CONFIG neon --libs`
22@@ -126,8 +126,8 @@ int main()
23 CFLAGS="$old_CFLAGS"
24 LIBS="$old_LIBS"
25 else
26- SVN_NEON_INCLUDES=[`$neon_config --cflags | $SED -e 's/-D[^ ]*//g'`]
27- CFLAGS=["$CFLAGS `$neon_config --cflags | $SED -e 's/-I[^ ]*//g'`"]
28+ SVN_NEON_INCLUDES=[`$neon_config --cflags | $SED -e 's/^-D[^ ]*//g' -e 's/ -D[^ ]*//g'`]
29+ CFLAGS=["$CFLAGS `$neon_config --cflags | $SED -e 's/^-I[^ ]*//g' -e 's/ -I[^ ]*//g'`"]
30 NEON_LIBS=`$neon_config --libs`
31 fi
32 svn_lib_neon="yes"
diff --git a/meta/recipes-devtools/subversion/subversion-1.7.10/subversion-CVE-2013-4131.patch b/meta/recipes-devtools/subversion/subversion-1.7.10/subversion-CVE-2013-4131.patch
deleted file mode 100644
index 88bd25e0d9..0000000000
--- a/meta/recipes-devtools/subversion/subversion-1.7.10/subversion-CVE-2013-4131.patch
+++ /dev/null
@@ -1,42 +0,0 @@
1Upstream-Status: Backport
2
3Index: subversion/mod_dav_svn/repos.c
4===================================================================
5--- a/subversion/mod_dav_svn/repos.c (revision 1503527)
6+++ b/subversion/mod_dav_svn/repos.c (revision 1503528)
7@@ -2408,21 +2408,12 @@
8 svn_boolean_t is_urlpath,
9 apr_pool_t *pool)
10 {
11- apr_size_t len;
12- char *tmp = apr_pstrdup(pool, path);
13-
14- len = strlen(tmp);
15-
16- if (len > 0)
17+ if (*path != '\0') /* not an empty string */
18 {
19- /* Remove any trailing slash; else svn_path_dirname() asserts. */
20- if (tmp[len-1] == '/')
21- tmp[len-1] = '\0';
22-
23 if (is_urlpath)
24- return svn_urlpath__dirname(tmp, pool);
25+ return svn_urlpath__dirname(path, pool);
26 else
27- return svn_fspath__dirname(tmp, pool);
28+ return svn_fspath__dirname(path, pool);
29 }
30
31 return path;
32@@ -2458,7 +2449,9 @@
33 parent->versioned = 1;
34 parent->hooks = resource->hooks;
35 parent->pool = resource->pool;
36- parent->uri = get_parent_path(resource->uri, TRUE, resource->pool);
37+ parent->uri = get_parent_path(svn_urlpath__canonicalize(resource->uri,
38+ resource->pool),
39+ TRUE, resource->pool);
40 parent->info = parentinfo;
41
42 parentinfo->uri_path =
diff --git a/meta/recipes-devtools/subversion/subversion-1.7.10/subversion-CVE-2013-4277.patch b/meta/recipes-devtools/subversion/subversion-1.7.10/subversion-CVE-2013-4277.patch
deleted file mode 100644
index a5900d8b7d..0000000000
--- a/meta/recipes-devtools/subversion/subversion-1.7.10/subversion-CVE-2013-4277.patch
+++ /dev/null
@@ -1,15 +0,0 @@
1Upstream-Status: Backport
2
3--- a/subversion/svnserve/main.c
4+++ b/subversion/svnserve/main.c
5@@ -403,8 +403,9 @@ static svn_error_t *write_pid_file(const
6 const char *contents = apr_psprintf(pool, "%" APR_PID_T_FMT "\n",
7 getpid());
8
9+ SVN_ERR(svn_io_remove_file2(filename, TRUE, pool));
10 SVN_ERR(svn_io_file_open(&file, filename,
11- APR_WRITE | APR_CREATE | APR_TRUNCATE,
12+ APR_WRITE | APR_CREATE | APR_EXCL,
13 APR_OS_DEFAULT, pool));
14 SVN_ERR(svn_io_file_write_full(file, contents, strlen(contents), NULL,
15 pool));
diff --git a/meta/recipes-devtools/subversion/subversion-1.7.10/subversion-CVE-2013-4505.patch b/meta/recipes-devtools/subversion/subversion-1.7.10/subversion-CVE-2013-4505.patch
deleted file mode 100644
index a54d6944ed..0000000000
--- a/meta/recipes-devtools/subversion/subversion-1.7.10/subversion-CVE-2013-4505.patch
+++ /dev/null
@@ -1,130 +0,0 @@
1Upstream-Status: Backport
2
3Index: tools/server-side/mod_dontdothat/mod_dontdothat.c
4===================================================================
5--- a/tools/server-side/mod_dontdothat/mod_dontdothat.c (revision 1239695)
6+++ b/tools/server-side/mod_dontdothat/mod_dontdothat.c (revision 1542078)
7@@ -30,12 +30,15 @@
8 #include <util_filter.h>
9 #include <ap_config.h>
10 #include <apr_strings.h>
11+#include <apr_uri.h>
12
13 #include <expat.h>
14
15 #include "mod_dav_svn.h"
16 #include "svn_string.h"
17 #include "svn_config.h"
18+#include "svn_path.h"
19+#include "private/svn_fspath.h"
20
21 module AP_MODULE_DECLARE_DATA dontdothat_module;
22
23@@ -161,26 +164,71 @@
24 }
25 }
26
27+/* duplicate of dav_svn__log_err() from mod_dav_svn/util.c */
28+static void
29+log_dav_err(request_rec *r,
30+ dav_error *err,
31+ int level)
32+{
33+ dav_error *errscan;
34+
35+ /* Log the errors */
36+ /* ### should have a directive to log the first or all */
37+ for (errscan = err; errscan != NULL; errscan = errscan->prev) {
38+ apr_status_t status;
39+
40+ if (errscan->desc == NULL)
41+ continue;
42+
43+#if AP_MODULE_MAGIC_AT_LEAST(20091119,0)
44+ status = errscan->aprerr;
45+#else
46+ status = errscan->save_errno;
47+#endif
48+
49+ ap_log_rerror(APLOG_MARK, level, status, r,
50+ "%s [%d, #%d]",
51+ errscan->desc, errscan->status, errscan->error_id);
52+ }
53+}
54+
55 static svn_boolean_t
56 is_this_legal(dontdothat_filter_ctx *ctx, const char *uri)
57 {
58 const char *relative_path;
59 const char *cleaned_uri;
60 const char *repos_name;
61+ const char *uri_path;
62 int trailing_slash;
63 dav_error *derr;
64
65- /* Ok, so we need to skip past the scheme, host, etc. */
66- uri = ap_strstr_c(uri, "://");
67- if (uri)
68- uri = ap_strchr_c(uri + 3, '/');
69+ /* uri can be an absolute uri or just a path, we only want the path to match
70+ * against */
71+ if (uri && svn_path_is_url(uri))
72+ {
73+ apr_uri_t parsed_uri;
74+ apr_status_t rv = apr_uri_parse(ctx->r->pool, uri, &parsed_uri);
75+ if (APR_SUCCESS != rv)
76+ {
77+ /* Error parsing the URI, log and reject request. */
78+ ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, ctx->r,
79+ "mod_dontdothat: blocked request after failing "
80+ "to parse uri: '%s'", uri);
81+ return FALSE;
82+ }
83+ uri_path = parsed_uri.path;
84+ }
85+ else
86+ {
87+ uri_path = uri;
88+ }
89
90- if (uri)
91+ if (uri_path)
92 {
93 const char *repos_path;
94
95 derr = dav_svn_split_uri(ctx->r,
96- uri,
97+ uri_path,
98 ctx->cfg->base_path,
99 &cleaned_uri,
100 &trailing_slash,
101@@ -194,7 +242,7 @@
102 if (! repos_path)
103 repos_path = "";
104
105- repos_path = apr_psprintf(ctx->r->pool, "/%s", repos_path);
106+ repos_path = svn_fspath__canonicalize(repos_path, ctx->r->pool);
107
108 /* First check the special cases that are always legal... */
109 for (idx = 0; idx < ctx->allow_recursive_ops->nelts; ++idx)
110@@ -228,7 +276,20 @@
111 }
112 }
113 }
114+ else
115+ {
116+ log_dav_err(ctx->r, derr, APLOG_ERR);
117+ return FALSE;
118+ }
119+
120 }
121+ else
122+ {
123+ ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, ctx->r,
124+ "mod_dontdothat: empty uri passed to is_this_legal(), "
125+ "module bug?");
126+ return FALSE;
127+ }
128
129 return TRUE;
130 }
diff --git a/meta/recipes-devtools/subversion/subversion-1.8.9/disable_macos.patch b/meta/recipes-devtools/subversion/subversion-1.8.9/disable_macos.patch
new file mode 100644
index 0000000000..ec3be496f3
--- /dev/null
+++ b/meta/recipes-devtools/subversion/subversion-1.8.9/disable_macos.patch
@@ -0,0 +1,68 @@
1These tests don't work in cross compiling, just disable them for now, we don't
2build subversion on OS-X at this time.
3
4RP 1014/7/16
5
6Upstream-Status: Pending [needs a rewrite to support a cache value]
7
8Index: subversion-1.8.9/build/ac-macros/macosx.m4
9===================================================================
10--- subversion-1.8.9.orig/build/ac-macros/macosx.m4 2012-11-26 03:04:27.000000000 +0000
11+++ subversion-1.8.9/build/ac-macros/macosx.m4 2014-07-16 12:28:58.357300403 +0000
12@@ -24,21 +24,7 @@
13 AC_DEFUN(SVN_LIB_MACHO_ITERATE,
14 [
15 AC_MSG_CHECKING([for Mach-O dynamic module iteration functions])
16- AC_RUN_IFELSE([AC_LANG_PROGRAM([[
17- #include <mach-o/dyld.h>
18- #include <mach-o/loader.h>
19- ]],[[
20- const struct mach_header *header = _dyld_get_image_header(0);
21- const char *name = _dyld_get_image_name(0);
22- if (name && header) return 0;
23- return 1;
24- ]])],[
25- AC_DEFINE([SVN_HAVE_MACHO_ITERATE], [1],
26- [Is Mach-O low-level _dyld API available?])
27- AC_MSG_RESULT([yes])
28- ],[
29 AC_MSG_RESULT([no])
30- ])
31 ])
32
33 dnl SVN_LIB_MACOS_PLIST
34@@ -46,34 +32,7 @@
35 AC_DEFUN(SVN_LIB_MACOS_PLIST,
36 [
37 AC_MSG_CHECKING([for Mac OS property list utilities])
38-
39- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
40- #include <AvailabilityMacros.h>
41- #if !defined(MAC_OS_X_VERSION_MAX_ALLOWED) \
42- || !defined(MAC_OS_X_VERSION_10_0) \
43- || (MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_0)
44- #error ProperyList API unavailable.
45- #endif
46- ]],[[]])],[
47- dnl ### Hack. We should only need to pass the -framework options when
48- dnl linking libsvn_subr, since it is the only library that uses Keychain.
49- dnl
50- dnl Unfortunately, libtool 1.5.x doesn't track transitive dependencies for
51- dnl OS X frameworks like it does for normal libraries, so we need to
52- dnl explicitly pass the option to all the users of libsvn_subr to allow
53- dnl static builds to link successfully.
54- dnl
55- dnl This does mean that all executables we link will be linked directly
56- dnl to these frameworks - even when building shared libraries - but that
57- dnl shouldn't cause any problems.
58-
59- LIBS="$LIBS -framework CoreFoundation"
60- AC_DEFINE([SVN_HAVE_MACOS_PLIST], [1],
61- [Is Mac OS property list API available?])
62- AC_MSG_RESULT([yes])
63- ],[
64 AC_MSG_RESULT([no])
65- ])
66 ])
67
68 dnl SVN_LIB_MACOS_KEYCHAIN
diff --git a/meta/recipes-devtools/subversion/subversion-1.7.10/libtool2.patch b/meta/recipes-devtools/subversion/subversion-1.8.9/libtool2.patch
index 5cd572bfc8..5cd572bfc8 100644
--- a/meta/recipes-devtools/subversion/subversion-1.7.10/libtool2.patch
+++ b/meta/recipes-devtools/subversion/subversion-1.8.9/libtool2.patch
diff --git a/meta/recipes-devtools/subversion/subversion_1.7.10.bb b/meta/recipes-devtools/subversion/subversion_1.8.9.bb
index e745ce764e..b1eee6a4cb 100644
--- a/meta/recipes-devtools/subversion/subversion_1.7.10.bb
+++ b/meta/recipes-devtools/subversion/subversion_1.8.9.bb
@@ -11,24 +11,21 @@ inherit gettext
11 11
12SRC_URI = "${APACHE_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \ 12SRC_URI = "${APACHE_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \
13 file://libtool2.patch \ 13 file://libtool2.patch \
14 file://fix-install-depends.patch \ 14 file://disable_macos.patch \
15 file://allow-updated-neon.patch \
16 file://neon.m4-fix-includes-and-cflags.patch \
17 file://subversion-CVE-2013-4505.patch \
18 file://subversion-CVE-2013-4131.patch \
19 file://subversion-CVE-2013-4277.patch \
20" 15"
21SRC_URI[md5sum] = "4088a77e14232876c9b4ff1541e6e200" 16SRC_URI[md5sum] = "bd495517a760ddd764ce449a891971db"
22SRC_URI[sha256sum] = "c1df222bec83d014d17785e2ceba6bc80962f64b280967de0285836d8d77a8e7" 17SRC_URI[sha256sum] = "45d708a5c3ffbef4b2a1044c4716a053e680763743d1f7ba99d0369f6da49e33"
23 18
24LIC_FILES_CHKSUM = "file://LICENSE;md5=4a14fd2da3134e40a087eb4326a4ecd4" 19LIC_FILES_CHKSUM = "file://LICENSE;md5=1c2f0119e478700b5428e26386cff923"
25 20
26PACKAGECONFIG[sasl] = "--with-sasl,--without-sasl,cyrus-sasl" 21PACKAGECONFIG[sasl] = "--with-sasl,--without-sasl,cyrus-sasl"
22PACKAGECONFIG[gnome-keyring] = "--with-gnome-keyring,--without-gnome-keyring,glib-2.0 gnome-keyring"
27 23
28EXTRA_OECONF = " \ 24EXTRA_OECONF = " \
29 --without-berkeley-db --without-apxs \ 25 --without-berkeley-db --without-apxs \
30 --without-swig --with-apr=${STAGING_BINDIR_CROSS} \ 26 --without-swig --with-apr=${STAGING_BINDIR_CROSS} \
31 --with-apr-util=${STAGING_BINDIR_CROSS} \ 27 --with-apr-util=${STAGING_BINDIR_CROSS} \
28 --disable-keychain \
32 ac_cv_path_RUBY=none" 29 ac_cv_path_RUBY=none"
33 30
34inherit autotools 31inherit autotools