[subversion] - add svnserve init script - split out -libs subpackage
jorton
jorton at fedoraproject.org
Tue Sep 7 13:16:02 UTC 2010
commit 9f9154686d49f556a26f546d7324b51c97af6995
Author: Joe Orton <jorton at redhat.com>
Date: Tue Sep 7 14:16:00 2010 +0100
- add svnserve init script
- split out -libs subpackage
subversion-1.6.11-pie.patch | 19 ++++++--
subversion.spec | 56 ++++++++++++++++++----
svnserve.init | 109 +++++++++++++++++++++++++++++++++++++++++++
3 files changed, 170 insertions(+), 14 deletions(-)
---
diff --git a/subversion-1.6.11-pie.patch b/subversion-1.6.11-pie.patch
index 1747122..36b8e0a 100644
--- a/subversion-1.6.11-pie.patch
+++ b/subversion-1.6.11-pie.patch
@@ -1,5 +1,6 @@
---- subversion-1.6.11/build/generator/gen_base.py.pie
-+++ subversion-1.6.11/build/generator/gen_base.py
+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')
@@ -32,8 +33,9 @@
class TargetApacheMod(TargetLib):
---- subversion-1.6.11/Makefile.in.pie
-+++ subversion-1.6.11/Makefile.in
+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)
@@ -47,3 +49,12 @@
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 $<
diff --git a/subversion.spec b/subversion.spec
index 69d0939..9d2ab09 100644
--- a/subversion.spec
+++ b/subversion.spec
@@ -17,7 +17,7 @@
Summary: A Modern Concurrent Version Control System
Name: subversion
Version: 1.6.12
-Release: 4%{?dist}
+Release: 5%{?dist}
License: ASL 1.1
Group: Development/Tools
URL: http://subversion.apache.org/
@@ -26,6 +26,7 @@ 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
@@ -42,7 +43,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}
@@ -57,15 +59,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
@@ -207,7 +219,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
@@ -226,6 +238,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}
@@ -301,9 +318,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
+
+%preun
+if [ $1 = 0 ]; then
+ /sbin/service svnserve stop > /dev/null 2>&1
+ /sbin/chkconfig --del svnserve
+fi
-%postun -p /sbin/ldconfig
+%post libs -p /sbin/ldconfig
+
+%postun libs -p /sbin/ldconfig
%post perl -p /sbin/ldconfig
@@ -328,20 +355,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)
@@ -396,6 +428,10 @@ rm -rf ${RPM_BUILD_ROOT}
%{_mandir}/man1/svn2cl.1*
%changelog
+* Tue Sep 7 2010 Joe Orton <jorton at redhat.com> - 1.6.12-5
+- add svnserve init script
+- split out -libs subpackage
+
* Fri Sep 3 2010 Joe Orton <jorton at redhat.com> - 1.6.12-4
- restore PIE support
diff --git a/svnserve.init b/svnserve.init
new file mode 100644
index 0000000..0d955da
--- /dev/null
+++ b/svnserve.init
@@ -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 $?
More information about the scm-commits
mailing list