Daniel Shahaf wrote:
> Jonathan Nieder wrote on Mon, Nov 07, 2011 at 12:45:19 -0600:
>> [[[
>> * Makefile.in
>> (swig-pl, $(SWIG_PY_DIR)/libsvn): Depend on mkdir-init.
>
> Does the swig-rb target need to grow a similar dependency on mkdir-init?
> Makefile.in doesn't seem to already contain such a dependency.
Ah. Yes, that is needed.
[...]
>> + if test -d $$d; then \
>> + cd $$d && rm -rf *.lo *.la *.o *.pyc .libs; \
>> + fi; \
>> done
>
> Seems to me this could benefit from a subshell --- the 'cd' commands
> last until the end of the target's scriptlet, but that isn't terribly
> obvious to the reader. I'll get that done too.
Good idea.
[...]
> Committed in r1198883, but I'll revert this shortly because a buildbot broke:
[...]
> mkdir /var/lib/buildbot/svn-buildslave/svn-x64-ubuntu/build/subversion/bindings/swig/python/libsvn
> mkdir: cannot create directory `/var/lib/buildbot/svn-buildslave/svn-x64-ubuntu/build/subversion/bindings/swig/python/libsvn': File exists
> make: *** [/var/lib/buildbot/svn-buildslave/svn-x64-ubuntu/build/subversion/bindings/swig/python/libsvn] Error 1
> make: *** Waiting for unfinished jobs....
Thanks for fixing dealing with the breakage quickly. Oddly enough, I
can't reproduce the error here (tried with -j4). I like to imagine
the following will fix it.
[[[
Create subversion/bindings/swig/python/libsvn directory in mkdir-init
instead of its own rule. Otherwise, the build can fail because
mkdir fails with EEXISTS if the $(SWIG_PY_DIR)/libsvn rule triggers
twice.
* build.conf (swig-dirs): Add subversion/bindings/swig/python/libsvn.
* Makefile.in
(copy-swig-py): Depend on mkdir-init instead of $(SWIG_PY_DIR)/libsvn.
($(SWIG_PY_DIR)/libsvn): Remove target.
]]]
Index: Makefile.in
===================================================================
--- Makefile.in (revision 1198883)
+++ Makefile.in (working copy)
@@ -785,10 +785,7 @@ clean-swig-pl:
extraclean-swig-pl: clean-swig-pl
$(EXTRACLEAN_SWIG_PL)
-$(SWIG_PY_DIR)/libsvn: mkdir-init
- mkdir $(SWIG_PY_DIR)/libsvn
-
-copy-swig-py: autogen-swig-py $(SWIG_PY_DIR)/libsvn
+copy-swig-py: autogen-swig-py mkdir-init
@for f in $(SWIG_PY_SRC_DIR)/*.py $(SWIG_PY_DIR)/*.py; do \
! [ -f "$$f" ] || cp -pf $$f $(SWIG_PY_DIR)/libsvn; \
done
Index: build.conf
===================================================================
--- build.conf (revision 1198916)
+++ build.conf (working copy)
@@ -69,7 +69,7 @@ swig-perl-opts = -perl -nopm -noproxy
swig-ruby-opts = -ruby
swig-languages = python perl ruby
swig-dirs =
- subversion/bindings/swig/python
+ subversion/bindings/swig/python/libsvn
subversion/bindings/swig/perl
subversion/bindings/swig/ruby
subversion/bindings/swig/proxy
Received on 2011-11-07 22:00:43 CET