Re: Error E170013: The server unexpectedly closed the,connection.
Hi Daniel and Brane, Thanks for your feedback. I haven't heard back from the user whether your suggestions solved the problem. -- Best regards, Thomas Singer = syntevo GmbH www.syntevo.com On 2020-11-28 16:40, Branko Čibej wrote: On 27.11.2020 22:24, Daniel Sahlberg wrote: Den fre 27 nov. 2020 kl 20:45 skrev Thomas Singer mailto:thomas.sin...@syntevo.com>>: How valuable is the information that the user can access the SVN server from a browser? How to analyze/debug the access to find out at what stage it fails? Not a Mac guy myself, but I on Windows would suspect proxy configurations in the browser, application aware firewall that filter out requests from Subversion or some trickery with the https certificate chain. I would assume these are also possible on macOS. On corporate networks I have seen firewalls or transparent proxy servers that decrypt https traffic and filter based on for example user agent strings or usage patterns. It seems Wireshark is available for macOS so I would start there to make sure traffic is actually getting out of the box. Then working my way through the network to see where the packages are dropped. I concur, all of the above makes sense. -- Brane
Re: [Patch] Introduce release mode configure script (Re: [Patch] Update the INSTALL file for SWIG bindings)
On 2020/12/04 6:40, Yasuhito FUTATSUKI wrote: > Many thanks for the reviw. Then I've amended the patch. > (attached file, introduce-release-mode-configure-patch-v2.txt) I'm very sorry the patch attached previous mail is a bit old. It contains an extra tweak on style in release mode block of SVN_DETERMINE_SWIG_OPTS in build/ac-macros/swig.m4. Inline diff was not corresponded with the patch. The correct patch is the one attached in this message. Thanks, -- Yasuhito FUTATSUKI Distinguish configure scripts on release mode and non release mode. Although makefiles in Subversion's release tarball do not support generating SWIG language bindings C source files using swig, the configure scripts shipped with the release tarball had an option to specify how to find SWIG executable, and checked it. To avoid this, we introduce "release mode" to the configure script and hide the option and code to check a SWIG executable on it. * . (svn:ignore): Ignore aclocal.m4. * Makefile.in (local-extraclean): Clean up aclocal.m4. * aclocal.m4.in (): Renamed from aclocal.m4 * autogen.sh (): Write an macro "SVN_RELEASE_MODE" definition to aclocal.m4 if --release is specfied on the command line. * build/ac-macros/swig.m4 (): Also mension about Perl and Ruby. (SVN_CHECK_SWIG): - Hide --with-swig option in release mode. - Check SWIG executable only if non release mode and at least one of SWIG bindings is specfied to be built. (SVN_FIND_SWIG): Move checks for each bindings into new macro SVN_DETERMINE_SWIG_OPTS. (SVN_DETERMINE_SWIG_OPTS): New macro split from SVN_FIND_SWIG. - When not in release mode, warn if Perl/Python/Ruby interpreter is set but SWIG is not found. Also do not build them with make swig-pl/make swig-py/make swig-rb in this case. - Check swig version only when it is needed and when not in release mode. * configure.ac (): - Tweak help string for --with-swig-perl, --with-swig-python, --with-swig-ruby. - Warn if --with-swig-perl is not specified but variable 'PERL' is set. - Warn if --with-swig-ruby is not specified but variable 'RUBY' is set, even the value is not 'no' nor 'none'. * subversion/bindings/swig/INSTALL (Step 2): Mention that configure and makefiles in the release tarball don't support generating SWIG bindings C source files. Review by: brane Index: Makefile.in === --- Makefile.in (revision 1883722) +++ Makefile.in (working copy) @@ -475,6 +475,7 @@ local-extraclean: extraclean-bindings local-distclean rm -f $(top_srcdir)/build-outputs.mk \ $(top_srcdir)/subversion/svn_private_config.h.in \ + $(top_srcdir)/aclocal.m4 \ $(top_srcdir)/configure \ $(top_srcdir)/gen-make.opts \ $(top_srcdir)/build/config.guess \ Index: aclocal.m4 (deleted) === Index: aclocal.m4.in (added) === Index: autogen.sh === --- autogen.sh (revision 1883722) +++ autogen.sh (working copy) @@ -51,6 +51,17 @@ ;; esac done + +# Generate aclocal.m4 +cp -f aclocal.m4.in aclocal.m4 +if test -n "$RELEASE_MODE"; then + cat <>aclocal.m4 + +# Generated by 'autogen.sh --release' +AC_DEFUN([SVN_RELEASE_MODE],[1]) +EOF +fi + # ### The order of parameters is important; buildcheck.sh depends on it and # ### we don't want to copy the fancy option parsing loop there. For the # ### same reason, all parameters should be quoted, so that buildcheck.sh Index: build/ac-macros/swig.m4 === --- build/ac-macros/swig.m4 (revision 1883722) +++ build/ac-macros/swig.m4 (working copy) @@ -22,17 +22,19 @@ dnl if it is, then check to see if we have the correct version of python. dnl dnl if we do, then set up the appropriate SWIG_ variables to build the -dnl python bindings. +dnl Python, Perl, and Ruby bindings. AC_DEFUN(SVN_CHECK_SWIG, [ - AC_ARG_WITH(swig, - AS_HELP_STRING([--with-swig=PATH], - [Try to use 'PATH/bin/swig' to build the - swig bindings. If PATH is not specified, - look for a 'swig' binary in your PATH.]), + m4_ifndef([SVN_RELEASE_MODE], [ -case "$withval" in +AC_ARG_WITH(swig, +AS_HELP_STRING([--with-swig=PATH], + [Try to use 'PATH/bin/swig' to build the +swig bindings. If PATH is not specified, +look for a 'swig' binary in your PATH.]), +[ + case "$withval" in yes) svn_find_swig_arg=required ;; @@ -39,12 +41,20 @@ *) svn_find_swig_arg=$withval ;; -esac - ], - [ -
Re: [Patch] Introduce release mode configure script (Re: [Patch] Update the INSTALL file for SWIG bindings)
On 2020/12/02 4:24, Branko Čibej wrote: > On 01.12.2020 17:34, Yasuhito FUTATSUKI wrote: >> On 2020/11/17 11:01, Yasuhito FUTATSUKI wrote: >>> On 2020/11/17 2:16, Daniel Shahaf wrote: Yasuhito FUTATSUKI wrote on Sat, 14 Nov 2020 14:52 +0900: > +++ subversion/bindings/swig/INSTALL (working copy) > @@ -141,7 +141,15 @@ > - Make sure that Subversion's ./configure script sees your installed > SWIG! > + If you are using the distribution tarball and you want to use the > language > + bindings C source files shipped with it, you might need to pass the > + --without-swig option to configure script to avoid detecting and > checking > + SWIG on your system. A Makefile generated by configure will prevent > + building the language bindings if the configure script detect > unsuitable > + version of SWIG. I don't dispute the accuracy of this paragraph, but I think this API isn't autotools-idiomatic. Generally, I'd expect --without-foo to short-circuit the probe for foo and assume foo isn't found; i.e., if my system has an unsuitable version of foo, I'd the default behaviour (given neither --with-foo nor --without-foo) and the behaviour given --without-foo to be identical: namely, behave as though foo isn't available (even if /usr/bin/foo exists and is perfectly suitable). In particular, if my system has an unsuitable version of swig, I wouldn't expect passing --without-swig to change configure's behaviour. >>> Probably what is wrong here is that the configure script accepts >>> --with-swig | --without-swig options and checks it in release mode. >>> >>> We never clean SWIG generated language bindings C source files on >>> clean-foo targets in release mode Makefile. extraclean-foo targets do it, >>> but they are only parts of the extraclean target which also removes all >>> release mode stuff. So users never use SWIG in release mode actually. >>> >>> That is, r1876662 is not correct. >> To fix it, I tweaked the configure script again. >> >> The patch attached introduce "release mode" for configure generation. >> With this patch, configure script generated by "autogen.sh --release" >> does not have --with-swig|--without-swig option and never check SWIG >> executable. >> >> Could anyone please review this? >> >> For backward compatibility to back port to 1.14.x, default for >> --with-swig-perl, --with-swig-python, --with-swig-ruby are "auto", >> i.e. search the target language, but I'd like to change them to "no" in >> trunk, because I think those are optional feature. > > > This makes sense, yes. More comments below. Many thanks for the reviw. Then I've amended the patch. (attached file, introduce-release-mode-configure-patch-v2.txt) In addition to the items pointed out, I also added two modification: * Clean up aclocal.m4 on local-extraclean target in Makefile.in. * Move the task to generate aclocal.m4 earlier in autogen.sh, because aclocal.m4 file is also (at least) used by autoheader. Also, I make diffs for release mode block and non-release mode block of SVN_DETERMINE_SWIG_OPTS from corresponding block before this patch in build/ac-macros/swig.m4, to show how they are changed. Non release mode: [[[ diff -ubB ./SVN_DETERMINE_SWIG_OPTS_original_block.txt ./SVN_DETERMINE_SWIG_OPTS_non_release_block.txt --- ./SVN_DETERMINE_SWIG_OPTS_original_block.txt2020-12-04 01:55:39.289774000 +0900 +++ ./SVN_DETERMINE_SWIG_OPTS_non_release_block.txt 2020-12-04 06:21:30.41661 +0900 @@ -1,8 +1,16 @@ +# not in release mode SWIG_PY_COMPILE="none" SWIG_PY_LINK="none" SWIG_PY_OPTS="none" SWIG_PY_ERRMSG="check config.log for details" - if test "$SWIG_PY_PYTHON" != "none"; then +if test "$SWIG_PY_PYTHON" = "none"; then + SWIG_PY_ERRMSG="You specfied not to build Python bindings or \ +suitable Python interpreter is not found." +else + if test "$SWIG" = "none"; then +AC_MSG_WARN([You specified to build SWIG Python bindings, but SWIG is not found.]) +SWIG_PY_ERRMSG="SWIG is need to build SWIG Python bindings, but it is not found." + else AC_MSG_NOTICE([Configuring python swig binding]) AC_CACHE_CHECK([for Python includes], [ac_cv_python_includes],[ @@ -49,9 +57,6 @@ ]) SWIG_PY_LIBS="`SVN_REMOVE_STANDARD_LIB_DIRS($ac_cv_python_libs)`" - if test "$SWIG" = "none"; then -SWIG_PY_ERRMSG="" - else # Look more closely at the SWIG and Python versions to # determine SWIG_PY_OPTS. We can skip this if we already # have the SWIG-generated files. @@ -93,7 +97,14 @@ fi SWIG_PL_ERRMSG="check config.log for details" - if test "$SWIG_PL_PERL" != "none"; then +if test "$SWIG_PL_PERL" = "none"; then + SWIG_PL_ERRMSG="You specfied not to build Perl bindings or \ +suitable Perl interpreter is not found." +else