Simon Josefsson wrote: > Bruno Haible <br...@clisp.org> writes: > >>> ./.prev-version: No such file or directory >>> sed: can't read ./cfg.mk: No such file or directory >>> make all-recursive >>> ./.prev-version: No such file or directory >>> sed: can't read ./cfg.mk: No such file or directory >> >> This is a bug in gnulib-tool and the maintainer-makefile module. > > I think it is actually only a maintainer-makefile bug, a cfg.mk file > shouldn't be required to exist. It would be nice to keep the hard-coded > exceptions in gnulib-tool to a minimum, so if possible I think we should > fix the maintainer-makefile problems rather than working around them. > > First, the above output are warnings, not hard errors. So we could say > that you should just ignore the messages. > > To really silence the output, the two problems above are: > > 1) That the file .prev-version is required. Jim, can't this be > optional, and the file only required when the rules that use > .prev-version are used? > > 2) That cfg.mk is passed to sed without first checking that it exists. > > Unless there are objections to fixing these problems, I can try to come > up with two patches for them.
Good ideas both. I've been annoyed at least by the .prev-version one so propose this change to avoid the diagnostics: >From 2cf93ffe2a4a3b47c5be31b84592e4e6bfa3b590 Mon Sep 17 00:00:00 2001 From: Jim Meyering <meyer...@redhat.com> Date: Sat, 25 Jul 2009 15:43:11 +0200 Subject: [PATCH] maint.mk: avoid warnings about missing files * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a diagnostic when .prev-version does not exist. (_cfg_mk): Define, so it can be empty when cfg.mk does not exist. (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about nonexistent cfg.mk. Suggestions from Simon Joseffson. --- ChangeLog | 10 ++++++++++ top/maint.mk | 6 ++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 55828ed..ae2b7f7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2009-07-25 Jim Meyering <meyer...@redhat.com> + + maint.mk: avoid warnings about missing files + * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a + diagnostic when .prev-version does not exist. + (_cfg_mk): Define, so it can be empty when cfg.mk does not exist. + (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about + nonexistent cfg.mk. + Suggestions from Simon Joseffson. + 2009-07-23 Jim Meyering <meyer...@redhat.com> maint.mk: invoke "make dist" with a working value of XZ_OPT diff --git a/top/maint.mk b/top/maint.mk index c49fea3..228b414 100644 --- a/top/maint.mk +++ b/top/maint.mk @@ -44,7 +44,7 @@ ifeq ($(origin prev_version_file), undefined) prev_version_file = $(srcdir)/.prev-version endif -PREV_VERSION := $(shell cat $(prev_version_file)) +PREV_VERSION := $(shell cat $(prev_version_file) 2>/dev/null) VERSION_REGEXP = $(subst .,\.,$(VERSION)) PREV_VERSION_REGEXP = $(subst .,\.,$(PREV_VERSION)) @@ -70,9 +70,11 @@ export LC_ALL = C ## Sanity checks. ## ## --------------- ## +_cfg_mk := $(shell test -f $(srcdir)/cfg.mk && echo '$(srcdir)/cfg.mk') + # Collect the names of rules starting with `sc_'. syntax-check-rules := $(shell sed -n 's/^\(sc_[a-zA-Z0-9_-]*\):.*/\1/p' \ - $(srcdir)/$(ME) $(srcdir)/cfg.mk) + $(srcdir)/$(ME) $(_cfg_mk)) .PHONY: $(syntax-check-rules) local-checks-available = \ -- 1.6.4.rc2.182.g24de1