On Tue, Nov 22, 2016 at 4:43 AM, Pádraig Brady <[email protected]> wrote:
> On 22/11/16 05:28, Jim Meyering wrote:
>> * Makefile.am (my-distcheck): Remove all .deps directories before
>> recursive diff search for left-behind files.  Otherwise, with
>> automake master (v1.15-165-g5fac9a3), "make distcheck" would fail
>> due to those directories being left behind after "make clean".
>
> `make clean` generally doesn't remove .dep dirs, while
> `make distclean` does. I verified `make distclean` removes
> all .dep dirs here. Is this a regression in automake?
> Did you mean "make distclean" above?
> If it's unexpected behavior it's probably worth mentioning
> that in a comment on the line.
> Anyway +1 to the workaround.

Right. I meant "make distclean". Amended in the attached.

Yes, it is a regression. Here's what's left after "make distclean"
when bootstrapped with latest automake:

$ find . -name .deps
./lib/.deps
./lib/glthread/.deps
./lib/unistr/.deps
./lib/uniwidth/.deps
./src/.deps
./gnulib-tests/.deps
./gnulib-tests/glthread/.deps
./gnulib-tests/unistr/.deps
./gnulib-tests/uniwidth/.deps
From 5d7fd9bb04767407ee813facaadefd5d32b10fc9 Mon Sep 17 00:00:00 2001
From: Jim Meyering <[email protected]>
Date: Wed, 14 Sep 2016 14:16:40 -0700
Subject: [PATCH] maint: avoid "make distcheck" failure due to excess .deps
 directories

* Makefile.am (my-distcheck): Remove all .deps directories before the
recursive diff that searches for left-behind files.  Otherwise, with
automake master (some time after v1.15), "make distcheck" would fail
due to those directories being left behind after "make distclean".
---
 dist-check.mk | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/dist-check.mk b/dist-check.mk
index 533b7f9..9f8db13 100644
--- a/dist-check.mk
+++ b/dist-check.mk
@@ -120,6 +120,10 @@ my-distcheck: $(DIST_ARCHIVES) $(local-check)
        )
        (cd $(t) && mv $(distdir) $(distdir).old        \
          && $(amtar_extract_) - ) < $(preferred_tarball_)
+# With post-v1.15 automake, "distclean" would fail to remove .deps
+# directories, leading to a spurious failure of the following recursive diff.
+# FIXME: remove this, once automake is fixed.
+       find $(t)/$(distdir).old $(t)/$(distdir) -name .deps | xargs rmdir
        diff -ur $(t)/$(distdir).old $(t)/$(distdir)
        -rm -rf $(t)
        rmdir $(tmpdir)/$(PACKAGE) $(tmpdir)
-- 
2.9.3

Reply via email to