apache, subversion and deps in main
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Licensed under the GNU General Public License, version 3.
|
||||
# See the file http://www.gnu.org/licenses/gpl.txt
|
||||
|
||||
from pisi.actionsapi import get
|
||||
from pisi.actionsapi import autotools
|
||||
from pisi.actionsapi import pisitools
|
||||
from pisi.actionsapi import shelltools
|
||||
from pisi.actionsapi import perlmodules
|
||||
|
||||
def setup():
|
||||
# Respect the user LDFLAGS
|
||||
shelltools.system("./autogen.sh")
|
||||
|
||||
shelltools.export("EXTRA_LDFLAGS", get.LDFLAGS())
|
||||
|
||||
autotools.configure("--disable-static \
|
||||
--with-jdk=/usr/lib/jvm/java-7-openjdk \
|
||||
--enable-javahl \
|
||||
--with-apr=/usr \
|
||||
--with-apr-util=/usr \
|
||||
--with-apache=/usr/lib/apache2/ \
|
||||
--with-apxs \
|
||||
--with-serf=/usr \
|
||||
--with-sqlite=/usr \
|
||||
--with-zlib=/usr \
|
||||
--with-jikes=no \
|
||||
--without-berkeley-db \
|
||||
--disable-mod-activation")
|
||||
|
||||
pisitools.dosed("libtool"," -shared ", " -Wl,--as-needed -shared ")
|
||||
|
||||
def build():
|
||||
# svn
|
||||
autotools.make()
|
||||
|
||||
# python bindings
|
||||
autotools.make("swig-py")
|
||||
|
||||
# perl bindings (needed by git-svn*)
|
||||
# Sometimes parallel build breaks perl bindings
|
||||
autotools.make("-j1 swig-pl")
|
||||
|
||||
# java bindings
|
||||
autotools.make("-j1 javahl")
|
||||
|
||||
def install():
|
||||
# install svn
|
||||
autotools.rawInstall("DESTDIR=%s" % get.installDIR())
|
||||
|
||||
# install swig-py
|
||||
autotools.rawInstall("DESTDIR=%s" % get.installDIR(), "install-swig-py")
|
||||
|
||||
# install swig-pl
|
||||
autotools.rawInstall("DESTDIR=%s" % get.installDIR(), "install-swig-pl")
|
||||
|
||||
# install javahl
|
||||
autotools.rawInstall("DESTDIR=%s" % get.installDIR(), "install-javahl")
|
||||
|
||||
# Move py/c'into proper dir
|
||||
pisitools.domove("/usr/lib/svn-python/svn", "/usr/lib/%s/site-packages" % get.curPYTHON())
|
||||
pisitools.domove("/usr/lib/svn-python/libsvn", "/usr/lib/%s/site-packages" % get.curPYTHON())
|
||||
pisitools.removeDir("/usr/lib/svn-python")
|
||||
|
||||
# some helper tools
|
||||
pisitools.insinto("/usr/bin", "tools/backup/hot-backup.py", "svn-hot-backup")
|
||||
# FIXME: these tools are replaced by new ones
|
||||
# pisitools.insinto("/usr/bin", "contrib/client-side/svn_load_dirs.pl", "svn-load-dirs")
|
||||
# pisitools.insinto("/usr/bin", "contrib/client-side/svnmerge.py", "svnmerge")
|
||||
# shelltools.chmod("%s/usr/bin/svnmerge" % get.installDIR(), 0755)
|
||||
|
||||
# Install upstream bash completion script
|
||||
pisitools.insinto("/etc/bash_completion.d", "tools/client-side/bash_completion", "subversion")
|
||||
|
||||
# Documentation and etc.
|
||||
#pisitools.insinto("/usr/share/doc/%s" % get.srcNAME(), "contrib")
|
||||
pisitools.insinto("/usr/share/doc/%s" % get.srcNAME(), "tools/xslt")
|
||||
pisitools.insinto("/var/www/localhost/htdocs", "tools/xslt/*")
|
||||
|
||||
# Create virtual repository root
|
||||
pisitools.dodir("/var/svn")
|
||||
|
||||
pisitools.dodoc("README")
|
||||
|
||||
# remove unnecessary files i.e. perllocal.pod, .packlist
|
||||
perlmodules.removePacklist()
|
||||
perlmodules.removePodfiles()
|
||||
@@ -0,0 +1,12 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
import os
|
||||
|
||||
def postInstall(fromVersion, fromRelease, toVersion, toRelease):
|
||||
os.system("/bin/mkdir -p /var/svn/conf")
|
||||
os.system("/usr/bin/svnadmin create /var/svn/repos")
|
||||
|
||||
os.system("/bin/chmod -R 774 /var/svn/repos")
|
||||
os.system("/bin/chmod 775 /var/svn/repos")
|
||||
|
||||
os.system("/bin/chown -R svn:svn /var/svn")
|
||||
@@ -0,0 +1,25 @@
|
||||
from comar.service import *
|
||||
|
||||
serviceType = "server"
|
||||
serviceDesc = _({"en": "SVN Server",
|
||||
"tr": "SVN Sunucusu"})
|
||||
serviceConf = "svnserve"
|
||||
|
||||
PIDFILE = "/var/svn/svnserve.pid"
|
||||
|
||||
# Note that "/etc/conf.d/svnserve" passes --root=/var/svn by default
|
||||
|
||||
@synchronized
|
||||
def start():
|
||||
startService(command="/usr/bin/svnserve",
|
||||
args="--pid-file=%s %s" % (PIDFILE, config.get("SVNSERVE_OPTS")),
|
||||
chuid="%s:%s" % (config.get("SVNSERVE_USER"), config.get("SVNSERVE_GROUP")),
|
||||
donotify=True)
|
||||
|
||||
@synchronized
|
||||
def stop():
|
||||
stopService(pidfile=PIDFILE,
|
||||
donotify=True)
|
||||
|
||||
def status():
|
||||
return isServiceRunning(pidfile=PIDFILE)
|
||||
@@ -0,0 +1,51 @@
|
||||
LoadModule dav_module modules/mod_dav.so
|
||||
LoadModule dav_svn_module modules/mod_dav_svn.so
|
||||
LoadModule authz_svn_module modules/mod_authz_svn.so
|
||||
|
||||
# To serve all repositories under SVNParentPath with same configuration
|
||||
<Location /svn>
|
||||
DAV svn
|
||||
SVNParentPath /var/svn/repos
|
||||
SVNIndexXSLT "/svnindex.xsl"
|
||||
#AuthType Basic
|
||||
#AuthName "Subversion repository"
|
||||
#AuthUserFile /var/svn/conf/svnusers_default
|
||||
#Require valid-user
|
||||
</Location>
|
||||
|
||||
#
|
||||
# Example configuration to enable HTTP access for a directory
|
||||
# containing Subversion repositories, "/var/www/svn". Each repository
|
||||
# must be both:
|
||||
#
|
||||
# a) readable and writable by the 'apache' user, and
|
||||
#
|
||||
# b) labelled with the 'httpd_sys_content_t' context if using
|
||||
# SELinux
|
||||
#
|
||||
|
||||
#
|
||||
# To create a new repository "http://localhost/repos/stuff" using
|
||||
# this configuration, run as root:
|
||||
#
|
||||
# # cd /var/www/svn
|
||||
# # svnadmin create stuff
|
||||
# # chown -R apache.apache stuff
|
||||
# # chcon -R -t httpd_sys_content_t stuff
|
||||
#
|
||||
|
||||
#<Location /repos>
|
||||
# DAV svn
|
||||
# SVNParentPath /var/www/svn
|
||||
#
|
||||
# # 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 /path/to/passwdfile
|
||||
# Require valid-user
|
||||
# </LimitExcept>
|
||||
#</Location>
|
||||
@@ -0,0 +1,14 @@
|
||||
diff -ur subversion-1.4.0.orig/Makefile.in subversion-1.4.0/Makefile.in
|
||||
--- subversion-1.4.0.orig/Makefile.in 2006-11-06 16:36:17.000000000 +0200
|
||||
+++ subversion-1.4.0/Makefile.in 2006-11-06 16:50:14.000000000 +0200
|
||||
@@ -209,10 +209,6 @@
|
||||
$(INSTALL_DATA) "$$i" $(DESTDIR)$(swig_pydir); \
|
||||
done; \
|
||||
fi; \
|
||||
- $(PYTHON) -c 'import compileall; \
|
||||
- compileall.compile_dir("$(DESTDIR)$(swig_pydir)", 1, "$(swig_pydir)"); \
|
||||
- compileall.compile_dir("$(DESTDIR)$(swig_pydir_extra)", 1, \
|
||||
- "$(swig_pydir_extra)");'
|
||||
|
||||
# The path to generated and complementary source files for the SWIG
|
||||
# bindings.
|
||||
@@ -0,0 +1,27 @@
|
||||
|
||||
The first half of this is certainly upstream-worthy, but the second half is presumably
|
||||
some Fedora-specific KDE packaging thing. It's not obvious how to get
|
||||
kde4-config to report the directory which contains the .so files.
|
||||
|
||||
--- subversion-1.8.0/build/ac-macros/kwallet.m4.kwallet
|
||||
+++ subversion-1.8.0/build/ac-macros/kwallet.m4
|
||||
@@ -63,15 +63,15 @@ AC_DEFUN(SVN_LIB_KWALLET,
|
||||
fi
|
||||
done
|
||||
qt_include_dirs="`$PKG_CONFIG --cflags-only-I QtCore QtDBus QtGui`"
|
||||
- kde_dir="`$KDE4_CONFIG --prefix`"
|
||||
- SVN_KWALLET_INCLUDES="$DBUS_CPPFLAGS $qt_include_dirs -I$kde_dir/include"
|
||||
+ kde_include_dirs="-I`$KDE4_CONFIG --path include`"
|
||||
+ SVN_KWALLET_INCLUDES="$DBUS_CPPFLAGS $qt_include_dirs $kde_include_dirs"
|
||||
qt_libs_other_options="`$PKG_CONFIG --libs-only-other QtCore QtDBus QtGui`"
|
||||
SVN_KWALLET_LIBS="$DBUS_LIBS -lQtCore -lQtDBus -lQtGui -lkdecore -lkdeui $qt_libs_other_options"
|
||||
CXXFLAGS="$CXXFLAGS $SVN_KWALLET_INCLUDES"
|
||||
LIBS="$LIBS $SVN_KWALLET_LIBS"
|
||||
qt_lib_dirs="`$PKG_CONFIG --libs-only-L QtCore QtDBus QtGui`"
|
||||
kde_lib_suffix="`$KDE4_CONFIG --libsuffix`"
|
||||
- LDFLAGS="$old_LDFLAGS `SVN_REMOVE_STANDARD_LIB_DIRS($qt_lib_dirs -L$kde_dir/lib$kde_lib_suffix)`"
|
||||
+ LDFLAGS="$old_LDFLAGS `SVN_REMOVE_STANDARD_LIB_DIRS($qt_lib_dirs)` -L$libdir/kde4/devel"
|
||||
AC_LANG(C++)
|
||||
AC_LINK_IFELSE([AC_LANG_SOURCE([[
|
||||
#include <kwallet.h>
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
diff -uap subversion-1.7.0/build/generator/gen_base.py.pie subversion-1.7.0/build/generator/gen_base.py
|
||||
--- subversion-1.8.0/build/generator/gen_base.py.pie
|
||||
+++ subversion-1.8.0/build/generator/gen_base.py
|
||||
@@ -409,7 +409,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')
|
||||
@@ -465,6 +465,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)
|
||||
|
||||
@@ -515,8 +520,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):
|
||||
|
||||
--- subversion-1.8.0/Makefile.in.pie
|
||||
+++ subversion-1.8.0/Makefile.in
|
||||
@@ -203,6 +203,9 @@ COMPILE_CXXHL_CXX = $(LIBTOOL) $(LTCXXFL
|
||||
|
||||
LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS)
|
||||
LINK_LIB = $(LINK) $(LT_SO_VERSION) -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)
|
||||
LINK_CXX_LIB = $(LINK_CXX) $(LT_SO_VERSION)
|
||||
|
||||
@@ -676,7 +679,7 @@ schema-clean:
|
||||
$(PYTHON) $(top_srcdir)/build/transform_sql.py $< $(top_srcdir)/$@
|
||||
|
||||
.c.o:
|
||||
- $(COMPILE) -o $@ -c $<
|
||||
+ $(COMPILE) -fpie -o $@ -c $<
|
||||
|
||||
.cpp.o:
|
||||
$(COMPILE_CXX) -o $@ -c $<
|
||||
@@ -0,0 +1,46 @@
|
||||
diff -uap subversion-1.7.0/build.conf.rpath subversion-1.7.0/build.conf
|
||||
--- subversion-1.8.0/build.conf.rpath
|
||||
+++ subversion-1.8.0/build.conf
|
||||
@@ -501,7 +501,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)
|
||||
+link-cmd = $(LINK_LIB)
|
||||
install = swig-py-lib
|
||||
# need special build rule to include -DSWIGPYTHON
|
||||
compile-cmd = $(COMPILE_SWIG_PY)
|
||||
@@ -524,7 +524,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.8.0/build/generator/gen_base.py.rpath
|
||||
+++ subversion-1.8.0/build/generator/gen_base.py
|
||||
@@ -514,6 +514,10 @@ 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
|
||||
+ if self.link_cmd == '$(LINK)':
|
||||
+ self.link_cmd = '$(LINK_LIB)'
|
||||
+
|
||||
class TargetApacheMod(TargetLib):
|
||||
|
||||
def __init__(self, name, options, gen_obj):
|
||||
--- subversion-1.8.0/Makefile.in.rpath
|
||||
+++ subversion-1.8.0/Makefile.in
|
||||
@@ -201,8 +201,8 @@ COMPILE_JAVAHL_JAVAH = $(JAVAH)
|
||||
# special compilation for files destined for cxxhl
|
||||
COMPILE_CXXHL_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=compile $(COMPILE_CXX) $(LT_CFLAGS) $(CXXHL_INCLUDES) -o $@ -c
|
||||
|
||||
-LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(libdir)
|
||||
-LINK_LIB = $(LINK) $(LT_SO_VERSION)
|
||||
+LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS)
|
||||
+LINK_LIB = $(LINK) $(LT_SO_VERSION) -rpath $(libdir)
|
||||
LINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) -rpath $(libdir)
|
||||
LINK_CXX_LIB = $(LINK_CXX) $(LT_SO_VERSION)
|
||||
@@ -0,0 +1,14 @@
|
||||
Makefile.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -652,7 +652,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
|
||||
|
||||
EXTRACLEAN_SWIG_PL=rm -f $(SWIG_PL_SRC_DIR)/native/svn_*.c \
|
||||
$(SWIG_PL_SRC_DIR)/native/core.c
|
||||
@@ -0,0 +1,13 @@
|
||||
[miscellany]
|
||||
enable-auto-props = yes
|
||||
|
||||
[auto-props]
|
||||
*.png = svn:mime-type=image/png
|
||||
*.jpg = svn:mime-type=image/jpeg
|
||||
*.jpe = svn:mime-type=image/jpeg
|
||||
*.jpeg = svn:mime-type=image/jpeg
|
||||
*.bmp = svn:mime-type=image/x-ms-bmp
|
||||
*.odp = svn:mime-type=application/vnd.oasis.opendocument.presentation
|
||||
*.odt = svn:mime-type=application/vnd.oasis.opendocument.text
|
||||
*.ods = svn:mime-type=application/vnd.oasis.opendocument.spreadsheet
|
||||
*.ogg = svn:mime-type=audio/ogg
|
||||
@@ -0,0 +1,19 @@
|
||||
clear LD_RUN_PATH, it will end up as RPATH in ELF binaries
|
||||
|
||||
ERROR: RPATH "/usr/src/packages/BUILD/subversion-1.5.x/subversion/libsvn_subr/.libs" on /var/tmp/subversion-1.5.0-build/usr/lib/perl5/vendor_perl/5.10.0/ppc-linux-thread-multi-64int/auto/SVN/_Wc/_Wc.so is not allowed
|
||||
|
||||
---
|
||||
Makefile.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -641,7 +641,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
|
||||
- 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 = autogen-swig-pl libsvn_swig_perl \
|
||||
$(SWIG_PL_DIR)/native/Makefile
|
||||
@@ -0,0 +1,11 @@
|
||||
--- Makefile.in.orig 2009-02-16 14:10:48.000000000 -0200
|
||||
+++ Makefile.in 2009-06-04 00:56:29.000000000 -0300
|
||||
@@ -678,6 +678,7 @@
|
||||
|
||||
$(SWIG_PL_DIR)/native/Makefile: $(SWIG_PL_DIR)/native/Makefile.PL
|
||||
cd $(SWIG_PL_DIR)/native; $(PERL) Makefile.PL PREFIX=$(prefix)
|
||||
+ cd $(SWIG_PL_DIR)/native; sed -i 's|LD_RUN_PATH|DIE_RPATH_DIE|g' Makefile{,.{client,delta,fs,ra,repos,wc}}
|
||||
|
||||
# There is a "readlink -f" command on some systems for the same purpose,
|
||||
# but it's not as portable (e.g. Mac OS X doesn't have it). These should
|
||||
# only be used where Python/Perl are known to be available.
|
||||
@@ -0,0 +1,113 @@
|
||||
#! /usr/bin/perl
|
||||
|
||||
#
|
||||
# This script recursively (beginning with the current directory)
|
||||
# wipes out everything not registered in SVN.
|
||||
#
|
||||
# rewritten in perl by Oswald Buddenhagen <ossi@kde.org>
|
||||
# based on bash version by Thiago Macieira <thiago@kde.org>
|
||||
# inspired by cvs-clean, written by Oswald Buddenhagen <ossi@kde.org>
|
||||
# inspired by the "old" cvs-clean target from Makefile.common
|
||||
#
|
||||
# This file is free software in terms of the BSD licence. That means
|
||||
# that you can do anything with it except removing this license or
|
||||
# the above copyright notice. There is NO WARRANTY of any kind.
|
||||
#
|
||||
|
||||
# Warning:
|
||||
# This script processes the output from the SVN executable
|
||||
# Do not run it along with colorsvn
|
||||
|
||||
use File::Path;
|
||||
|
||||
my $version = "svn-clean v1.0";
|
||||
my $heading = $version.": cleans up the Subversion working directory\n";
|
||||
my $usage = $heading.
|
||||
"svn-clean [-h] [-n] [-q] [-i|-f] [dirname]\n\n".
|
||||
"Where:\n".
|
||||
" -h shows this help screen\n".
|
||||
" -n dry-run: doesn't actually erase the files, just show their names\n".
|
||||
" -i interactive: ask for confirmation before erasing the files\n".
|
||||
" -f force: doesn't ask for confirmation before erasing\n".
|
||||
" -q quiet: doesn't show output\n";
|
||||
|
||||
|
||||
my $dry_run = 0;
|
||||
my $force = 0;
|
||||
my $quiet = 0;
|
||||
|
||||
sub check_confirm()
|
||||
{
|
||||
return if ($force);
|
||||
|
||||
open(TTY, "+< /dev/tty") or die "cannot open /dev/tty";
|
||||
|
||||
print TTY "This will erase files and directories that aren't in Subversion\n".
|
||||
"Are you sure you want to continue? (y/n) ";
|
||||
|
||||
if (<TTY> =~ /^[Yy]/) {
|
||||
$force = 1;
|
||||
close TTY;
|
||||
return;
|
||||
}
|
||||
|
||||
# user cancelled
|
||||
exit 0;
|
||||
}
|
||||
|
||||
# Parse arguments
|
||||
my $rest = 0;
|
||||
my @files = ();
|
||||
foreach my $arg (@ARGV) {
|
||||
if ($rest) {
|
||||
push @files, $arg;
|
||||
} else {
|
||||
if ($arg eq '-h' || $arg eq '--help') {
|
||||
print $usage;
|
||||
exit (0);
|
||||
} elsif ($arg eq '-n' || $arg eq '--dry-run') {
|
||||
$dry_run = 1;
|
||||
$force = 1;
|
||||
} elsif ($arg eq '-f' || $arg eq '--force') {
|
||||
$force = 1;
|
||||
} elsif ($arg eq '-i' || $arg eq '--interactive') {
|
||||
$force = 0;
|
||||
} elsif ($arg eq '-q' || $arg eq '--quiet') {
|
||||
$quiet = 1;
|
||||
} elsif ($arg eq '--') {
|
||||
$rest = 1;
|
||||
} elsif ($arg =~ /^-/) {
|
||||
print STDERR "svn-clean: unknown argument '".$arg."'\n\n".$usage;
|
||||
exit (1);
|
||||
} else {
|
||||
push @files, $arg;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!@files) {
|
||||
push @files, '.';
|
||||
}
|
||||
|
||||
# Unset TERM just so that no colours are output
|
||||
# in case $SVN points to colorsvn
|
||||
delete $ENV{'TERM'};
|
||||
|
||||
#print($heading."\n") unless $quiet;
|
||||
|
||||
foreach my $dir (@files) {
|
||||
open SVN, "svn status --no-ignore \"".$dir."\"|";
|
||||
while (<SVN>) {
|
||||
/^[I?] +(.*)$/ or next;
|
||||
my $file = $1;
|
||||
check_confirm();
|
||||
lstat $file;
|
||||
if (-d _) {
|
||||
print("D ".$file."\n") unless $quiet;
|
||||
rmtree($file, 0, 0) unless $dry_run;
|
||||
} else {
|
||||
print("F ".$file."\n") unless $quiet;
|
||||
unlink($file) unless $dry_run;
|
||||
}
|
||||
}
|
||||
close SVN;
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
cat <<EOF
|
||||
Usage:
|
||||
svnlastchange <filename> [<filename> ...]
|
||||
|
||||
EOF
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$1" == "-q" ]; then
|
||||
shift
|
||||
else
|
||||
echo >/dev/tty "Hint: Use svn log -r COMMITTED and svn diff -r PREV:COMMITTED"
|
||||
fi
|
||||
|
||||
svn log -r COMMITTED "$*"
|
||||
svn diff -r PREV:COMMITTED "$*" || \
|
||||
echo >&2 "Error retrieving diff: the file was probably added in the last revision"
|
||||
@@ -0,0 +1,15 @@
|
||||
#!/bin/sh
|
||||
# This is a stripped down version of svnlastchange
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
cat <<EOF
|
||||
Usage:
|
||||
svnlastlog <filename> [<filename> ...]
|
||||
|
||||
EOF
|
||||
exit 1
|
||||
fi
|
||||
echo >&2 "Warning: svnlastlog is superfluous"
|
||||
echo >&2 "Use svn log -r COMMITTED"
|
||||
|
||||
svn log -r COMMITTED "$*"
|
||||
@@ -0,0 +1,6 @@
|
||||
#!/bin/sh
|
||||
echo >&2 "Warning: this script is superfluous"
|
||||
echo >&2 "Instead, use: svn merge -rBASE:PREV <filename>"
|
||||
echo >&2
|
||||
|
||||
svn merge -r BASE:PREV "$@"
|
||||
@@ -0,0 +1,8 @@
|
||||
# Default svnserve configuration for Pisi Linux
|
||||
|
||||
# Options for svnserve
|
||||
SVNSERVE_OPTS = "--daemon --root=/var/svn"
|
||||
|
||||
# User and group as which to run svnserve
|
||||
SVNSERVE_USER="svn"
|
||||
SVNSERVE_GROUP="svn"
|
||||
@@ -0,0 +1,225 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>subversion</Name>
|
||||
<Homepage>http://subversion.apache.org/</Homepage>
|
||||
<Packager>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admins@pisilinux.org</Email>
|
||||
</Packager>
|
||||
<License>Subversion</License>
|
||||
<IsA>app:console</IsA>
|
||||
<IsA>service</IsA>
|
||||
<Summary>A compelling replacement for CVS</Summary>
|
||||
<Description>SVN is a version controlling system to store files and control their change history in a repository.</Description>
|
||||
<Archive sha1sum="1244a741dbcf24f2b1d165225f0159a0c994e37a" type="tarbz2">http://archive.apache.org/dist/subversion/subversion-1.9.1.tar.bz2</Archive>
|
||||
<BuildDependencies>
|
||||
<Dependency>apache</Dependency>
|
||||
<Dependency>expat-devel</Dependency>
|
||||
<Dependency>zlib-devel</Dependency>
|
||||
<Dependency>ruby-devel</Dependency>
|
||||
<Dependency>serf-devel</Dependency>
|
||||
<Dependency>sqlite-devel</Dependency>
|
||||
<Dependency>jdk7-openjdk</Dependency>
|
||||
<Dependency>apr-util-devel</Dependency>
|
||||
<Dependency>cyrus-sasl-devel</Dependency>
|
||||
<Dependency>python-devel</Dependency>
|
||||
<Dependency>dbus-devel</Dependency>
|
||||
<Dependency>glib2-devel</Dependency>
|
||||
<Dependency>openssl-devel</Dependency>
|
||||
<Dependency>swig</Dependency>
|
||||
</BuildDependencies>
|
||||
<Patches>
|
||||
<!--Patch level="1">subversion.perl.LD_RUN_PATH.patch</Patch>
|
||||
<Patch level="1">subversion-1.8.0-kwallet.patch</Patch>
|
||||
<Patch level="1">subversion-1.8.0-pie.patch</Patch>
|
||||
<Patch level="1">subversion-1.8.0-rpath.patch</Patch-->
|
||||
<Patch level="1">subversion-swig-perl-install_vendor.patch</Patch>
|
||||
<Patch>subversion.rpath.fix.patch</Patch>
|
||||
<Patch level="1">dont_compile_pyc.patch</Patch>
|
||||
</Patches>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>subversion</Name>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>file</Dependency>
|
||||
<Dependency>zlib</Dependency>
|
||||
<Dependency>expat</Dependency>
|
||||
<Dependency>libgcc</Dependency>
|
||||
<Dependency>sqlite</Dependency>
|
||||
<Dependency>apr</Dependency>
|
||||
<Dependency>serf</Dependency>
|
||||
<Dependency>apr-util</Dependency>
|
||||
<Dependency>cyrus-sasl</Dependency>
|
||||
<!--Dependency>libgnome-keyring</Dependency-->
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="config">/etc/conf.d</Path>
|
||||
<Path fileType="data">/etc/subversion</Path>
|
||||
<Path fileType="data">/etc/bash_completion.d</Path>
|
||||
<Path fileType="data">/usr/share/build</Path>
|
||||
<Path fileType="executable">/usr/bin</Path>
|
||||
<Path fileType="library">/usr/lib</Path>
|
||||
<Path fileType="doc">/usr/share/doc</Path>
|
||||
<Path fileType="info">/usr/share/info</Path>
|
||||
<Path fileType="localedata">/usr/share/locale</Path>
|
||||
<Path fileType="man">/usr/share/man</Path>
|
||||
<Path fileType="data">/var/svn</Path>
|
||||
</Files>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile owner="root" permission="0644" target="/etc/conf.d/svnserve">svnserve.confd</AdditionalFile>
|
||||
|
||||
<!-- http://websvn.kde.org/trunk/KDE/kdesdk/scripts/ -->
|
||||
<!--AdditionalFile owner="root" permission="0755" target="/usr/bin/svnlastchange">svnlastchange</AdditionalFile>
|
||||
<AdditionalFile owner="root" permission="0755" target="/usr/bin/svnrevertlast">svnrevertlast</AdditionalFile>
|
||||
<AdditionalFile owner="root" permission="0755" target="/usr/bin/svnlastlog">svnlastlog</AdditionalFile>
|
||||
<AdditionalFile owner="root" permission="0755" target="/usr/bin/svnclean">svn-clean</AdditionalFile-->
|
||||
<!-- system-wide configuration file for auto mimetype setting -->
|
||||
<AdditionalFile owner="root" permission="0644" target="/etc/subversion/config">subversion.config</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
<Provides>
|
||||
<COMAR script="service.py">System.Service</COMAR>
|
||||
<COMAR script="package.py">System.Package</COMAR>
|
||||
</Provides>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>subversion-devel</Name>
|
||||
<Summary>Development files for subversion</Summary>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>openssl-devel</Dependency>
|
||||
<Dependency>apr-devel</Dependency>
|
||||
<Dependency>serf-devel</Dependency>
|
||||
<Dependency>sqlite-devel</Dependency>
|
||||
<Dependency>apr-util-devel</Dependency>
|
||||
<Dependency release="current">subversion</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="header">/usr/include</Path>
|
||||
<Path fileType="data">/usr/share/pkgconfig</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>mod_dav_svn</Name>
|
||||
<PartOf>server.web</PartOf>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>apr</Dependency>
|
||||
<Dependency>apache</Dependency>
|
||||
<Dependency>apr-util</Dependency>
|
||||
<Dependency>subversion</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="library">/usr/lib/apache2</Path>
|
||||
<Path fileType="executable">/usr/libexec/mod_dav_svn.so</Path>
|
||||
<Path fileType="executable">/usr/libexec/mod_authz_svn.so</Path>
|
||||
<Path fileType="config">/etc/apache2/modules.d</Path>
|
||||
<Path fileType="data">/var/www/localhost/htdocs</Path>
|
||||
</Files>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile owner="root" permission="0644" target="/etc/apache2/modules.d/47_mod_dav_svn.conf">47_mod_dav_svn.conf</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
<Provides>
|
||||
<COMAR script="package.py">System.Package</COMAR>
|
||||
</Provides>
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="12">
|
||||
<Date>2015-09-04</Date>
|
||||
<Version>1.9.1</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Ertuğrul Erata</Name>
|
||||
<Email>ertugrulerata@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="11">
|
||||
<Date>2015-04-04</Date>
|
||||
<Version>1.8.13</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Yusuf Aydemir</Name>
|
||||
<Email>yusuf.aydemir@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="10">
|
||||
<Date>2014-09-14</Date>
|
||||
<Version>1.8.10</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Serdar Soytetir</Name>
|
||||
<Email>kaptan@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="10">
|
||||
<Date>2014-06-21</Date>
|
||||
<Version>1.8.9</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Alihan Öztürk</Name>
|
||||
<Email>alihan@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="9">
|
||||
<Date>2014-04-03</Date>
|
||||
<Version>1.8.8</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Serdar Soytetir</Name>
|
||||
<Email>kaptan@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="8">
|
||||
<Date>2014-03-03</Date>
|
||||
<Version>1.8.5</Version>
|
||||
<Comment>rebuild for openjdk</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvarice@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="7">
|
||||
<Date>2014-01-11</Date>
|
||||
<Version>1.8.5</Version>
|
||||
<Comment>rebuild for cyrus-sasl</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvarice@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="6">
|
||||
<Date>2013-12-28</Date>
|
||||
<Version>1.8.5</Version>
|
||||
<Comment>Fix Deps</Comment>
|
||||
<Name>Osman Erkan</Name>
|
||||
<Email>osman.erkan@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="5">
|
||||
<Date>2013-12-24</Date>
|
||||
<Version>1.8.5</Version>
|
||||
<Comment>Version bump, fix deps, add mandatory serf dependency.</Comment>
|
||||
<Name>Serdar Soytetir</Name>
|
||||
<Email>kaptan@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="4">
|
||||
<Date>2013-11-30</Date>
|
||||
<Version>1.8.1</Version>
|
||||
<Comment>rebuild for perl-svn-simple</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvarice@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="3">
|
||||
<Date>2013-08-17</Date>
|
||||
<Version>1.8.1</Version>
|
||||
<Comment>Dep Fixed</Comment>
|
||||
<Name>Osman Erkan</Name>
|
||||
<Email>osman.erkan@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="2">
|
||||
<Date>2013-08-03</Date>
|
||||
<Version>1.8.1</Version>
|
||||
<Comment>
|
||||
*Version bump to 1.8.1
|
||||
*Disable neon as suggested in http://subversion.apache.org/docs/release-notes/1.8.html#neon-deleted
|
||||
</Comment>
|
||||
<Name>Fatih Turgel</Name>
|
||||
<Email>hitaf@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="1">
|
||||
<Date>2012-10-24</Date>
|
||||
<Version>1.7.7</Version>
|
||||
<Comment>First release</Comment>
|
||||
<Name>Yusuf Aydemir</Name>
|
||||
<Email>yusuf.aydemir@pisilinux.org</Email>
|
||||
</Update>
|
||||
</History>
|
||||
</PISI>
|
||||
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" ?>
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>subversion</Name>
|
||||
<Summary xml:lang="tr">Bir sürüm kontrol sistemi</Summary>
|
||||
<Description xml:lang="tr">Daha gelişmiş özellikleri olan ve önceki CVS yerine kullanılan, bir sürüm yönetim sistemidir.</Description>
|
||||
<Description xml:lang="fr">SVN est un gestionnaire de configuration permettant de stocker des fichiers et de contrôler leur historique de changement dans un dépôt.</Description>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>subversion-devel</Name>
|
||||
<Summary xml:lang="tr">Subversion için geliştirme dosyaları</Summary>
|
||||
</Package>
|
||||
</PISI>
|
||||
Reference in New Issue
Block a user