This commit is contained in:
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.osc
|
16
subversion-1.1.x-COMPILE_CXX.dif
Normal file
16
subversion-1.1.x-COMPILE_CXX.dif
Normal file
@@ -0,0 +1,16 @@
|
||||
Makefile.in | 2 +-
|
||||
1 files changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Index: subversion-1.3.x/Makefile.in
|
||||
===================================================================
|
||||
--- subversion-1.3.x.orig/Makefile.in
|
||||
+++ subversion-1.3.x/Makefile.in
|
||||
@@ -144,7 +144,7 @@ CPPFLAGS = @CPPFLAGS@ $(EXTRA_CPPFLAGS)
|
||||
LDFLAGS = @LDFLAGS@ $(EXTRA_LDFLAGS)
|
||||
|
||||
COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) $(INCLUDES)
|
||||
-COMPILE_CXX = $(CXX) $(CPPFLAGS) $(CFLAGS) $(CXXFLAGS) $(INCLUDES)
|
||||
+COMPILE_CXX = $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(INCLUDES)
|
||||
LT_COMPILE = $(LIBTOOL) $(LTFLAGS) --mode=compile $(COMPILE)
|
||||
|
||||
# special compilation for files destined for mod_dav_svn
|
3
subversion-1.4.x.tar.bz2
Normal file
3
subversion-1.4.x.tar.bz2
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:30c6a4490b63b597d54cd4dc3a713d6b34ceecf7cf7e9d33b49d225ab61f8066
|
||||
size 3998549
|
16
subversion-swig-perl-install_vendor.patch
Normal file
16
subversion-swig-perl-install_vendor.patch
Normal file
@@ -0,0 +1,16 @@
|
||||
Makefile.in | 2 +-
|
||||
1 files changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Index: subversion-1.3.x/Makefile.in
|
||||
===================================================================
|
||||
--- subversion-1.3.x.orig/Makefile.in
|
||||
+++ subversion-1.3.x/Makefile.in
|
||||
@@ -630,7 +630,7 @@ check-swig-pl: swig-pl swig-pl-lib
|
||||
cd $(SWIG_PL_DIR)/native; $(MAKE) test
|
||||
|
||||
install-swig-pl: swig-pl install-swig-pl-lib
|
||||
- cd $(SWIG_PL_DIR)/native; $(MAKE) install
|
||||
+ cd $(SWIG_PL_DIR)/native; $(MAKE) install_vendor
|
||||
|
||||
# Running Makefile.PL at this point *fails* (cannot find ..../.libs) so if the
|
||||
# Makefile does not exist, DO NOT try to make it. But, if it doesn't exist,
|
210
subversion.README.SuSE
Normal file
210
subversion.README.SuSE
Normal file
@@ -0,0 +1,210 @@
|
||||
Topics:
|
||||
|
||||
1. backup and restore your repository data
|
||||
2. create svn user/group for svnserve
|
||||
3. mini-howto for 2 projects
|
||||
|
||||
================================================================================
|
||||
|
||||
1. backup and restore your repository data
|
||||
|
||||
subversion repositories use either the Berkeley Database system libraries,
|
||||
or the FSFS database format which comes with the subversion package.
|
||||
Since the BDB system libraries often introduce a new incompatible format during
|
||||
version upgrade, a backup/restore of all the subversion repositories must be
|
||||
performed _BEFORE_ doing such a system upgrade.
|
||||
'svnadmin dump' will write the repository to stdout in a 'dumpfile' format.
|
||||
This dumpfile can be loader later with 'svnadmin load'.
|
||||
|
||||
|
||||
2. create svn user/group for svnserve
|
||||
|
||||
subversion repositories can be served either via http, or via the svnserve
|
||||
daemon and a special network protocol. svnserve should not run as root user.
|
||||
The startup script rcsvnserve expects a user/group named 'svn', configureable
|
||||
via /etc/sysconfig/svnserve.
|
||||
But this user/group must be created before first use:
|
||||
|
||||
useradd svn
|
||||
groupadd svn
|
||||
|
||||
|
||||
3. mini-howto for 2 projects
|
||||
|
||||
To run a subversion server, you need to configure apache2 to load two apache2
|
||||
modules: mod_dav and mod_dav_svn. (mod_dav is needed by mod_dav_svn, it is
|
||||
installed together with apache2.)
|
||||
|
||||
This is done by adding the dav and dav_svn modules to the apache2 configuration
|
||||
(a2enmod dav; a2enmod dav_svn), and restarting the server.
|
||||
|
||||
A default/example configuration of the dav_svn module can be found in
|
||||
/etc/apache2/conf.d/subversion.conf. With more recent apache
|
||||
packages, this configuration is *not* loaded automatically by
|
||||
the apache server, since many people configure virtual hosts
|
||||
and it is unlikely that the repositories shall be available
|
||||
from any virtual host. To load the configuration for a certain
|
||||
virtual host, add
|
||||
Include /etc/apache2/conf.d/subversion.conf
|
||||
or
|
||||
Include /path/to/your_subversion_configuration
|
||||
in the respective virtual host configuration. This *may* be done in the default
|
||||
virtual host (/etc/apache2/default-server.conf).
|
||||
|
||||
|
||||
|
||||
Minihowto:
|
||||
|
||||
|
||||
The plan:
|
||||
|
||||
host 2 source projects with subversion
|
||||
both must have anonymous read access
|
||||
both must have limited write access for a few users
|
||||
they are accessed only via HTTP, not (!) locally
|
||||
they will be reachable via:
|
||||
|
||||
http://hostname/repos/project1
|
||||
http://hostname/repos/project2
|
||||
|
||||
Both will have the official version of the source tree and our modified
|
||||
version for the distribution. Projects in question are:
|
||||
project1
|
||||
project2
|
||||
|
||||
The realisation:
|
||||
|
||||
find a machine to host the projects. Keep backup (and restore!) in mind
|
||||
when hunting for hardware.
|
||||
|
||||
install needed packages
|
||||
(you might check for update packages on
|
||||
ftp://ftp.suse.com/pub/projects/apache/ )
|
||||
|
||||
rpm -Uvh \
|
||||
apache2 \
|
||||
apache2-doc \
|
||||
apache2-prefork \
|
||||
libapr1 \
|
||||
libapr-util1 \
|
||||
neon \
|
||||
subversion \
|
||||
subversion-doc \
|
||||
subversion-server
|
||||
|
||||
|
||||
|
||||
# Update /etc/sysconfig/apache2 by
|
||||
# adding 'dav dav_svn' to $APACHE_MODULES:
|
||||
a2enmod dav
|
||||
a2enmod dav_svn
|
||||
|
||||
create a few directories:
|
||||
mkdir -p /srv/svn/repos
|
||||
mkdir -p /srv/svn/user_access
|
||||
mkdir -p /srv/svn/html
|
||||
|
||||
Add the http repository data to /etc/apache2/conf.d/subversion.conf:
|
||||
#------------------------------------------------------------------------
|
||||
#
|
||||
# project related HTML files
|
||||
#
|
||||
<IfModule mod_alias.c>
|
||||
Alias /repos "/srv/svn/html"
|
||||
</IfModule>
|
||||
<Directory /srv/svn/html>
|
||||
Options +Indexes +Multiviews -FollowSymLinks
|
||||
IndexOptions FancyIndexing \
|
||||
ScanHTMLTitles \
|
||||
NameWidth=* \
|
||||
DescriptionWidth=* \
|
||||
SuppressLastModified \
|
||||
SuppressSize
|
||||
|
||||
order allow,deny
|
||||
allow from all
|
||||
</Directory>
|
||||
|
||||
|
||||
# project repository files for project1
|
||||
<Location /repos/project1>
|
||||
DAV svn
|
||||
SVNPath /srv/svn/repos/project1
|
||||
|
||||
# Limit write access to certain people
|
||||
AuthType Basic
|
||||
AuthName "Authorization for project1 required"
|
||||
AuthUserFile /srv/svn/user_access/project1_passwdfile
|
||||
AuthGroupFile /srv/svn/user_access/project1_groupfile
|
||||
<LimitExcept GET PROPFIND OPTIONS REPORT>
|
||||
Require group project1_committers
|
||||
</LimitExcept>
|
||||
|
||||
# Limit read access to certain people
|
||||
<Limit GET PROPFIND OPTIONS REPORT>
|
||||
Require group project1_committers
|
||||
Require group project1_readers
|
||||
</Limit>
|
||||
|
||||
</Location>
|
||||
|
||||
# project repository files for project2
|
||||
<Location /repos/project2>
|
||||
DAV svn
|
||||
SVNPath /srv/svn/repos/project2
|
||||
|
||||
# Limit write permission to list of valid users.
|
||||
<LimitExcept GET PROPFIND OPTIONS REPORT>
|
||||
# Require SSL connection for password protection.
|
||||
# SSLRequireSSL
|
||||
|
||||
AuthType Basic
|
||||
AuthName "Authorization for project2 required"
|
||||
AuthUserFile /srv/svn/user_access/project2_passwdfile
|
||||
Require valid-user
|
||||
</LimitExcept>
|
||||
</Location>
|
||||
#------------------------------------------------------------------------
|
||||
|
||||
create the repositories itself:
|
||||
cd /srv/svn/repos
|
||||
svnadmin create project1
|
||||
chown -R wwwrun:www project1/{dav,db,locks}
|
||||
svnadmin create project2
|
||||
chown -R wwwrun:www project2/{dav,db,locks}
|
||||
|
||||
|
||||
The webserver must be (re)started:
|
||||
rcapache2 restart
|
||||
|
||||
Now create the user access files:
|
||||
project1 is a restricted project.
|
||||
read access requires a password
|
||||
write access is limited to a few users
|
||||
touch /srv/svn/user_access/project1_passwdfile
|
||||
chown root:www /srv/svn/user_access/project1_passwdfile
|
||||
chmod 640 /srv/svn/user_access/project1_passwdfile
|
||||
|
||||
htpasswd2 /srv/svn/user_access/project1_passwdfile olaf
|
||||
htpasswd2 /srv/svn/user_access/project1_passwdfile olh
|
||||
|
||||
this is the group file for project1:
|
||||
/srv/svn/user_access/project1_groupfile
|
||||
content:
|
||||
project1_committers: olh
|
||||
project1_readers: olaf olh
|
||||
|
||||
project2 is world readable, but only a few can commit to the sources.
|
||||
touch /srv/svn/user_access/project2_passwdfile
|
||||
chown root:www /srv/svn/user_access/project2_passwdfile
|
||||
chmod 640 /srv/svn/user_access/project2_passwdfile
|
||||
htpasswd2 /srv/svn/user_access/project2_passwdfile olaf
|
||||
|
||||
You should be able to connect to the server:
|
||||
http://host/repos/project2
|
||||
http://host/repos/project1
|
||||
|
||||
Now import the data, e.g.
|
||||
svn import /path/to/project2-tree http://host/repos/project2
|
||||
|
||||
|
42
subversion.allowed-neon.patch
Normal file
42
subversion.allowed-neon.patch
Normal file
@@ -0,0 +1,42 @@
|
||||
---
|
||||
build/ac-macros/neon.m4 | 4 ++--
|
||||
configure.in | 4 ++--
|
||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
Index: subversion-1.3.x/configure.in
|
||||
===================================================================
|
||||
--- subversion-1.3.x.orig/configure.in
|
||||
+++ subversion-1.3.x/configure.in
|
||||
@@ -226,8 +226,8 @@ AC_SUBST(LT_NO_UNDEFINED)
|
||||
|
||||
# Either a space-separated list of allowable Neon versions, or "any" to
|
||||
# mean allow anything.
|
||||
-NEON_ALLOWED_LIST="0.24.7 0.25.0 0.25.1 0.25.2 0.25.3 0.25.4 0.25.5"
|
||||
-NEON_LATEST_WORKING_VER=0.25.5
|
||||
+NEON_ALLOWED_LIST="0.24.4 0.24.7 0.25.0 0.25.1 0.25.2 0.25.3 0.25.4 0.25.5 0.26.0 0.26.1 0.26.2 0.26.3"
|
||||
+NEON_LATEST_WORKING_VER=0.26.3
|
||||
NEON_URL="http://www.webdav.org/neon/neon-${NEON_LATEST_WORKING_VER}.tar.gz"
|
||||
dnl You can skip the neon version check only if you know what you are doing
|
||||
AC_ARG_ENABLE(neon-version-check,
|
||||
Index: subversion-1.3.x/build/ac-macros/neon.m4
|
||||
===================================================================
|
||||
--- subversion-1.3.x.orig/build/ac-macros/neon.m4
|
||||
+++ subversion-1.3.x/build/ac-macros/neon.m4
|
||||
@@ -50,7 +50,7 @@ AC_DEFUN(SVN_LIB_NEON,
|
||||
NEON_VERSION=`cat $abs_srcdir/neon/.version`
|
||||
AC_MSG_RESULT([$NEON_VERSION])
|
||||
|
||||
- if test -n "`echo \"$NEON_VERSION\" | grep '^0\.25\.'`" ; then
|
||||
+ if test -n "`echo \"$NEON_VERSION\" | grep -E '^0\.2(5|6)\.'`" ; then
|
||||
AC_DEFINE_UNQUOTED([SVN_NEON_0_25], [1],
|
||||
[Defined if have Neon 0.25.x instead of 0.24.7.])
|
||||
fi
|
||||
@@ -123,7 +123,7 @@ AC_DEFUN(SVN_NEON_CONFIG,
|
||||
NEON_VERSION=`$neon_config --version | sed -e 's/^neon //'`
|
||||
AC_MSG_RESULT([$NEON_VERSION])
|
||||
|
||||
- if test -n "`echo \"$NEON_VERSION\" | grep '^0\.25\.'`" ; then
|
||||
+ if test -n "`echo \"$NEON_VERSION\" | grep -E '^0\.2(5|6)\.'`" ; then
|
||||
AC_DEFINE_UNQUOTED([SVN_NEON_0_25], [1],
|
||||
[Defined if have Neon 0.25.x instead of 0.24.7.])
|
||||
fi
|
1293
subversion.changes
Normal file
1293
subversion.changes
Normal file
File diff suppressed because it is too large
Load Diff
44
subversion.conf
Normal file
44
subversion.conf
Normal file
@@ -0,0 +1,44 @@
|
||||
# Example configuration for a subversion repository
|
||||
# see /usr/share/doc/packages/subversion for the full documentation
|
||||
#
|
||||
|
||||
<IfModule mod_dav_svn.c>
|
||||
|
||||
##
|
||||
## project related HTML files
|
||||
##
|
||||
#<IfModule mod_alias.c>
|
||||
#Alias /repos /srv/svn/html
|
||||
#</IfModule>
|
||||
#<Directory /srv/svn/html>
|
||||
# Options +Indexes +Multiviews -FollowSymLinks
|
||||
# IndexOptions FancyIndexing \
|
||||
# ScanHTMLTitles \
|
||||
# NameWidth=* \
|
||||
# DescriptionWidth=* \
|
||||
# SuppressLastModified \
|
||||
# SuppressSize
|
||||
#
|
||||
# order allow,deny
|
||||
# allow from all
|
||||
#</Directory>
|
||||
|
||||
|
||||
|
||||
#<Location /repos/myproject1>
|
||||
# DAV svn
|
||||
# SVNPath /srv/svn/repos/myproject1
|
||||
|
||||
# # Limit write permission to list of valid users.
|
||||
# <LimitExcept GET PROPFIND OPTIONS REPORT>
|
||||
# # Require SSL connection for password protection.
|
||||
# # SSLRequireSSL
|
||||
#
|
||||
# AuthType Basic
|
||||
# AuthName "Authorization Realm"
|
||||
# AuthUserFile /srv/svn/user_access/myproject1_passwdfile
|
||||
# Require valid-user
|
||||
# </LimitExcept>
|
||||
#</Location>
|
||||
|
||||
</IfModule>
|
3
subversion.cvs2svn-1.4.x.tar.bz2
Normal file
3
subversion.cvs2svn-1.4.x.tar.bz2
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:753cd20a17e47cd6783a7ca52e6d1a44eb7b9dc30428663a04db75f8f3c18f32
|
||||
size 346131
|
21
subversion.cvs2svn.install-prefix.patch
Normal file
21
subversion.cvs2svn.install-prefix.patch
Normal file
@@ -0,0 +1,21 @@
|
||||
According to bug #149809, prefix must be /usr/local
|
||||
|
||||
---
|
||||
Makefile | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: cvs2svn-trunk/Makefile
|
||||
===================================================================
|
||||
--- cvs2svn-trunk/Makefile
|
||||
+++ cvs2svn-trunk/Makefile
|
||||
@@ -14,8 +14,8 @@ install:
|
||||
./setup.py install ; \
|
||||
;; \
|
||||
*) \
|
||||
- echo ./setup.py install --root=${DESTDIR} ; \
|
||||
- ./setup.py install --root=${DESTDIR} ; \
|
||||
+ echo ./setup.py install --root=${DESTDIR} --prefix=/usr ; \
|
||||
+ ./setup.py install --root=${DESTDIR} --prefix=/usr ; \
|
||||
;; \
|
||||
esac
|
||||
|
42
subversion.fallback-to-ipv4.patch
Normal file
42
subversion.fallback-to-ipv4.patch
Normal file
@@ -0,0 +1,42 @@
|
||||
Fall back to ipv4 if the host has an ipv6 address,
|
||||
but doesnt respond to ipv6 right now.
|
||||
|
||||
---
|
||||
subversion/libsvn_ra_svn/client.c | 20 ++++++++++++++++++++
|
||||
1 file changed, 20 insertions(+)
|
||||
|
||||
Index: subversion-1.3.x/subversion/libsvn_ra_svn/client.c
|
||||
===================================================================
|
||||
--- subversion-1.3.x.orig/subversion/libsvn_ra_svn/client.c
|
||||
+++ subversion-1.3.x/subversion/libsvn_ra_svn/client.c
|
||||
@@ -137,10 +137,30 @@ static svn_error_t *make_connection(cons
|
||||
return svn_error_wrap_apr(status, _("Can't create socket"));
|
||||
|
||||
status = apr_socket_connect(*sock, sa);
|
||||
+ if (!status)
|
||||
+ goto out;
|
||||
+ if (sa->family == APR_INET6) {
|
||||
+ status = apr_sockaddr_info_get(&sa, hostname, APR_INET, port, 0, pool);
|
||||
+ if (status)
|
||||
+ return svn_error_createf(status, NULL, _("Unknown hostname '%s'"),
|
||||
+ hostname);
|
||||
+#ifdef MAX_SECS_TO_LINGER
|
||||
+ /* ### old APR interface */
|
||||
+ status = apr_socket_create(sock, sa->family, SOCK_STREAM, pool);
|
||||
+#else
|
||||
+ status = apr_socket_create(sock, sa->family, SOCK_STREAM, APR_PROTO_TCP,
|
||||
+ pool);
|
||||
+#endif
|
||||
+ if (status)
|
||||
+ return svn_error_wrap_apr(status, _("Can't create socket"));
|
||||
+
|
||||
+ status = apr_socket_connect(*sock, sa);
|
||||
+ }
|
||||
if (status)
|
||||
return svn_error_wrap_apr(status, _("Can't connect to host '%s'"),
|
||||
hostname);
|
||||
|
||||
+out:
|
||||
return SVN_NO_ERROR;
|
||||
}
|
||||
|
31
subversion.header_wrappers.patch
Normal file
31
subversion.header_wrappers.patch
Normal file
@@ -0,0 +1,31 @@
|
||||
|
||||
|
||||
/usr/bin/python /usr/src/packages/BUILD/subversion-1.3.x/build/generator/swig/header_wrappers.py /usr/src/packages/BUILD/subversion-1.3.x/build.conf /usr/bin/swig /usr/src/packages/BUILD/subversion-1.3.x/subversion/include/svn_auth.h
|
||||
|
||||
/usr/src/packages/BUILD/subversion-1.3.x/subversion/bindings/swig/core.i:613: Error: Unable to find 'svn_auth_h.swg'
|
||||
/usr/bin/swig -I/usr/src/packages/BUILD/subversion-1.3.x/subversion/bindings/swig -I/usr/src/packages/BUILD/subversion-1.3.x/subversion/bindings/swig/include -I/usr/src/packages/BUILD/subversion-1.3.x/subversion/bindings/swig/proxy -I/usr/src/packages/BUILD/subversion-1.3.x/subversion/bindings/swig/proxy -I/usr/src/packages/BUILD/subversion-1.3.x/subversion/include -I/usr/include -I/usr/include/apr-1 -python -classic -w451 -w305 -o subversion/bindings/swig/python/core.c /usr/src/packages/BUILD/subversion-1.3.x/subversion/bindings/swig/core.i
|
||||
|
||||
build/generator/swig/header_wrappers.py | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: subversion-1.3.x/build/generator/swig/header_wrappers.py
|
||||
===================================================================
|
||||
--- subversion-1.3.x.orig/build/generator/swig/header_wrappers.py
|
||||
+++ subversion-1.3.x/build/generator/swig/header_wrappers.py
|
||||
@@ -129,7 +129,7 @@ class Generator(generator.swig.Generator
|
||||
self.proxy_filename(base_fname))
|
||||
|
||||
# Open the output file
|
||||
- self.ofile = open(output_fname, 'w')
|
||||
+ self.ofile = open(output_fname + "~", 'w')
|
||||
self.ofile.write('/* Proxy classes for %s\n' % base_fname)
|
||||
self.ofile.write(' * DO NOT EDIT -- AUTOMATICALLY GENERATED */\n')
|
||||
|
||||
@@ -148,6 +148,7 @@ class Generator(generator.swig.Generator
|
||||
|
||||
# Close our output file
|
||||
self.ofile.close()
|
||||
+ os.rename(output_fname + "~", output_fname)
|
||||
|
||||
def process_header_file(self, fname):
|
||||
"""Generate a wrapper around a header file"""
|
28
subversion.java14.patch
Normal file
28
subversion.java14.patch
Normal file
@@ -0,0 +1,28 @@
|
||||
--- subversion-1.4.x/build/generator/gen_make.py
|
||||
+++ subversion-1.4.x/build/generator/gen_make.py
|
||||
@@ -292,6 +292,6 @@
|
||||
self.ofile.write(
|
||||
'%s_SRC = %s\n'
|
||||
'$(%s_OBJECTS): $(%s_SRC)\n'
|
||||
- '\t%s -d %s -classpath %s:$(%s_CLASSPATH) $(%s_SRC)\n'
|
||||
+ '\t%s -source 1.4 -target 1.4 -d %s -classpath %s:$(%s_CLASSPATH) $(%s_SRC)\n'
|
||||
% (targ_varname, string.join(object_srcs),
|
||||
|
||||
--- subversion-1.4.x/subversion/bindings/java/javahl/build/build.xml
|
||||
+++ subversion-1.4.x/subversion/bindings/java/javahl/build/build.xml
|
||||
@@ -17,13 +17,13 @@
|
||||
</javah>
|
||||
</target>
|
||||
<target name="javac" unless="junit.path">
|
||||
- <javac compiler="modern" destdir="classes">
|
||||
+ <javac source="1.4" target="1.4" destdir="classes">
|
||||
<src path="src"/>
|
||||
<exclude name="org/tigris/subversion/javahl/tests/**"/>
|
||||
</javac>
|
||||
</target>
|
||||
<target name="javac-tests" if="junit.path">
|
||||
- <javac compiler="modern" destdir="classes">
|
||||
+ <javac source="1.4" target="1.4" destdir="classes">
|
||||
<src path="src"/>
|
||||
<classpath path="${junit.path}"/>
|
||||
</javac>
|
40
subversion.libtool-pie-flags.patch
Normal file
40
subversion.libtool-pie-flags.patch
Normal file
@@ -0,0 +1,40 @@
|
||||
Makefile.in | 15 ++++++++-------
|
||||
1 files changed, 8 insertions(+), 7 deletions(-)
|
||||
|
||||
Index: subversion-1.3.x/Makefile.in
|
||||
===================================================================
|
||||
--- subversion-1.3.x.orig/Makefile.in
|
||||
+++ subversion-1.3.x/Makefile.in
|
||||
@@ -143,24 +143,25 @@ CFLAGS = @CFLAGS@ $(EXTRA_CFLAGS)
|
||||
CPPFLAGS = @CPPFLAGS@ $(EXTRA_CPPFLAGS)
|
||||
LDFLAGS = @LDFLAGS@ $(EXTRA_LDFLAGS)
|
||||
|
||||
+PIEFLAGS = -fno-pie -fno-PIE
|
||||
COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) $(INCLUDES)
|
||||
COMPILE_CXX = $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(INCLUDES)
|
||||
-LT_COMPILE = $(LIBTOOL) $(LTFLAGS) --mode=compile $(COMPILE)
|
||||
+LT_COMPILE = $(LIBTOOL) $(LTFLAGS) --mode=compile $(COMPILE) $(PIEFLAGS)
|
||||
|
||||
# special compilation for files destined for mod_dav_svn
|
||||
-COMPILE_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS) $(APACHE_INCLUDES) $(INCLUDES) -o $@ -c
|
||||
+COMPILE_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS) $(PIEFLAGS) $(APACHE_INCLUDES) $(INCLUDES) -o $@ -c
|
||||
|
||||
# special compilation for files destined for libsvn_swig_* (e.g. swigutil_*.c)
|
||||
-COMPILE_SWIG_PY = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_PY_COMPILE) $(CPPFLAGS) -DSWIGPYTHON $(CFLAGS) $(SWIG_PY_INCLUDES) $(INCLUDES) -o $@ -c
|
||||
-COMPILE_SWIG_PL = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS) $(SWIG_PL_INCLUDES) $(INCLUDES) -o $@ -c
|
||||
-COMPILE_SWIG_RB = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_RB_COMPILE) $(CPPFLAGS) $(CFLAGS) $(SWIG_RB_INCLUDES) $(INCLUDES) -o $@ -c
|
||||
+COMPILE_SWIG_PY = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_PY_COMPILE) $(CPPFLAGS) -DSWIGPYTHON $(CFLAGS) $(PIEFLAGS) $(SWIG_PY_INCLUDES) $(INCLUDES) -o $@ -c
|
||||
+COMPILE_SWIG_PL = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS) $(PIEFLAGS) $(SWIG_PL_INCLUDES) $(INCLUDES) -o $@ -c
|
||||
+COMPILE_SWIG_RB = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_RB_COMPILE) $(CPPFLAGS) $(CFLAGS) $(PIEFLAGS) $(SWIG_RB_INCLUDES) $(INCLUDES) -o $@ -c
|
||||
|
||||
# special compilation for files destined for javahl (i.e. C++)
|
||||
-COMPILE_JAVAHL_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=compile $(COMPILE_CXX) $(JAVAHL_INCLUDES) -o $@ -c
|
||||
+COMPILE_JAVAHL_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=compile $(COMPILE_CXX) $(PIEFLAGS) $(JAVAHL_INCLUDES) -o $@ -c
|
||||
COMPILE_JAVAHL_JAVAC = $(JAVAC) $(JAVAC_FLAGS)
|
||||
COMPILE_JAVAHL_JAVAH = $(JAVAH)
|
||||
|
||||
-LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(libdir)
|
||||
+LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) $(PIEFLAGS) -rpath $(libdir)
|
||||
|
||||
# special link rule for mod_dav_svn
|
||||
LINK_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(APACHE_LIBEXECDIR) -avoid-version -module
|
18
subversion.libtool-verbose.patch
Normal file
18
subversion.libtool-verbose.patch
Normal file
@@ -0,0 +1,18 @@
|
||||
Makefile.in | 4 ++--
|
||||
1 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: subversion-1.3.x/Makefile.in
|
||||
===================================================================
|
||||
--- subversion-1.3.x.orig/Makefile.in
|
||||
+++ subversion-1.3.x/Makefile.in
|
||||
@@ -94,8 +94,8 @@ EXEEXT = @EXEEXT@
|
||||
|
||||
SHELL = @SHELL@
|
||||
LIBTOOL = @SVN_LIBTOOL@
|
||||
-LTFLAGS = @SVN_LT_CCTAG@ --silent
|
||||
-LTCXXFLAGS = @SVN_LT_CXXTAG@ --silent
|
||||
+LTFLAGS = @SVN_LT_CCTAG@
|
||||
+LTCXXFLAGS = @SVN_LT_CXXTAG@
|
||||
LT_LDFLAGS = @LT_LDFLAGS@
|
||||
LT_NO_UNDEFINED = @LT_NO_UNDEFINED@
|
||||
LT_CXX_LIBADD = @LT_CXX_LIBADD@
|
20
subversion.ne_lock_discover-args.patch
Normal file
20
subversion.ne_lock_discover-args.patch
Normal file
@@ -0,0 +1,20 @@
|
||||
neon-0.26.1:
|
||||
subversion/libsvn_ra_dav/session.c:1536: warning: passing argument 3 of 'ne_lock_discover' from incompatible pointer type
|
||||
|
||||
---
|
||||
subversion/libsvn_ra_dav/session.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Index: subversion-1.4.x/subversion/libsvn_ra_dav/session.c
|
||||
===================================================================
|
||||
--- subversion-1.4.x.orig/subversion/libsvn_ra_dav/session.c
|
||||
+++ subversion-1.4.x/subversion/libsvn_ra_dav/session.c
|
||||
@@ -1448,7 +1448,7 @@ struct receiver_baton
|
||||
static void
|
||||
lock_receiver(void *userdata,
|
||||
const struct ne_lock *lock,
|
||||
- const char *uri,
|
||||
+ const ne_uri *uri,
|
||||
const ne_status *status)
|
||||
{
|
||||
struct receiver_baton *rb = userdata;
|
18
subversion.perl.LD_RUN_PATH.patch
Normal file
18
subversion.perl.LD_RUN_PATH.patch
Normal file
@@ -0,0 +1,18 @@
|
||||
clear LD_RUN_PATH, it will end up as RPATH in ELF binaries
|
||||
|
||||
Makefile.in | 2 +-
|
||||
1 files changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Index: subversion-1.3.x/Makefile.in
|
||||
===================================================================
|
||||
--- subversion-1.3.x.orig/Makefile.in
|
||||
+++ subversion-1.3.x/Makefile.in
|
||||
@@ -622,7 +622,7 @@ $(SWIG_PL_DIR)/native/Makefile.PL: $(SWI
|
||||
./config.status subversion/bindings/swig/perl/native/Makefile.PL
|
||||
|
||||
$(SWIG_PL_DIR)/native/Makefile: $(SWIG_PL_DIR)/native/Makefile.PL $(swig-pl_native_Makefile_DEPS)
|
||||
- cd $(SWIG_PL_DIR)/native; $(PERL) Makefile.PL
|
||||
+ cd $(SWIG_PL_DIR)/native; $(PERL) Makefile.PL ; for i in `grep -wl ^LD_RUN_PATH Makefile Makefile.[^P]*` ; do sed -i 's@^LD_RUN_PATH.*@LD_RUN_PATH=@' $$i ; done
|
||||
|
||||
swig-pl_DEPS = $(SWIG_PL_DIR)/native/Makefile
|
||||
swig-pl: $(swig-pl_DEPS)
|
160
subversion.rcsvnserve
Normal file
160
subversion.rcsvnserve
Normal file
@@ -0,0 +1,160 @@
|
||||
#! /bin/sh
|
||||
# Copyright (c) 1995-2002 SuSE Linux AG, Nuernberg, Germany.
|
||||
# All rights reserved.
|
||||
#
|
||||
# /etc/init.d/svnserve
|
||||
# and its symbolic link
|
||||
# /usr/sbin/rcsvnserve
|
||||
#
|
||||
# LSB compatible service control script; see http://www.linuxbase.org/spec/
|
||||
#
|
||||
# Note: This script uses functions rc_XXX defined in /etc/rc.status on
|
||||
# UnitedLinux (UL) based Linux distributions. If you want to base your
|
||||
# script on this template and ensure that it works on non UL based LSB
|
||||
# compliant Linux distributions, you either have to provide the rc.status
|
||||
# functions from UL or change the script to work without them.
|
||||
|
||||
### BEGIN INIT INFO
|
||||
# Provides: svnserve
|
||||
# Required-Start: $syslog $remote_fs
|
||||
# X-UnitedLinux-Should-Start: $time ypbind sendmail
|
||||
# Required-Stop: $syslog $remote_fs
|
||||
# X-UnitedLinux-Should-Stop: $time ypbind sendmail
|
||||
# Default-Start: 3 5
|
||||
# Default-Stop: 0 1 2 6
|
||||
# Description: readonly access to a subversion repository
|
||||
### END INIT INFO
|
||||
|
||||
|
||||
# Note on runlevels:
|
||||
# 0 - halt/poweroff 6 - reboot
|
||||
# 1 - single user 2 - multiuser without network exported
|
||||
# 3 - multiuser w/ network (text mode) 5 - multiuser w/ network and X11 (xdm)
|
||||
#
|
||||
# Note on script names:
|
||||
# http://www.linuxbase.org/spec/refspecs/LSB_1.2.0/gLSB/scrptnames.html
|
||||
# A registry has been set up to manage the init script namespace.
|
||||
# http://www.lanana.org/
|
||||
# Please use the names already registered or register one or use a
|
||||
# vendor prefix.
|
||||
|
||||
|
||||
# Check for missing binaries (stale symlinks should not happen)
|
||||
SVNSERVE_BIN=/usr/bin/svnserve
|
||||
test -x $SVNSERVE_BIN || exit 5
|
||||
|
||||
# Check for existence of needed config file and read it
|
||||
SVNSERVE_CONFIG=/etc/sysconfig/svnserve
|
||||
test -r $SVNSERVE_CONFIG || exit 6
|
||||
. $SVNSERVE_CONFIG
|
||||
|
||||
# Source LSB init functions
|
||||
# providing start_daemon, killproc, pidofproc,
|
||||
# log_success_msg, log_failure_msg and log_warning_msg.
|
||||
# This is currently not used by UnitedLinux based distributions and
|
||||
# not needed for init scripts for UnitedLinux only. If it is used,
|
||||
# the functions from rc.status should not be sourced or used.
|
||||
#. /lib/lsb/init-functions
|
||||
|
||||
# Shell functions sourced from /etc/rc.status:
|
||||
# rc_check check and set local and overall rc status
|
||||
# rc_status check and set local and overall rc status
|
||||
# rc_status -v be verbose in local rc status and clear it afterwards
|
||||
# rc_status -v -r ditto and clear both the local and overall rc status
|
||||
# rc_status -s display "skipped" and exit with status 3
|
||||
# rc_status -u display "unused" and exit with status 3
|
||||
# rc_failed set local and overall rc status to failed
|
||||
# rc_failed <num> set local and overall rc status to <num>
|
||||
# rc_reset clear both the local and overall rc status
|
||||
# rc_exit exit appropriate to overall rc status
|
||||
# rc_active checks whether a service is activated by symlinks
|
||||
# rc_splash arg sets the boot splash screen to arg (if active)
|
||||
. /etc/rc.status
|
||||
|
||||
# Reset status of this service
|
||||
rc_reset
|
||||
|
||||
# Return values acc. to LSB for all commands but status:
|
||||
# 0 - success
|
||||
# 1 - generic or unspecified error
|
||||
# 2 - invalid or excess argument(s)
|
||||
# 3 - unimplemented feature (e.g. "reload")
|
||||
# 4 - user had insufficient privileges
|
||||
# 5 - program is not installed
|
||||
# 6 - program is not configured
|
||||
# 7 - program is not running
|
||||
# 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl)
|
||||
#
|
||||
# Note that starting an already running service, stopping
|
||||
# or restarting a not-running service as well as the restart
|
||||
# with force-reload (in case signaling is not supported) are
|
||||
# considered a success.
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
echo -n "Starting svnserve "
|
||||
## Start daemon with startproc(8). If this fails
|
||||
## the return value is set appropriately by startproc.
|
||||
startproc -u "$SVNSERVE_USERID" -g "$SVNSERVE_GROUPID" -e $SVNSERVE_BIN $SVNSERVE_OPTIONS
|
||||
|
||||
# Remember status and be verbose
|
||||
rc_status -v
|
||||
;;
|
||||
stop)
|
||||
echo -n "Shutting down svnserve "
|
||||
## Stop daemon with killproc(8) and if this fails
|
||||
## killproc sets the return value according to LSB.
|
||||
|
||||
killproc -TERM $SVNSERVE_BIN
|
||||
|
||||
# Remember status and be verbose
|
||||
rc_status -v
|
||||
;;
|
||||
try-restart)
|
||||
## Do a restart only if the service was active before.
|
||||
## Note: try-restart is not (yet) part of LSB (as of 1.2)
|
||||
$0 status >/dev/null && $0 restart
|
||||
|
||||
# Remember status and be quiet
|
||||
rc_status
|
||||
;;
|
||||
restart)
|
||||
## Stop the service and regardless of whether it was
|
||||
## running or not, start it again.
|
||||
$0 stop
|
||||
$0 start
|
||||
|
||||
# Remember status and be quiet
|
||||
rc_status
|
||||
;;
|
||||
force-reload)
|
||||
|
||||
echo -n "Reload service svnserve "
|
||||
$0 stop && $0 start
|
||||
#rc_status
|
||||
;;
|
||||
status)
|
||||
echo -n "Checking for service svnserve "
|
||||
## Check status with checkproc(8), if process is running
|
||||
## checkproc will return with exit status 0.
|
||||
|
||||
# Return value is slightly different for the status command:
|
||||
# 0 - service up and running
|
||||
# 1 - service dead, but /var/run/ pid file exists
|
||||
# 2 - service dead, but /var/lock/ lock file exists
|
||||
# 3 - service not running (unused)
|
||||
# 4 - service status unknown :-(
|
||||
# 5--199 reserved (5--99 LSB, 100--149 distro, 150--199 appl.)
|
||||
|
||||
# NOTE: checkproc returns LSB compliant status values.
|
||||
checkproc $SVNSERVE_BIN
|
||||
# NOTE: rc_status knows that we called this init script with
|
||||
# "status" option and adapts its messages accordingly.
|
||||
rc_status -v
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
rc_exit
|
1383
subversion.spec
Normal file
1383
subversion.spec
Normal file
File diff suppressed because it is too large
Load Diff
43
subversion.svn_swig_perl.dep.patch
Normal file
43
subversion.svn_swig_perl.dep.patch
Normal file
@@ -0,0 +1,43 @@
|
||||
Note (probably harmless): No library found for -lsvn_swig_perl-1
|
||||
Writing Makefile for SVN::_Core
|
||||
Note (probably harmless): No library found for -lsvn_swig_perl-1
|
||||
Writing Makefile.client for SVN::_Client
|
||||
Note (probably harmless): No library found for -lsvn_swig_perl-1
|
||||
Writing Makefile.delta for SVN::_Delta
|
||||
Note (probably harmless): No library found for -lsvn_swig_perl-1
|
||||
Writing Makefile.fs for SVN::_Fs
|
||||
Note (probably harmless): No library found for -lsvn_swig_perl-1
|
||||
Writing Makefile.ra for SVN::_Ra
|
||||
Note (probably harmless): No library found for -lsvn_swig_perl-1
|
||||
Writing Makefile.repos for SVN::_Repos
|
||||
Note (probably harmless): No library found for -lsvn_swig_perl-1
|
||||
Writing Makefile.wc for SVN::_Wc
|
||||
|
||||
Makefile.in | 9 +++++----
|
||||
1 files changed, 5 insertions(+), 4 deletions(-)
|
||||
|
||||
Index: subversion-1.3.x/Makefile.in
|
||||
===================================================================
|
||||
--- subversion-1.3.x.orig/Makefile.in
|
||||
+++ subversion-1.3.x/Makefile.in
|
||||
@@ -615,15 +615,16 @@ clean-swig-headers:
|
||||
rm -f $(SWIG_PY_DIR)/*.py; \
|
||||
fi
|
||||
|
||||
+swig-pl_native_Makefile_DEPS = autogen-swig-pl libsvn_client libsvn_delta libsvn_diff \
|
||||
+ libsvn_fs libsvn_ra libsvn_repos libsvn_subr libsvn_wc libsvn_swig_perl
|
||||
+
|
||||
$(SWIG_PL_DIR)/native/Makefile.PL: $(SWIG_SRC_DIR)/perl/native/Makefile.PL.in
|
||||
./config.status subversion/bindings/swig/perl/native/Makefile.PL
|
||||
|
||||
-$(SWIG_PL_DIR)/native/Makefile: $(SWIG_PL_DIR)/native/Makefile.PL
|
||||
+$(SWIG_PL_DIR)/native/Makefile: $(SWIG_PL_DIR)/native/Makefile.PL $(swig-pl_native_Makefile_DEPS)
|
||||
cd $(SWIG_PL_DIR)/native; $(PERL) Makefile.PL
|
||||
|
||||
-swig-pl_DEPS = autogen-swig-pl libsvn_client libsvn_delta libsvn_diff \
|
||||
- libsvn_fs libsvn_ra libsvn_repos libsvn_subr libsvn_wc libsvn_swig_perl \
|
||||
- $(SWIG_PL_DIR)/native/Makefile
|
||||
+swig-pl_DEPS = $(SWIG_PL_DIR)/native/Makefile
|
||||
swig-pl: $(swig-pl_DEPS)
|
||||
cd $(SWIG_PL_DIR)/native; $(MAKE)
|
||||
|
19
subversion.svn_swig_pl_info_receiver.patch
Normal file
19
subversion.svn_swig_pl_info_receiver.patch
Normal file
@@ -0,0 +1,19 @@
|
||||
/usr/src/packages/BUILD/subversion-1.4.x/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c:1134: warning: 'return' with no value, in function returning non-void
|
||||
|
||||
---
|
||||
subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Index: subversion-1.4.x/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c
|
||||
===================================================================
|
||||
--- subversion-1.4.x.orig/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c
|
||||
+++ subversion-1.4.x/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c
|
||||
@@ -1131,7 +1131,7 @@ svn_error_t *svn_swig_pl_info_receiver(v
|
||||
swig_type_info *infoinfo = _SWIG_TYPE("svn_info_t *");
|
||||
|
||||
if (!SvOK((SV *)baton))
|
||||
- return;
|
||||
+ return SVN_NO_ERROR;
|
||||
|
||||
svn_swig_pl_callback_thunk(CALL_SV, baton, &result, "sSS", path, info,
|
||||
infoinfo, pool, POOLINFO);
|
24
subversion.svndiff.sh
Normal file
24
subversion.svndiff.sh
Normal file
@@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
# stupid svn has no 'svn diff -v -R $bignum' to grab all info for a single patch
|
||||
export TZ=UTC
|
||||
export LANG=C
|
||||
export LC_ALL=C
|
||||
shopt -s extglob
|
||||
case "$1" in
|
||||
r+([0-9]))
|
||||
rev=${1#?}
|
||||
shift
|
||||
;;
|
||||
+([0-9]))
|
||||
rev=$1
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
if test -z "$rev"
|
||||
then
|
||||
echo "Usage: $0 <svnrepo revision number>"
|
||||
exit 1
|
||||
fi
|
||||
revprev=$(($rev - 1 ))
|
||||
svn log -v -r $rev "$@"
|
||||
svn diff -r $revprev:$rev "$@"
|
2
subversion.svngrep.sh
Normal file
2
subversion.svngrep.sh
Normal file
@@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
find \( -path '*/.pc' -o -path '*/.svn' \) -prune -o -type f -print0 | xargs -0 grep "$@"
|
30
subversion.sysconfig.svnserve
Normal file
30
subversion.sysconfig.svnserve
Normal file
@@ -0,0 +1,30 @@
|
||||
## Path: Network/Subversion/svnserve
|
||||
## Description: Basic configuration for svnserve
|
||||
|
||||
## Type: string
|
||||
## Default "-d -R -r /srv/svn/repos"
|
||||
#
|
||||
# default options for the svnserve process
|
||||
# it is recommended to provide only readonly access to your data.
|
||||
# there is no authentication possible, everyone can read and write at will
|
||||
# read the subversion documentation about more info
|
||||
#
|
||||
SVNSERVE_OPTIONS="-d -R -r /srv/svn/repos"
|
||||
|
||||
## Type: string
|
||||
## Default "svn"
|
||||
#
|
||||
# svnserve should run as unprivileged user
|
||||
# the userid/groupid svn is not created during package install
|
||||
# run 'useradd -d /srv/svn -s /bin/false svn ; groupadd svn' to create the userid/groupid
|
||||
#
|
||||
SVNSERVE_USERID="svn"
|
||||
|
||||
## Type: string
|
||||
## Default "svn"
|
||||
#
|
||||
# svnserve should run as unprivileged user
|
||||
# the userid/groupid svn is not created during package install
|
||||
# run 'useradd -d /srv/svn -s /bin/false svn ; groupadd svn' to create the userid/groupid
|
||||
#
|
||||
SVNSERVE_GROUPID="svn"
|
3
subversion.viewvc-1.0.x.tar.bz2
Normal file
3
subversion.viewvc-1.0.x.tar.bz2
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7c005e0347a2f0d525126cc1817d5ec8c4318d4d0da74d60e968cf7d2a68873d
|
||||
size 369236
|
134
subversion.viewvc-buglink.patch
Normal file
134
subversion.viewvc-buglink.patch
Normal file
@@ -0,0 +1,134 @@
|
||||
from James Henstridge <james@jamesh.id.au>
|
||||
http://sourceforge.net/tracker/index.php?func=detail&aid=986023&group_id=18760&atid=318760
|
||||
|
||||
lib/config.py | 1 +
|
||||
lib/viewvc.py | 22 +++++++++++++---------
|
||||
viewvc.conf.dist | 15 +++++++++++++++
|
||||
3 files changed, 29 insertions(+), 9 deletions(-)
|
||||
|
||||
Index: viewvc.conf.dist
|
||||
===================================================================
|
||||
--- viewvc.conf.dist.orig
|
||||
+++ viewvc.conf.dist
|
||||
@@ -257,6 +257,21 @@ languages = en-us
|
||||
#---------------------------------------------------------------------------
|
||||
[options]
|
||||
|
||||
+# The 'buglink_base' value is a string that can be used to form a URL
|
||||
+# by appending a bug number. If viewvc sees something that looks
|
||||
+# like a bug number in a log message (eg. "bug 12345" or "#12345"), it
|
||||
+# will be displayed as a link to the bug in your bug tracking system.
|
||||
+#
|
||||
+# For a Bugzilla installation, you probably want to set this to
|
||||
+# something like "http://hostname/show_bug.cgi?id=". For the Debian
|
||||
+# bug tracker, you might use
|
||||
+# "http://hostname/cgi-bin/bugreport.cgi?bug=".
|
||||
+#
|
||||
+# If 'buglink_base' is not set, then bug tracker links won't be
|
||||
+# generated.
|
||||
+#
|
||||
+# buglink_base = http://example.com/show_bug.cgi?id=
|
||||
+
|
||||
# root_as_url_component: Interpret the first path component in the URL
|
||||
# after the script location as the root to use. This is an
|
||||
# alternative to using the "root=" query key. If ViewVC is configured
|
||||
Index: lib/config.py
|
||||
===================================================================
|
||||
--- lib/config.py.orig
|
||||
+++ lib/config.py
|
||||
@@ -221,6 +221,7 @@ class Config:
|
||||
self.options.use_localtime = 0
|
||||
self.options.http_expiration_time = 600
|
||||
self.options.generate_etags = 1
|
||||
+ self.options.buglink_base = None
|
||||
|
||||
def is_forbidden(self, module):
|
||||
if not module:
|
||||
Index: lib/viewvc.py
|
||||
===================================================================
|
||||
--- lib/viewvc.py.orig
|
||||
+++ lib/viewvc.py
|
||||
@@ -970,14 +970,18 @@ def get_file_view_info(request, where, r
|
||||
# addresses. Note that the regexps assume the text is already HTML-encoded.
|
||||
_re_rewrite_url = re.compile('((http|https|ftp|file|svn|svn\+ssh)(://[-a-zA-Z0-9%.~:_/]+)((\?|\&)([-a-zA-Z0-9%.~:_]+)=([-a-zA-Z0-9%.~:_])+)*(#([-a-zA-Z0-9%.~:_]+)?)?)')
|
||||
_re_rewrite_email = re.compile('([-a-zA-Z0-9_.\+]+)@(([-a-zA-Z0-9]+\.)+[A-Za-z]{2,4})')
|
||||
-def htmlify(html):
|
||||
+_re_rewrite_bug = re.compile(r'((?:\bbug[\s#+]|[^&]#|^#)\s*(\d\d+))', re.I)
|
||||
+def htmlify(html, buglink = None):
|
||||
html = cgi.escape(html)
|
||||
html = re.sub(_re_rewrite_url, r'<a href="\1">\1</a>', html)
|
||||
html = re.sub(_re_rewrite_email, r'<a href="mailto:\1@\2">\1@\2</a>', html)
|
||||
+ if buglink is not None:
|
||||
+ html = re.sub(_re_rewrite_bug, r'<a href="%s\2">\1</a>' % buglink, html)
|
||||
return html
|
||||
|
||||
+
|
||||
def format_log(log, cfg):
|
||||
- s = htmlify(log[:cfg.options.short_log_len])
|
||||
+ s = htmlify(log[:cfg.options.short_log_len], cfg.options.buglink_base)
|
||||
if len(log) > cfg.options.short_log_len:
|
||||
s = s + '...'
|
||||
return s
|
||||
@@ -1394,7 +1398,7 @@ def view_markup(request):
|
||||
'date' : make_time_string(entry.date, cfg),
|
||||
'author' : entry.author,
|
||||
'changed' : entry.changed,
|
||||
- 'log' : htmlify(entry.log),
|
||||
+ 'log' : htmlify(entry.log, cfg.options.buglink_base),
|
||||
'size' : entry.size,
|
||||
})
|
||||
|
||||
@@ -1651,7 +1655,7 @@ def view_directory(request):
|
||||
'sortby' : sortby,
|
||||
'sortdir' : sortdir,
|
||||
'tarball_href' : None,
|
||||
- 'search_re' : search_re and htmlify(search_re) or None,
|
||||
+ 'search_re' : search_re and htmlify(search_re, cfg.options.buglink_base) or None,
|
||||
'dir_pagestart' : None,
|
||||
'sortby_file_href' : request.get_url(params={'sortby': 'file',
|
||||
'sortdir': None},
|
||||
@@ -1897,7 +1901,7 @@ def view_log(request):
|
||||
entry.ago = None
|
||||
if rev.date is not None:
|
||||
entry.ago = html_time(request, rev.date, 1)
|
||||
- entry.log = htmlify(rev.log or "")
|
||||
+ entry.log = htmlify(rev.log or "", cfg.options.buglink_base)
|
||||
entry.size = rev.size
|
||||
entry.branch_point = None
|
||||
entry.next_main = None
|
||||
@@ -2359,7 +2363,7 @@ def spaced_html_text(text, cfg):
|
||||
text = string.replace(text, ' ', ' \x01nbsp;')
|
||||
else:
|
||||
text = string.replace(text, ' ', '\x01nbsp;')
|
||||
- text = htmlify(text)
|
||||
+ text = htmlify(text, cfg.options.buglink_base)
|
||||
text = string.replace(text, '\x01', '&')
|
||||
text = string.replace(text, '\x02', '<span style="color:red">\</span><br />')
|
||||
return text
|
||||
@@ -2767,7 +2771,7 @@ def view_diff(request):
|
||||
else:
|
||||
changes = DiffSource(fp, cfg)
|
||||
else:
|
||||
- raw_diff_fp = MarkupPipeWrapper(fp, htmlify(headers), None, 1)
|
||||
+ raw_diff_fp = MarkupPipeWrapper(fp, htmlify(headers, cfg.options.buglink_base), None, 1)
|
||||
|
||||
data.update({
|
||||
'date_left' : rcsdiff_date_reformat(date1, cfg),
|
||||
@@ -3051,7 +3055,7 @@ def view_revision(request):
|
||||
'rev' : str(rev),
|
||||
'author' : author,
|
||||
'date' : date_str,
|
||||
- 'log' : msg and htmlify(msg) or None,
|
||||
+ 'log' : msg and htmlify(msg, request.cfg.options.buglink_base) or None,
|
||||
'ago' : None,
|
||||
'changes' : changes,
|
||||
'prev_href' : prev_rev_href,
|
||||
@@ -3202,7 +3206,7 @@ def build_commit(request, files, limited
|
||||
commit = _item(num_files=len(files), files=[])
|
||||
commit.limited_files = ezt.boolean(limited_files)
|
||||
desc = files[0].GetDescription()
|
||||
- commit.log = htmlify(desc)
|
||||
+ commit.log = htmlify(desc, request.cfg.options.buglink_base)
|
||||
commit.short_log = format_log(desc, request.cfg)
|
||||
commit.author = htmlify(files[0].GetAuthor())
|
||||
commit.rss_date = make_rss_time_string(files[0].GetTime(), request.cfg)
|
37
subversion.viewvc-r1397.patch
Normal file
37
subversion.viewvc-r1397.patch
Normal file
@@ -0,0 +1,37 @@
|
||||
------------------------------------------------------------------------
|
||||
r1397 | cmpilato | 2006-07-21 09:51:13 +0000 (Fri, 21 Jul 2006) | 9 lines
|
||||
Changed paths:
|
||||
M /branches/1.0.x/lib/vclib/svn/__init__.py
|
||||
|
||||
Backport to the 1.0.x branch r1396, whose log message readly thusly:
|
||||
|
||||
Fix issue #18 (Annotate not working in windows for subversion).
|
||||
Thanks to Hern?\195?\161n Mart?\195?\173nez Foffani <hernan.martinez@ecc.es> for testing
|
||||
this patch on Windows.
|
||||
|
||||
* lib/vclib/svn/__init__.py
|
||||
(BlameSource.__init__): Patch up the URLs passed to 'svn blame' on
|
||||
systems that don't use forward-slashes for path separators.
|
||||
---
|
||||
lib/vclib/svn/__init__.py | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
Index: lib/vclib/svn/__init__.py
|
||||
===================================================================
|
||||
--- lib/vclib/svn/__init__.py.orig
|
||||
+++ lib/vclib/svn/__init__.py
|
||||
@@ -483,7 +483,14 @@ class BlameSource:
|
||||
self.last = None
|
||||
self.first_rev = first_rev
|
||||
|
||||
+ # Do a little dance to get a URL that works in both Unix-y and
|
||||
+ # Windows worlds.
|
||||
rootpath = os.path.abspath(rootpath)
|
||||
+ if rootpath and rootpath[0] != '/':
|
||||
+ rootpath = '/' + rootpath
|
||||
+ if os.sep != '/':
|
||||
+ rootpath = string.replace(rootpath, os.sep, '/')
|
||||
+
|
||||
url = 'file://' + string.join([rootpath, fs_path], "/")
|
||||
fp = popen.popen(svn_client_path,
|
||||
('blame', "-r%d" % int(rev), "%s@%d" % (url, int(rev))),
|
65
subversion.viewvc-r1415.patch
Normal file
65
subversion.viewvc-r1415.patch
Normal file
@@ -0,0 +1,65 @@
|
||||
------------------------------------------------------------------------
|
||||
r1415 | cmpilato | 2006-08-01 16:48:48 +0000 (Tue, 01 Aug 2006) | 11 lines
|
||||
|
||||
Backport fix for issue #208 (r1414) to the 1.0.x branch.
|
||||
|
||||
* lib/blame.py
|
||||
(link_includes): Calculate include paths in such a way that '.' is
|
||||
dropped and '..' is normalized. This should prevent us from
|
||||
sending paths through Subversion's APIs that aren't legal (and
|
||||
cause assertions to fire).
|
||||
|
||||
---
|
||||
lib/blame.py | 37 ++++++++++++++++++++-----------------
|
||||
1 file changed, 20 insertions(+), 17 deletions(-)
|
||||
|
||||
Index: lib/blame.py
|
||||
===================================================================
|
||||
--- lib/blame.py.orig
|
||||
+++ lib/blame.py
|
||||
@@ -42,25 +42,28 @@ def link_includes(text, repos, path_part
|
||||
match = re_includes.match(text)
|
||||
if match:
|
||||
incfile = match.group(3)
|
||||
-
|
||||
- # check current directory and parent directory for file
|
||||
- for depth in (-1, -2):
|
||||
- include_path = path_parts[:depth] + [incfile]
|
||||
- try:
|
||||
- # will throw if path doesn't exist
|
||||
- if repos.itemtype(include_path, None) == vclib.FILE:
|
||||
- break
|
||||
- except vclib.ItemNotFound:
|
||||
- pass
|
||||
- else:
|
||||
- include_path = None
|
||||
+ include_path_parts = path_parts[:-1]
|
||||
+ for part in filter(None, string.split(incfile, '/')):
|
||||
+ if part == "..":
|
||||
+ if not include_path_parts:
|
||||
+ # nothing left to pop; don't bother marking up this include.
|
||||
+ return text
|
||||
+ include_path_parts.pop()
|
||||
+ elif part and part != ".":
|
||||
+ include_path_parts.append(part)
|
||||
+
|
||||
+ include_path = None
|
||||
+ try:
|
||||
+ if repos.itemtype(include_path_parts, None) == vclib.FILE:
|
||||
+ include_path = string.join(include_path_parts, '/')
|
||||
+ except vclib.ItemNotFound:
|
||||
+ pass
|
||||
|
||||
if include_path:
|
||||
- url = string.replace(include_url, '/WHERE/',
|
||||
- string.join(include_path, '/'))
|
||||
- return '#%sinclude%s<a href="%s">"%s"</a>' % \
|
||||
- (match.group(1), match.group(2), url, incfile)
|
||||
-
|
||||
+ return '#%sinclude%s<a href="%s">"%s"</a>' % \
|
||||
+ (match.group(1), match.group(2),
|
||||
+ string.replace(include_url, '/WHERE/', include_path), incfile)
|
||||
+
|
||||
return text
|
||||
|
||||
|
30
subversion.viewvc-r1418.patch
Normal file
30
subversion.viewvc-r1418.patch
Normal file
@@ -0,0 +1,30 @@
|
||||
------------------------------------------------------------------------
|
||||
r1418 | cmpilato | 2006-08-01 18:15:32 +0000 (Tue, 01 Aug 2006) | 10 lines
|
||||
|
||||
Backport fix for issue #245 (r1417) to the 1.0.x branch.
|
||||
|
||||
* lib/viewvc.py
|
||||
(build_commit): If the environment variable HTTPS is set to "on", then
|
||||
construct the rss_url data dictionary item with an "https" method instead
|
||||
of an "http" one.
|
||||
|
||||
---
|
||||
lib/viewvc.py | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: lib/viewvc.py
|
||||
===================================================================
|
||||
--- lib/viewvc.py.orig
|
||||
+++ lib/viewvc.py
|
||||
@@ -3205,8 +3205,9 @@ def build_commit(request, files, limited
|
||||
commit.rss_date = make_rss_time_string(files[0].GetTime(), request.cfg)
|
||||
if request.roottype == 'svn':
|
||||
commit.rev = files[0].GetRevision()
|
||||
- commit.rss_url = 'http://%s%s' % \
|
||||
- (request.server.getenv("HTTP_HOST"),
|
||||
+ commit.rss_url = '%s://%s%s' % \
|
||||
+ (request.server.getenv("HTTPS") == "on" and "https" or "http",
|
||||
+ request.server.getenv("HTTP_HOST"),
|
||||
request.get_url(view_func=view_revision,
|
||||
params={'revision': commit.rev},
|
||||
escape=1))
|
27
subversion.viewvc-r1419.patch
Normal file
27
subversion.viewvc-r1419.patch
Normal file
@@ -0,0 +1,27 @@
|
||||
------------------------------------------------------------------------
|
||||
r1419 | cmpilato | 2006-08-01 18:17:39 +0000 (Tue, 01 Aug 2006) | 9 lines
|
||||
|
||||
Backport r1416 to the 1.0.x branch.
|
||||
|
||||
* lib/vclib/svn/__init__.py
|
||||
(BlameSource.__init__): Pass the --non-interactive flag to 'svn blame'
|
||||
so it doesn't wedge when cache authstuffs aren't available or sufficient.
|
||||
|
||||
---
|
||||
lib/vclib/svn/__init__.py | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: lib/vclib/svn/__init__.py
|
||||
===================================================================
|
||||
--- lib/vclib/svn/__init__.py.orig
|
||||
+++ lib/vclib/svn/__init__.py
|
||||
@@ -493,7 +493,8 @@ class BlameSource:
|
||||
|
||||
url = 'file://' + string.join([rootpath, fs_path], "/")
|
||||
fp = popen.popen(svn_client_path,
|
||||
- ('blame', "-r%d" % int(rev), "%s@%d" % (url, int(rev))),
|
||||
+ ('blame', "-r%d" % int(rev), "--non-interactive",
|
||||
+ "%s@%d" % (url, int(rev))),
|
||||
'rb', 1)
|
||||
self.fp = fp
|
||||
|
42
subversion.viewvc-r1423.patch
Normal file
42
subversion.viewvc-r1423.patch
Normal file
@@ -0,0 +1,42 @@
|
||||
------------------------------------------------------------------------
|
||||
r1423 | cmpilato | 2006-08-16 16:32:09 +0000 (Wed, 16 Aug 2006) | 7 lines
|
||||
|
||||
Port r1422 to the 1.0.x branch.
|
||||
|
||||
* lib/viewvc.py
|
||||
(view_markup): Correct the syntax highlighter choosing logic.
|
||||
|
||||
---
|
||||
lib/viewvc.py | 19 +++++++++++--------
|
||||
1 file changed, 11 insertions(+), 8 deletions(-)
|
||||
|
||||
Index: lib/viewvc.py
|
||||
===================================================================
|
||||
--- lib/viewvc.py.orig
|
||||
+++ lib/viewvc.py
|
||||
@@ -1425,14 +1425,17 @@ def view_markup(request):
|
||||
streamer = markup_streamers.get(ext)
|
||||
if streamer:
|
||||
markup_fp = streamer(fp, cfg)
|
||||
- elif cfg.options.use_enscript:
|
||||
- markup_fp = MarkupEnscript(cfg, fp, request.path_parts[-1])
|
||||
- elif cfg.options.use_highlight:
|
||||
- markup_fp = MarkupHighlight(cfg, fp, request.path_parts[-1])
|
||||
-
|
||||
- # If no one has a suitable markup handler, we'll use the default.
|
||||
- if not markup_fp:
|
||||
- markup_fp = MarkupPipeWrapper(fp)
|
||||
+
|
||||
+ # If there wasn't a custom streamer, or the streamer wasn't enabled, we'll
|
||||
+ # try to use one of the configured syntax highlighting programs.
|
||||
+ if not markup_fp:
|
||||
+ if cfg.options.use_enscript:
|
||||
+ markup_fp = MarkupEnscript(cfg, fp, request.path_parts[-1])
|
||||
+ elif cfg.options.use_highlight:
|
||||
+ markup_fp = MarkupHighlight(cfg, fp, request.path_parts[-1])
|
||||
+ else:
|
||||
+ # If no one has a suitable markup handler, we'll use the default.
|
||||
+ markup_fp = MarkupPipeWrapper(fp)
|
||||
|
||||
data['markup'] = markup_fp
|
||||
|
56
subversion.viewvc.conf
Normal file
56
subversion.viewvc.conf
Normal file
@@ -0,0 +1,56 @@
|
||||
# Example configuration for a subversion viewvc repository
|
||||
#
|
||||
# put the string SVN_VIEWCVS in /etc/sysconfig/apache2 APACHE_SERVER_FLAGS
|
||||
# to enable the URL
|
||||
# http://localhost/viewvc
|
||||
<IfDefine SVN_VIEWCVS>
|
||||
|
||||
ScriptAlias /viewvc /srv/viewvc/bin/cgi/viewvc.cgi
|
||||
|
||||
<Directory "/srv/viewvc/bin/cgi">
|
||||
AllowOverride None
|
||||
Options +ExecCGI
|
||||
Order allow,deny
|
||||
Allow from all
|
||||
</Directory>
|
||||
|
||||
# apache can serve the static files directly
|
||||
Alias /viewvc-docroot "/srv/viewvc/templates/docroot"
|
||||
<Directory /srv/viewvc/templates/docroot/>
|
||||
AllowOverride None
|
||||
Order allow,deny
|
||||
Allow from all
|
||||
</Directory>
|
||||
|
||||
</IfDefine>
|
||||
|
||||
<IfModule mod_python.c>
|
||||
<IfDefine SVN_VIEWCVS_MODPYTHON>
|
||||
|
||||
<Directory "/srv/viewvc/bin/mod_python">
|
||||
AllowOverride None
|
||||
#Options +ExecCGI
|
||||
Order allow,deny
|
||||
Allow from all
|
||||
</Directory>
|
||||
|
||||
ScriptAlias /viewvc "/srv/viewvc/bin/mod_python/viewvc.py"
|
||||
<Location /viewvc>
|
||||
AddHandler python-program .py
|
||||
PythonPath "['/srv/viewvc/bin/mod_python']+sys.path"
|
||||
PythonHandler handler
|
||||
#PythonDebug On
|
||||
#AddDefaultCharset UTF-8
|
||||
</Location>
|
||||
|
||||
# apache can serve the static files directly
|
||||
Alias /viewvc-docroot "/srv/viewvc/templates/docroot"
|
||||
<Directory /srv/viewvc/templates/docroot/>
|
||||
AllowOverride None
|
||||
Order allow,deny
|
||||
Allow from all
|
||||
</Directory>
|
||||
|
||||
</IfDefine>
|
||||
</IfModule>
|
||||
|
Reference in New Issue
Block a user