From 213eade52a8e25907be483181245b05695401b80 Mon Sep 17 00:00:00 2001 From: "Ralf S. Engelschall" Date: Mon, 16 May 2016 09:22:51 +0000 Subject: [PATCH] new package --- subversion-libs/subversion-libs.patch | 121 ++++++++++++++++++++++ subversion-libs/subversion-libs.spec | 144 ++++++++++++++++++++++++++ 2 files changed, 265 insertions(+) create mode 100644 subversion-libs/subversion-libs.patch create mode 100644 subversion-libs/subversion-libs.spec diff --git a/subversion-libs/subversion-libs.patch b/subversion-libs/subversion-libs.patch new file mode 100644 index 0000000000..7c27c7cd93 --- /dev/null +++ b/subversion-libs/subversion-libs.patch @@ -0,0 +1,121 @@ +Index: build-outputs.mk +--- build-outputs.mk.orig 2015-07-27 07:26:42.000000000 +0200 ++++ build-outputs.mk 2015-08-06 09:27:36.943509262 +0200 +@@ -23,7 +23,7 @@ + RA_SVN_DEPS = subversion/libsvn_ra_svn/libsvn_ra_svn-1.la subversion/libsvn_delta/libsvn_delta-1.la subversion/libsvn_subr/libsvn_subr-1.la + RA_SVN_LINK = ../../subversion/libsvn_ra_svn/libsvn_ra_svn-1.la ../../subversion/libsvn_delta/libsvn_delta-1.la ../../subversion/libsvn_subr/libsvn_subr-1.la + +-BUILD_DIRS = subversion/tests/cmdline subversion/tests/libsvn_subr subversion/tests/libsvn_fs_base subversion/tests/libsvn_client subversion/tests/libsvn_wc subversion/bindings/cxxhl subversion/bindings/cxxhl/tests tools/diff subversion/tests/libsvn_diff subversion/tests/libsvn_repos subversion/tests/libsvn_fs_fs subversion/tests/libsvn_fs subversion/tests/libsvn_fs_x tools/dev subversion/bindings/javahl/src/org/apache/subversion/javahl/callback subversion/bindings/javahl/classes subversion/bindings/javahl/include subversion/bindings/javahl/src/org/tigris/subversion/javahl subversion/bindings/javahl/tests/org/tigris/subversion/javahl subversion/bindings/javahl/src/org/apache/subversion/javahl subversion/bindings/javahl/src/org/apache/subversion/javahl/remote subversion/bindings/javahl/src/org/apache/subversion/javahl/types subversion/bindings/javahl/src/org/apache/subversion/javahl/util subversion/bindings/javahl/tests/org/apache/subversion/javahl gmock-fused subversion/libsvn_auth_gnome_keyring subversion/libsvn_auth_kwallet subversion/libsvn_client subversion/libsvn_delta subversion/libsvn_diff subversion/libsvn_fs subversion/libsvn_fs_base subversion/libsvn_fs_base/bdb subversion/libsvn_fs_base/util subversion/libsvn_fs_fs subversion/libsvn_fs_util subversion/libsvn_fs_x subversion/libsvn_ra subversion/libsvn_ra_local subversion/libsvn_ra_serf subversion/libsvn_ra_svn subversion/libsvn_repos subversion/libsvn_subr subversion/bindings/swig/perl/libsvn_swig_perl subversion/bindings/swig/python/libsvn_swig_py subversion/bindings/swig/ruby/libsvn_swig_ruby subversion/tests subversion/libsvn_wc subversion/bindings/cxxhl/src subversion/bindings/cxxhl/src/aprwrap subversion/bindings/javahl/native subversion/bindings/javahl/native/jniwrapper subversion/po subversion/mod_authz_svn subversion/mod_dav_svn subversion/mod_dav_svn/reports subversion/mod_dav_svn/posts tools/server-side/mod_dontdothat subversion/tests/libsvn_ra_local subversion/tests/libsvn_ra subversion/tests/libsvn_delta subversion/svn tools/server-side tools/dev/wc-ng subversion/svnadmin subversion/svnbench subversion/svndumpfilter subversion/svnfsfs subversion/svnlook subversion/svnmucc tools/dev/svnraisetreeconflict subversion/svnrdump subversion/svnserve subversion/svnsync subversion/svnversion subversion/bindings/swig subversion/tests/libsvn_wc/../../libsvn_subr subversion/bindings/swig/python subversion/bindings/swig/perl subversion/bindings/swig/ruby subversion/bindings/swig/proxy ++BUILD_DIRS = subversion/tests/cmdline subversion/tests/libsvn_subr subversion/tests/libsvn_fs_base subversion/tests/libsvn_client subversion/tests/libsvn_wc subversion/bindings/cxxhl subversion/bindings/cxxhl/tests tools/diff subversion/tests/libsvn_diff subversion/tests/libsvn_repos subversion/tests/libsvn_fs_fs subversion/tests/libsvn_fs subversion/tests/libsvn_fs_x tools/dev subversion/bindings/javahl/src/org/apache/subversion/javahl/callback subversion/bindings/javahl/classes subversion/bindings/javahl/include subversion/bindings/javahl/src/org/tigris/subversion/javahl subversion/bindings/javahl/tests/org/tigris/subversion/javahl subversion/bindings/javahl/src/org/apache/subversion/javahl subversion/bindings/javahl/src/org/apache/subversion/javahl/remote subversion/bindings/javahl/src/org/apache/subversion/javahl/types subversion/bindings/javahl/src/org/apache/subversion/javahl/util subversion/bindings/javahl/tests/org/apache/subversion/javahl gmock-fused subversion/libsvn_auth_gnome_keyring subversion/libsvn_auth_kwallet subversion/libsvn_client subversion/libsvn_delta subversion/libsvn_diff subversion/libsvn_fs subversion/libsvn_fs_base subversion/libsvn_fs_base/bdb subversion/libsvn_fs_base/util subversion/libsvn_fs_fs subversion/libsvn_fs_util subversion/libsvn_fs_x subversion/libsvn_ra subversion/libsvn_ra_local subversion/libsvn_ra_serf subversion/libsvn_ra_svn subversion/libsvn_repos subversion/libsvn_subr subversion/bindings/swig/perl/libsvn_swig_perl subversion/bindings/swig/python/libsvn_swig_py subversion/bindings/swig/ruby/libsvn_swig_ruby subversion/tests subversion/libsvn_wc subversion/bindings/cxxhl/src subversion/bindings/cxxhl/src/aprwrap subversion/bindings/javahl/native subversion/bindings/javahl/native/jniwrapper subversion/po subversion/mod_authz_svn subversion/mod_dav_svn subversion/mod_dav_svn/reports subversion/mod_dav_svn/posts subversion/tests/libsvn_ra_local subversion/tests/libsvn_ra subversion/tests/libsvn_delta subversion/svn tools/server-side tools/dev/wc-ng subversion/svnadmin subversion/svnbench subversion/svndumpfilter subversion/svnfsfs subversion/svnlook subversion/svnmucc tools/dev/svnraisetreeconflict subversion/svnrdump subversion/svnserve subversion/svnsync subversion/svnversion subversion/bindings/swig subversion/tests/libsvn_wc/../../libsvn_subr subversion/bindings/swig/python subversion/bindings/swig/perl subversion/bindings/swig/ruby subversion/bindings/swig/proxy + + BDB_TEST_DEPS = subversion/tests/libsvn_fs_base/changes-test$(EXEEXT) subversion/tests/libsvn_fs_base/fs-base-test$(EXEEXT) subversion/tests/libsvn_fs_base/strings-reps-test$(EXEEXT) + +@@ -1081,7 +1081,7 @@ + + tests: subversion/bindings/cxxhl/cxxhl-tests$(EXEEXT) gmock-fused/libgmock-1.la + +-tools: tools/diff/diff$(EXEEXT) tools/diff/diff3$(EXEEXT) tools/diff/diff4$(EXEEXT) tools/dev/fsfs-access-map$(EXEEXT) tools/server-side/mod_dontdothat/mod_dontdothat.la tools/server-side/svn-populate-node-origins-index$(EXEEXT) tools/server-side/svnauthz$(EXEEXT) tools/server-side/svnauthz-validate$(EXEEXT) tools/dev/svnraisetreeconflict/svnraisetreeconflict$(EXEEXT) tools/dev/x509-parser$(EXEEXT) ++tools: tools/diff/diff$(EXEEXT) tools/diff/diff3$(EXEEXT) tools/diff/diff4$(EXEEXT) tools/dev/fsfs-access-map$(EXEEXT) tools/server-side/svn-populate-node-origins-index$(EXEEXT) tools/server-side/svnauthz$(EXEEXT) tools/server-side/svnauthz-validate$(EXEEXT) tools/dev/svnraisetreeconflict/svnraisetreeconflict$(EXEEXT) tools/dev/x509-parser$(EXEEXT) + + + ######################################## +@@ -1314,7 +1314,7 @@ + if $(SVN_USE_GMOCK) ; then cd subversion/bindings/cxxhl ; $(INSTALL_TESTS) cxxhl-tests$(EXEEXT) $(DESTDIR)$(testsdir)/cxxhl-tests$(EXEEXT) ; fi + + +-install-tools: tools/diff/diff$(EXEEXT) tools/diff/diff3$(EXEEXT) tools/diff/diff4$(EXEEXT) tools/dev/fsfs-access-map$(EXEEXT) tools/server-side/mod_dontdothat/mod_dontdothat.la tools/server-side/svn-populate-node-origins-index$(EXEEXT) tools/server-side/svnauthz$(EXEEXT) tools/server-side/svnauthz-validate$(EXEEXT) tools/dev/svnraisetreeconflict/svnraisetreeconflict$(EXEEXT) tools/dev/x509-parser$(EXEEXT) ++install-tools: tools/diff/diff$(EXEEXT) tools/diff/diff3$(EXEEXT) tools/diff/diff4$(EXEEXT) tools/dev/fsfs-access-map$(EXEEXT) tools/server-side/svn-populate-node-origins-index$(EXEEXT) tools/server-side/svnauthz$(EXEEXT) tools/server-side/svnauthz-validate$(EXEEXT) tools/dev/svnraisetreeconflict/svnraisetreeconflict$(EXEEXT) tools/dev/x509-parser$(EXEEXT) + $(MKDIR) $(DESTDIR)$(toolsdir) + cd tools/diff ; $(INSTALL_TOOLS) diff$(EXEEXT) $(DESTDIR)$(toolsdir)/diff$(EXEEXT) + +@@ -1324,7 +1324,6 @@ + + cd tools/dev ; $(INSTALL_TOOLS) fsfs-access-map$(EXEEXT) $(DESTDIR)$(toolsdir)/fsfs-access-map$(EXEEXT) + +- if $(INSTALL_APACHE_MODS) ; then cd tools/server-side/mod_dontdothat ; $(MKDIR) "$(APACHE_LIBEXECDIR)" ; $(INSTALL_MOD_SHARED) -n dontdothat mod_dontdothat.la ; fi + cd tools/server-side ; $(INSTALL_TOOLS) svn-populate-node-origins-index$(EXEEXT) $(DESTDIR)$(toolsdir)/svn-populate-node-origins-index$(EXEEXT) + + cd tools/server-side ; $(INSTALL_TOOLS) svnauthz$(EXEEXT) $(DESTDIR)$(toolsdir)/svnauthz$(EXEEXT) +@@ -3488,9 +3487,6 @@ + + tools/diff/diff4.lo: tools/diff/diff4.c subversion/include/private/svn_debug.h subversion/include/svn_checksum.h subversion/include/svn_diff.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h + +-tools/server-side/mod_dontdothat/mod_dontdothat.lo: tools/server-side/mod_dontdothat/mod_dontdothat.c subversion/include/mod_dav_svn.h subversion/include/private/svn_debug.h subversion/include/private/svn_fspath.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_string.h subversion/include/svn_types.h +- if $(INSTALL_APACHE_MODS) ; then $(COMPILE_APACHE_MOD) $(canonicalized_srcdir)tools/server-side/mod_dontdothat/mod_dontdothat.c ; else echo "fake" > tools/server-side/mod_dontdothat/mod_dontdothat.lo ; fi +- + tools/server-side/svn-populate-node-origins-index.lo: tools/server-side/svn-populate-node-origins-index.c subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h + + tools/server-side/svnauthz.lo: tools/server-side/svnauthz.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_fspath.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h +Index: build.conf +--- build.conf.orig 2015-06-24 06:03:20.000000000 +0200 ++++ build.conf 2015-08-06 09:27:58.003160140 +0200 +@@ -415,15 +415,6 @@ + libs = libsvn_repos libsvn_subr libhttpd + install = apache-mod + +-[mod_dontdothat] +-description = Apache Httpd module to block certain kinds of Apache Subversion requests +-when = INSTALL_APACHE_MODS +-type = apache-mod +-path = tools/server-side/mod_dontdothat +-nonlibs = mod_dav_svn apr aprutil +-libs = libsvn_subr xml libhttpd +-install = tools +- + # The Subversion FSFS repository manipulation tool + [svnfsfs] + description = Subversion FSFS Repository Manipulation Tool +@@ -1483,7 +1474,7 @@ + path = build/win32 + libs = svn svnadmin svndumpfilter svnlook svnmucc svnserve svnrdump svnsync + svnversion +- mod_authz_svn mod_dav_svn mod_dontdothat ++ mod_authz_svn mod_dav_svn + svnauthz svnauthz-validate svnraisetreeconflict + svnfsfs svnbench + +Index: subversion/mod_dav_svn/repos.c +--- subversion/mod_dav_svn/repos.c.orig 2015-04-20 06:00:17.000000000 +0200 ++++ subversion/mod_dav_svn/repos.c 2015-08-06 09:26:02.403175226 +0200 +@@ -3628,6 +3628,7 @@ + */ + ap_fputs(output, bb, + " \n
Powered by " ++ "OpenPKG " + "" + "Apache Subversion" + " version " SVN_VERSION "." +Index: subversion/svnserve/cyrus_auth.c +--- subversion/svnserve/cyrus_auth.c.orig 2014-03-19 00:00:35.000000000 +0100 ++++ subversion/svnserve/cyrus_auth.c 2015-08-06 09:26:02.403175226 +0200 +@@ -116,7 +116,7 @@ + svn_error_t *err = svn_error_create(SVN_ERR_RA_NOT_AUTHORIZED, NULL, + sasl_errstring(result, NULL, NULL)); + return svn_error_quick_wrap(err, +- _("Could not initialize the SASL library")); ++ _("Could not initialize the SASL library (svnserve: APR failure)")); + } + return SVN_NO_ERROR; + } +Index: subversion/svnserve/svnserve.c +--- subversion/svnserve/svnserve.c.orig 2015-02-13 12:17:40.000000000 +0100 ++++ subversion/svnserve/svnserve.c 2015-08-06 09:28:31.913140389 +0200 +@@ -71,6 +71,10 @@ + #include "server.h" + #include "logger.h" + ++#ifdef SVN_HAVE_SASL ++#include ++#endif ++ + /* The strategy for handling incoming connections. Some of these may be + unavailable due to platform limitations. */ + enum connection_handling_mode { +@@ -702,6 +706,7 @@ + apr_size_t max_thread_count = THREADPOOL_MAX_SIZE; + #ifdef SVN_HAVE_SASL + SVN_ERR(cyrus_init(pool)); ++ openlog("svnserve", LOG_NDELAY|LOG_PID, LOG_DAEMON); + #endif + + /* Check library versions */ diff --git a/subversion-libs/subversion-libs.spec b/subversion-libs/subversion-libs.spec new file mode 100644 index 0000000000..f84a3aaa8c --- /dev/null +++ b/subversion-libs/subversion-libs.spec @@ -0,0 +1,144 @@ +## +## subversion-libs.spec -- OpenPKG RPM Package Specification +## Copyright (c) 2000-2016 OpenPKG Foundation e.V. +## +## Permission to use, copy, modify, and distribute this software for +## any purpose with or without fee is hereby granted, provided that +## the above copyright notice and this permission notice appear in all +## copies. +## +## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED +## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR +## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +## SUCH DAMAGE. +## + +# package version +%define V_dist 1.9.4 +%define V_opkg 1.9.4 + +# package information +Name: subversion-libs +Summary: Subversion Source Revision Control System (C Libraries) +URL: http://subversion.apache.org/ +Vendor: Apache Software Foundation +Packager: OpenPKG Foundation e.V. +Distribution: OpenPKG Community +Class: EVAL +Group: SCM +License: Apache/BSD +Version: %{V_opkg} +Release: 20160516 + +# package options +%option with_sasl no + +# list of sources +Source0: http://www.apache.org/dist/subversion/subversion-%{V_dist}.tar.bz2 +Patch0: subversion-libs.patch + +# build information +BuildPreReq: OpenPKG, openpkg >= 20160101, make, libtool, sed, pkgconfig +PreReq: OpenPKG, openpkg >= 20160101 +BuildPreReq: openssl, zlib, libiconv, expat, serf, neon, apr, sqlite +PreReq: openssl, zlib, libiconv, expat, serf, neon, apr, sqlite +%if "%{with_sasl}" == "yes" +BuildPreReq: sasl +PreReq: sasl +%endif + +%description + These are the shared C libraries of Subversion. + +%track + prog subversion-libs = { + version = %{V_dist} + url = http://subversion.apache.org/download/ + regex = subversion-(\d+\.\d+.\d+)\.tar\.bz2 + } + +%prep + %setup -q -n subversion-%{V_dist} + %patch -p0 + + # patch: adjust path to configuration directory + %{l_shtool} subst \ + -e 's;/etc/subversion;%{l_prefix}/etc/subversion;g' \ + subversion/libsvn_subr/config_impl.h \ + subversion/libsvn_subr/config_file.c + +%build + # configure package + CC="%{l_cc}" \ + CFLAGS="%{l_cflags -O} -pthread" \ + CPPFLAGS="%{l_cppflags libxml2 .} -DSQLITE_THREADSAFE=1" \ +%if "%{with_sasl}" == "yes" + LDFLAGS="%{l_ldflags} `pkg-config sasl --libs-only-L` -pthread" \ + LIBS="`pkg-config sasl --libs-only-l` `pkg-config apr-util-1 --libs-only-l` -lz %{l_fsl_libs} -lneon -lssl -lcrypto" \ +%else + LDFLAGS="%{l_ldflags} -pthread" \ + LIBS="`pkg-config apr-util-1 --libs-only-l` -lz %{l_fsl_libs} -lneon -lssl -lcrypto" \ +%endif + CONFIG_SHELL="%{l_bash}" \ + ./configure \ + --prefix=%{l_prefix} \ + --libdir=%{l_prefix}/lib \ + --mandir=%{l_prefix}/man \ + --without-berkeley-db \ + --with-sqlite=%{l_prefix} \ + --with-ssl=openssl \ + --with-zlib=%{l_prefix} \ + --with-apr=%{l_prefix} \ + --with-apr-util=%{l_prefix} \ + --with-neon=%{l_prefix} \ + --with-serf=%{l_prefix} \ +%if "%{with_sasl}" == "yes" + --with-sasl \ +%else + --without-sasl \ +%endif + --without-gssapi \ + --with-apxs \ + --disable-mod-activation \ + --disable-nls \ + --enable-shared \ + --disable-static + + # build package + %{l_make} %{l_mflags} + +%install + # install package + %{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT + + # post-adjust installation + mv $RPM_BUILD_ROOT%{l_prefix}/include/subversion-1 \ + $RPM_BUILD_ROOT%{l_prefix}/include/subversion + mv $RPM_BUILD_ROOT%{l_prefix}/share/pkgconfig \ + $RPM_BUILD_ROOT%{l_prefix}/lib/pkgconfig + + # strip down installation + rm -rf $RPM_BUILD_ROOT%{l_prefix}/bin + rm -rf $RPM_BUILD_ROOT%{l_prefix}/share + rm -rf $RPM_BUILD_ROOT%{l_prefix}/man + rm -rf $RPM_BUILD_ROOT%{l_prefix}/build-1 + rm -rf $RPM_BUILD_ROOT%{l_prefix}/libexec + rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/subversion/*.exp + rm -f $RPM_BUILD_ROOT%{l_prefix}/include/subversion/svn-revision.txt + rm -f $RPM_BUILD_ROOT%{l_prefix}/include/subversion/mod_dav_svn.h + + # determine installation files + %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} + +%files -f files + +%clean +