- update to 1.6.13

- add svnserve init script
- split out -libs subpackage
- restore PIE support
- fix comments in subversion.conf (#551484)
This commit is contained in:
Joe Orton 2010-10-05 12:14:13 +01:00
commit e26e939336
11 changed files with 1398 additions and 84 deletions

6
.gitignore vendored
View File

@ -1,2 +1,4 @@
subversion-1.6.5.tar.bz2
subversion-1.6.6.tar.bz2
*.rpm
/subversion-1.6.13.tar.bz2.asc
/subversion-1.6.13.tar.bz2

View File

@ -1 +1 @@
75419159b50661092c4137449940b5cc subversion-1.6.11.tar.bz2
7ae1c827689f21cf975804005be30aeb subversion-1.6.13.tar.bz2

View File

@ -1,62 +0,0 @@
--- subversion-1.6.0/build.conf.pie
+++ subversion-1.6.0/build.conf
@@ -472,7 +472,7 @@ type = swig_lib
lang = python
path = subversion/bindings/swig/python/libsvn_swig_py
libs = libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_subr apriconv apr
-link-cmd = $(LINK) $(SWIG_PY_LIBS)
+link-cmd = $(LINK_LIB) $(SWIG_PY_LIBS)
install = swig-py-lib
# need special build rule to include -DSWIGPYTHON
compile-cmd = $(COMPILE_SWIG_PY)
@@ -495,7 +495,7 @@ type = swig_lib
lang = ruby
path = subversion/bindings/swig/ruby/libsvn_swig_ruby
libs = libsvn_client libsvn_wc libsvn_delta libsvn_subr apriconv apr
-link-cmd = $(LINK) $(SWIG_RB_LIBS)
+link-cmd = $(LINK_LIB) $(SWIG_RB_LIBS)
install = swig-rb-lib
# need special build rule to include
compile-cmd = $(COMPILE_SWIG_RB)
--- subversion-1.6.0/build/generator/gen_base.py.pie
+++ subversion-1.6.0/build/generator/gen_base.py
@@ -413,6 +413,9 @@ class TargetExe(TargetLinked):
self.manpages = options.get('manpages', '')
self.testing = options.get('testing')
+ if self.install == 'test' or self.install == 'bdb-test':
+ self.link_cmd = '$(LINK_TEST)'
+
def add_dependencies(self):
TargetLinked.add_dependencies(self)
@@ -455,8 +458,11 @@ class TargetLib(TargetLinked):
self.msvc_fake = options.get('msvc-fake') == 'yes' # has fake target
self.msvc_export = options.get('msvc-export', '').split()
- ### hmm. this is Makefile-specific
- self.link_cmd = '$(LINK_LIB)'
+ ### more Makefile-specific stuff:
+ if self.install == 'test':
+ self.link_cmd = '$(LINK_TEST_LIB)'
+ elif self.link_cmd == '$(LINK)':
+ self.link_cmd = '$(LINK_LIB)'
class TargetApacheMod(TargetLib):
--- subversion-1.6.0/Makefile.in.pie
+++ subversion-1.6.0/Makefile.in
@@ -184,8 +185,11 @@ COMPILE_JAVAHL_CXX = $(LIBTOOL) $(LTCXXF
COMPILE_JAVAHL_JAVAC = $(JAVAC) $(JAVAC_FLAGS)
COMPILE_JAVAHL_JAVAH = $(JAVAH)
-LINK_LIB = $(LINK) -rpath $(libdir)
-LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(libdir)
+BASE_LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS)
+LINK = $(BASE_LINK) -pie
+LINK_TEST = $(BASE_LINK) -no-install
+LINK_LIB = $(BASE_LINK) -rpath $(libdir)
+LINK_TEST_LIB = $(BASE_LINK)
LINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) -rpath $(libdir)
# special link rule for mod_dav_svn

View File

@ -0,0 +1,60 @@
diff -up subversion-1.6.12/build/generator/gen_base.py.pie subversion-1.6.12/build/generator/gen_base.py
--- subversion-1.6.12/build/generator/gen_base.py.pie 2010-09-07 14:05:29.307274005 +0100
+++ subversion-1.6.12/build/generator/gen_base.py 2010-09-07 14:05:29.313274265 +0100
@@ -357,7 +357,7 @@ class TargetLinked(Target):
self.install = options.get('install')
self.compile_cmd = options.get('compile-cmd')
self.sources = options.get('sources', '*.c *.cpp')
- self.link_cmd = options.get('link-cmd', '$(LINK)')
+ self.link_cmd = options.get('link-cmd', '$(LINK_LIB)')
self.external_lib = options.get('external-lib')
self.external_project = options.get('external-project')
@@ -413,6 +413,11 @@ class TargetExe(TargetLinked):
self.manpages = options.get('manpages', '')
self.testing = options.get('testing')
+ if self.install == 'test' or self.install == 'bdb-test':
+ self.link_cmd = '$(LINK_TEST)'
+ else:
+ self.link_cmd = '$(LINK_EXE)'
+
def add_dependencies(self):
TargetLinked.add_dependencies(self)
@@ -456,8 +461,8 @@ class TargetLib(TargetLinked):
self.msvc_export = options.get('msvc-export', '').split()
### hmm. this is Makefile-specific
- if self.link_cmd == '$(LINK)':
- self.link_cmd = '$(LINK_LIB)'
+ if self.install == 'test':
+ self.link_cmd = '$(LINK_TEST_LIB)'
class TargetApacheMod(TargetLib):
diff -up subversion-1.6.12/Makefile.in.pie subversion-1.6.12/Makefile.in
--- subversion-1.6.12/Makefile.in.pie 2010-09-07 14:05:29.308274305 +0100
+++ subversion-1.6.12/Makefile.in 2010-09-07 14:14:28.795274233 +0100
@@ -184,8 +184,11 @@ COMPILE_JAVAHL_CXX = $(LIBTOOL) $(LTCXXF
COMPILE_JAVAHL_JAVAC = $(JAVAC) $(JAVAC_FLAGS)
COMPILE_JAVAHL_JAVAH = $(JAVAH)
-LINK_LIB = $(LINK) -rpath $(libdir)
LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS)
+LINK_LIB = $(LINK) -rpath $(libdir)
+LINK_TEST = $(LINK) -no-install
+LINK_TEST_LIB = $(LINK) -avoid-version
+LINK_EXE = $(LINK) -pie
LINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) -rpath $(libdir)
# special link rule for mod_dav_svn
@@ -600,7 +603,7 @@ schema-clean:
$(top_srcdir)/build/transform_sql.sh $< < $< > $(top_srcdir)/$@
.c.o:
- $(COMPILE) -o $@ -c $<
+ $(COMPILE) -fpie -o $@ -c $<
.cpp.o:
$(COMPILE_CXX) -o $@ -c $<

View File

@ -0,0 +1,11 @@
diff -up subversion-1.6.12/subversion/bindings/swig/python/tests/run_all.py.disable-client-test subversion-1.6.12/subversion/bindings/swig/python/tests/run_all.py
--- subversion-1.6.12/subversion/bindings/swig/python/tests/run_all.py.disable-client-test 2010-07-23 09:30:31.951996475 -0400
+++ subversion-1.6.12/subversion/bindings/swig/python/tests/run_all.py 2010-07-23 09:30:46.953930404 -0400
@@ -9,7 +9,6 @@ def suite():
suite = unittest.TestSuite()
suite.addTest(core.suite())
suite.addTest(mergeinfo.suite())
- suite.addTest(client.suite())
suite.addTest(delta.suite())
suite.addTest(pool.suite())
suite.addTest(ra.suite())

View File

@ -0,0 +1,56 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
iEYEABECAAYFAkwavKUACgkQCwOubk4kUXwEGwCgq4c5SrxIzAFHD7GhouIQIIRh
VxsAn0h8GTJosXz8+fmwTcwVZ6kcXxb9
=RjTT
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
iEYEABECAAYFAkwbbakACgkQNR8z5DU+JbxSlACfY125bw9ZzJO238Fd6C5zOgr7
SrIAn243aBcaBg9Q1lKPHlnKhuAHzTR2
=MI8n
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
iEYEABECAAYFAkwbHIoACgkQ9o1G+2zNQDj95ACeKao3zsdgFdc7z71Au+2QBaYb
NUYAnj/yswEyiPmtiwPUj4BJOaXvYAir
=5WOC
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
iQEcBAABCAAGBQJMG4FCAAoJEHbXiOHtGlmcOj8H/A0Jq9uje2XZLfIoGD0TQn6v
4U+ymtTp1Z8EYExlyDqgYYv6Q6CcJ5jSWzMcN/XGPxOK8F29f95BT0H6KRZzNMmE
mTKV2w44koiTFcffzI99JYHq+jwqWTA0QAfBYpvTOJ7bmZsujlvBye9x7j00ZXdD
sZiMPI/mq9yMzs5BgdqnafYgcR0Ae5CmZzmWL5pwqag4iiN1amVp1rKH754ulKO/
dbj/jhYexwiwaEUMc7xeDQJEr6Ou/r7ILazdc89TefREfdcN4/Py4ccnHe6xG1/a
EY6t++Dt0yfppdJMmSWeVcxBL4e+nVOFoq1kvriRRACVMrzZpA/tNIm/iKLH2lk=
=FgAM
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.15 (GNU/Linux)
iQIcBAABAgAGBQJMHmrfAAoJEFU3/w1zlLfgsAsP/AoS+XzwSghdGzezHdcshBYu
SEhTKUKCbd4qC6ItZV/pdg4wmsiP8GQsJSyUq+6MJ+FSy5JK1pMJ5T23oVncZX1G
4YI1o42+iI4UmyLatBgflLsf5QFBGLIsNdUX9228PwL9i99CTYIGozPGy+y5DCX2
xOEUpa/sxFGq7wVJZ8JxOuQ/8sWlhEBB+zB+/qP/MGsBkriXkIt2g2CuK0WoI2+o
1p74hNpB5HB7COC27dRDqDZkUGUH+WSGP2941BdBEWmR6qwHlGOsKRW2hUGbLcuR
14nGMOfNliVvyixSrdno6ZycNIDrfkUfDBryQ8kWy5pVeXgqNs3uR2aPSqX2lSwg
UYVW6P+hg01A3YX5AFikh8Zv5aKa08y5b/jUFzvnVsFJwzQIjI+7N1hhmYDH9rM/
5meTfC6QoMFJDpg40jWesKQxfYRyPpvISCWZ7nFp03KV+eRnVncJtmuHzQ8f+c1c
yuKeZ+/FDZ4EHwk4zQdM9WUa9ietWfy4dbtz938llFicIqh6E7mMUI96yX+MP3kx
QSgnOTD9sXx7WP15kqis8iNkmgHRlWtbWEOVfqhLBOGIEbE60b5Vc8MerA2Lob+V
flFKb1j5JV42EdVyDnHriPwddFO3+P6xL0ExPGBpPAdj5jOAqMUngc8z8LW3IAXk
SUDpwhfPjYbzb6YO6oxh
=AlUg
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (FreeBSD)
iEYEABECAAYFAkwfPacACgkQ/P1jBZgh97Ih+gCfcUPk6sG/RnQDuw8ynjcrs3nL
RiUAoMwxqZMnj1cYxf2HWPjVcT3Kd38L
=G4JG
-----END PGP SIGNATURE-----

View File

@ -9,7 +9,7 @@ LoadModule authz_svn_module modules/mod_authz_svn.so
#
# a) readable and writable by the 'apache' user, and
#
# b) labelled with the 'http_sys_content_rw_t' context if using
# b) labelled with the 'httpd_sys_content_t' context if using
# SELinux
#
@ -20,7 +20,7 @@ LoadModule authz_svn_module modules/mod_authz_svn.so
# # cd /var/www/svn
# # svnadmin create stuff
# # chown -R apache.apache stuff
# # chcon -R -t -t http_sys_content_rw_t stuff
# # chcon -R -t httpd_sys_content_t stuff
#
#<Location /repos>

View File

@ -16,8 +16,8 @@
Summary: A Modern Concurrent Version Control System
Name: subversion
Version: 1.6.11
Release: 1%{?dist}
Version: 1.6.13
Release: 1.1%{?dist}
License: ASL 1.1
Group: Development/Tools
URL: http://subversion.apache.org/
@ -26,11 +26,12 @@ Source1: subversion.conf
Source3: filter-requires.sh
Source4: http://www.xsteve.at/prg/emacs/psvn.el
Source5: psvn-init.el
Source6: svnserve.init
# http://bugs.debian.org/546990
Patch0: subversion-1.6.5-newlines.patch
Patch2: subversion-1.6.0-deplibs.patch
Patch3: subversion-1.6.1-rpath.patch
Patch6: subversion-1.6.0-pie.patch
Patch6: subversion-1.6.11-pie.patch
Patch7: subversion-1.1.3-java.patch
Patch8: subversion-1.6.6-kwallet.patch
BuildRequires: autoconf, libtool, python, python-devel, texinfo, which
@ -41,7 +42,8 @@ BuildRequires: sqlite-devel >= 3.4.0
BuildRequires: gnome-keyring-devel, dbus-devel, kdelibs-devel >= 4.0.0
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Provides: svn = %{version}-%{release}
Requires: apr >= 1.3.0
Requires(post): /sbin/chkconfig
Requires(preun): /sbin/chkconfig, /sbin/service
%define __perl_requires %{SOURCE3}
@ -56,15 +58,25 @@ changes. Subversion only stores the differences between versions,
instead of every complete file. Subversion is intended to be a
compelling replacement for CVS.
%package libs
Group: Development/Tools
Summary: Libraries for Subversion Version Control system
Requires: subversion = %{version}-%{release}
# APR 1.3.x interfaces are required
Requires: apr >= 1.3.0
%description libs
The subversion-libs package includes the essential shared libraries
used by the Subversion version control tools.
%package devel
Group: Development/Tools
Summary: Development package for the Subversion libraries
Requires: subversion = %{version}-%{release}, apr-devel, apr-util-devel
%description devel
The subversion-devel package includes the static libraries and
include files for developers interacting with the subversion
package.
The subversion-devel package includes the libraries and include files
for developers interacting with the subversion package.
%package gnome
Group: Development/Tools
@ -112,6 +124,8 @@ Group: Development/Libraries
Summary: JNI bindings to the Subversion libraries
Requires: subversion = %{version}-%{release}
BuildRequires: java-devel-openjdk
# JAR repacking requires both zip and unzip in the buildroot
BuildRequires: zip, unzip
%description javahl
This package includes the JNI bindings to the Subversion libraries.
@ -151,13 +165,10 @@ cd contrib/client-side/svn2cl
cd ../../..
%patch2 -p1 -b .deplibs
%patch3 -p1 -b .rpath
#patch6 -p1 -b .pie
%patch6 -p1 -b .pie
%if %{with_java}
%patch7 -p1 -b .java
%endif
%ifarch sparc64
sed -i -e 's|-fpie|-fPIE|g' Makefile.in
%endif
%patch8 -p1 -b .kwallet
sed -i -e 's|^XSL="$dir/|XSL="%{_datadir}/svn2cl/|' \
@ -186,6 +197,10 @@ export svn_cv_ruby_link="%{__cc} -shared"
export svn_cv_ruby_sitedir_libsuffix=""
export svn_cv_ruby_sitedir_archsuffix=""
%ifarch sparc64
sed -i 's/-fpie/-fPIE/' Makefile.in
%endif
export CC=gcc CXX=g++ JAVA_HOME=%{jdk_path} CFLAGS="$RPM_OPT_FLAGS"
%configure --with-apr=%{_prefix} --with-apr-util=%{_prefix} \
--with-swig --with-neon=%{_prefix} \
@ -202,7 +217,7 @@ make swig-pl swig-pl-lib swig-rb swig-rb-lib
%if %{with_java}
# javahl-javah does not parallel-make with javahl
make javahl-java javahl-javah
make javahl
make %{?_smp_mflags} javahl
%endif
%install
@ -221,6 +236,11 @@ install -m 755 -d ${RPM_BUILD_ROOT}%{_sysconfdir}/subversion
install -m 755 -d ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d
install -m 644 $RPM_SOURCE_DIR/subversion.conf ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d
# Install SysV init script
mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
install -p -m 755 $RPM_SOURCE_DIR/svnserve.init \
$RPM_BUILD_ROOT/etc/rc.d/init.d/svnserve
# Remove unpackaged files
rm -rf ${RPM_BUILD_ROOT}%{_includedir}/subversion-*/*.txt \
${RPM_BUILD_ROOT}%{python_sitearch}/*/*.{a,la}
@ -296,9 +316,19 @@ make check check-swig-pl check-swig-py CLEANUP=yes
%clean
rm -rf ${RPM_BUILD_ROOT}
%post -p /sbin/ldconfig
%post
# Register the snvserve service
/sbin/chkconfig --add svnserve
%postun -p /sbin/ldconfig
%preun
if [ $1 = 0 ]; then
/sbin/service svnserve stop > /dev/null 2>&1
/sbin/chkconfig --del svnserve
fi
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
%post perl -p /sbin/ldconfig
@ -323,20 +353,25 @@ rm -rf ${RPM_BUILD_ROOT}
%doc contrib/client-side/wcgrep
%{_bindir}/*
%exclude %{_bindir}/svn2cl
%{_libdir}/libsvn_*.so.*
%{_mandir}/man*/*
%exclude %{_mandir}/man1/svn2cl.1*
%{_sysconfdir}/rc.d/init.d/svnserve
%{python_sitearch}/svn
%{python_sitearch}/libsvn
%{_datadir}/emacs/site-lisp/*.el
%{_datadir}/xemacs/site-packages/lisp/*.el
%{_sysconfdir}/bash_completion.d
%dir %{_sysconfdir}/subversion
%exclude %{_mandir}/man*/*::*
%files libs
%defattr(-,root,root)
%doc subversion/LICENSE
%{_libdir}/libsvn_*.so.*
%exclude %{_libdir}/libsvn_swig_perl*
%exclude %{_libdir}/libsvn_swig_ruby*
%exclude %{_libdir}/libsvn_auth_kwallet*
%exclude %{_libdir}/libsvn_auth_gnome*
%exclude %{_mandir}/man*/*::*
%files gnome
%defattr(-,root,root)
@ -391,6 +426,13 @@ rm -rf ${RPM_BUILD_ROOT}
%{_mandir}/man1/svn2cl.1*
%changelog
* Tue Oct 5 2010 Joe Orton <jorton@redhat.com> - 1.6.13-1
- update to 1.6.13
- add svnserve init script
- split out -libs subpackage
- restore PIE support
- fix comments in subversion.conf (#551484)
* Sat Apr 17 2010 Joe Orton <jorton@redhat.com> - 1.6.11-1
- update to 1.6.11

109
svnserve.init Normal file
View File

@ -0,0 +1,109 @@
#!/bin/bash
#
# svnserve Startup script for the Subversion svnserve daemon
#
# chkconfig: - 85 15
# description: The svnserve daemon allows access to Subversion repositories \
# using the svn network protocol.
# processname: svnserve
# config: /etc/sysconfig/svnserve
# pidfile: /var/run/svnserve.pid
#
### BEGIN INIT INFO
# Provides: svnserve
# Required-Start: $local_fs $remote_fs $network
# Required-Stop: $local_fs $remote_fs $network
# Short-Description: start and stop the svnserve daemon
# Description: The svnserve daemon allows access to Subversion
# repositories using the svn network protocol.
### END INIT INFO
# Source function library.
. /etc/rc.d/init.d/functions
if [ -f /etc/sysconfig/svnserve ]; then
. /etc/sysconfig/svnserve
fi
exec=/usr/bin/svnserve
prog=svnserve
pidfile=${PIDFILE-/var/run/svnserve.pid}
lockfile=${LOCKFILE-/var/lock/subsys/svnserve}
args="--daemon --pid-file=${pidfile} $OPTIONS"
[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
lockfile=/var/lock/subsys/$prog
start() {
[ -x $exec ] || exit 5
[ -f $config ] || exit 6
echo -n $"Starting $prog: "
daemon --pidfile=${pidfile} $exec $args
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc -p ${pidfile} $prog
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
stop
start
}
reload() {
restart
}
force_reload() {
restart
}
rh_status() {
# run checks to determine if the service is running or use generic status
status -p ${pidfile} $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
restart
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
exit 2
esac
exit $?

View File

@ -1 +0,0 @@
subversion-1.6.6.tar.bz2

File diff suppressed because it is too large Load Diff