mod_dav_svn: inherit DavBasePath from mod_dav

Resolves: RHEL-105424
This commit is contained in:
Joe Orton 2025-07-24 15:39:31 +01:00
parent ab3f03297a
commit e728138903
3 changed files with 40 additions and 4 deletions

View File

@ -6,7 +6,7 @@ if [ $# -lt 1 ]; then
fi
repo="https://svn.apache.org/repos/asf/subversion/trunk"
#repo="https://svn.apache.org/repos/asf/subversion/branches/1.11.x"
#repo="https://svn.apache.org/repos/asf/subversion/branches/1.14.x"
prefix=`rpmspec -q --queryformat='%{name}-%{version}\n' ./subversion.spec | sed 1q`
suffix="r$1${2:++}"
fn="${prefix}-${suffix}.patch"
@ -50,4 +50,3 @@ echo "+ git add ${fn}"
git add "${fn}"
echo "+ spec template:"
echo "PatchN: ${fn}"
echo "%patchN -p1 -b .${suffix}"

View File

@ -0,0 +1,31 @@
# ./pullrev.sh 1926683
http://svn.apache.org/viewvc?view=revision&revision=1926683
--- subversion-1.14.5/subversion/mod_dav_svn/mod_dav_svn.c
+++ subversion-1.14.5/subversion/mod_dav_svn/mod_dav_svn.c
@@ -781,7 +781,16 @@
dav_svn__get_root_dir(request_rec *r)
{
dir_conf_t *conf;
+#if AP_MODULE_MAGIC_AT_LEAST(20120211, 139)
+ const char *base;
+ /* Inherit the root path from mod_dav's DavBasePath iff configured
+ where e.g. LocationMatch is used for the repos. */
+ base = dav_get_base_path(r);
+ if (base)
+ return base;
+#endif
+
conf = ap_get_module_config(r->per_dir_config, &dav_svn_module);
return conf->root_dir;
}
@@ -1225,7 +1234,7 @@
else
{
/* Retrieve path to repo and within repo for the request */
- dav_error *err = dav_svn_split_uri(r, r->uri, conf->root_dir,
+ dav_error *err = dav_svn_split_uri(r, r->uri, dav_svn__get_root_dir(r),
&ignore_cleaned_uri,
&ignore_had_slash, &repos_basename,
&ignore_relative_path, &repos_path);

View File

@ -57,7 +57,7 @@
Summary: A Modern Concurrent Version Control System
Name: subversion
Version: 1.14.5
Release: 2%{?dist}
Release: 3%{?dist}
License: Apache-2.0
URL: https://subversion.apache.org/
Source0: https://downloads.apache.org/subversion/subversion-%{version}.tar.bz2
@ -78,6 +78,7 @@ Patch7: subversion-1.14.2-modsyms.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=2255746
Patch8: subversion-1.14.3-zlib-ng.patch
Patch9: subversion-1.14.5-progenv.patch
Patch10: subversion-1.14.5-r1926683.patch
BuildRequires: make
BuildRequires: autoconf, libtool, texinfo, which, gcc, gcc-c++
BuildRequires: swig >= 1.3.24, gettext
@ -183,7 +184,8 @@ passwords in the KDE Wallet.
Summary: Apache httpd module for Subversion server
Requires: httpd-mmn = %{_httpd_mmn}
Requires: subversion-libs%{?_isa} = %{version}-%{release}
BuildRequires: httpd-devel >= 2.0.45
BuildRequires: httpd-devel >= 2.4.63-2
Conflicts: httpd-core < 2.4.63-2
%description -n mod_dav_svn
The mod_dav_svn package allows access to a Subversion repository
@ -595,6 +597,10 @@ make check-javahl
%endif
%changelog
* Thu Jul 24 2025 Joe Orton <jorton@redhat.com> - 1.14.5-3
- mod_dav_svn: inherit DavBasePath from mod_dav
Resolves: RHEL-105424
* Wed Jul 09 2025 Joe Orton <jorton@redhat.com> - 1.14.5-2
- update to 1.14.5 (#2331047)
- use %%autosetup