[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Broken 'make clean' if 'make swig-py' isn't run first

From: Branko Čibej <brane_at_apache.org>
Date: Sun, 29 Nov 2020 20:29:29 +0100

$ .../configure ...
$ nice make -s clean
/bin/sh: line 0: cd: .../subversion/bindings/swig/python: No such file or directory
/bin/sh: line 0: cd: .../subversion/bindings/swig/python/libsvn_swig_py: No such file or directory
make: *** [clean-swig-py] Error 1

This happens if I run 'make clean' before running 'make swig-py' (or
anything else). The patch below seems to fix it the Python-related part,
although I still get this afterwards, but these at least don't cause
make to return an error:

/bin/sh: line 0: cd: .../subversion/bindings/swig/ruby: No such file or directory
/bin/sh: line 0: cd: .../subversion/bindings/swig/ruby/libsvn_swig_ruby: No such file or directory
/bin/sh: line 0: cd: .../subversion/bindings/swig/perl/libsvn_swig_perl: No such file or directory

Thoughts? I *think* only the "test -d $$d" before the "cd $$d" is
actually necessary to avoid the make error, but these messages from
'find' are a nuisance, too.

[[[
Index: Makefile.in
===================================================================
--- Makefile.in (revision 1883919)
+++ Makefile.in (working copy)
@@ -456,9 +456,12 @@ fast-clean: doc-clean
            fi \
          done
          echo $(CLEAN_FILES) | xargs rm -f --
- find $(CTYPES_PYTHON_SRC_DIR) $(SWIG_PY_SRC_DIR) $(SWIG_PY_DIR) \
- $(abs_srcdir)/build $(top_srcdir)/subversion/tests/cmdline/svntest \
- -name "*.pyc" -exec rm {} ';'
+ for d in $(CTYPES_PYTHON_SRC_DIR) $(SWIG_PY_SRC_DIR) $(SWIG_PY_DIR) \
+ $(abs_srcdir)/build $(top_srcdir)/subversion/tests/cmdline/svntest; \
+ do \
+ test -d $$d || continue; \
+ find $$d -name "*.pyc" -exec rm {} ';' ; \
+ done
  
  # clean everything, returning to before './configure' was run.
  SVN_CONFIG_SCRIPT_FILES = @SVN_CONFIG_SCRIPT_FILES@
@@ -956,9 +959,14 @@ clean-swig-py:
          fi
          for d in $(SWIG_PY_DIR) $(SWIG_PY_DIR)/libsvn_swig_py; \
          do \
+ test -d $$d || continue; \
            cd $$d && rm -rf *.lo *.la *.o *.pyc .libs; \
          done
- find $(SWIG_PY_SRC_DIR) $(SWIG_PY_DIR) -name "*.pyc" -exec rm {} ';'
+ for d in $(SWIG_PY_SRC_DIR) $(SWIG_PY_DIR); \
+ do \
+ test -d $$d || continue; \
+ find $$d -name "*.pyc" -exec rm {} ';'; \
+ done
  
  extraclean-swig-py: clean-swig-py
          $(EXTRACLEAN_SWIG_PY)
]]]

-- Brane
Received on 2020-11-29 20:29:34 CET

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.