diff options
author | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-09-01 01:46:44 +0200 |
---|---|---|
committer | Jim Meyering <meyering@redhat.com> | 2012-09-01 21:28:12 +0200 |
commit | 14956a20dbdb2b9bb9dee2b286a3f0d9d79d4ee0 (patch) | |
tree | bfc67c51009dc92ac86cb074197938c107a161ff /cfg.mk | |
parent | 3c070d01e419f123937f5d06d05eac5842ccdebd (diff) | |
download | coreutils-14956a20dbdb2b9bb9dee2b286a3f0d9d79d4ee0.tar.xz |
maint: fix and simplify maintainer checks
Some of them can be simplified after the previous changes, some
of them have been downright broken by them, and need fixing.
* src/local.mk: Adjust some comments.
(EXTRA_DIST): Avoid SPACE-TAB sequences.
(src/dircolors.h, src/fs.h src/fs-is-local.h): Avoid 8-SPACES
indentation.
(_sc_check-AUTHORS): Move ...
* cfg.mk (sc_check-AUTHORS): ... here (superseding the old rule
with the same name, that was just a recursive invocation to it).
Adjust the paths of the invoked coreutils programs, to account
for the fact that this rule now runs in the top-level build dir,
not in the 'src/' subdir. Other minor cosmetic adjustments.
(ALL_RECURSIVE_TARGETS): Remove 'sc_option_desc_uppercase' and
'sc_man_file_correlation', since they no longer entail any
recursive make invocation.
(sc_option_desc_uppercase): Remove dependency from $(all_programs):
it isn't actually needed.
(check-programs-vs-x): Likewise. Also, fix heading comments to
truly reflect what this check does.
(all-progs-but-lbracket): Strip the 'src/' prefix from each entry
in the list of programs; this avoids a spurious failure in the
'check-programs-vs-x' recipe.
(.PHONY): No need to list targets 'sc_man_file_correlation' and
'sc_option_desc_uppercase': they are automatically declared phony
by 'maint.mk', being recognized as syntax checks.
Diffstat (limited to 'cfg.mk')
-rw-r--r-- | cfg.mk | 49 |
1 files changed, 36 insertions, 13 deletions
@@ -145,9 +145,37 @@ sc_sun_os_names: { echo '$(ME): found misuse of Sun OS version numbers' 1>&2; \ exit 1; } || : -ALL_RECURSIVE_TARGETS += sc_check-AUTHORS sc_check-AUTHORS: - @$(MAKE) -s -C src _sc_check-AUTHORS +# Ensure that the list of programs and author names is accurate. +# We need a UTF8 locale. If a lack of locale support or a missing +# translation inhibits printing of UTF-8 names, just skip this test. +au_dotdot = authors-dotdot +au_actual = authors-actual +sc_check-AUTHORS: $(all_programs) + @locale=en_US.UTF-8; \ + LC_ALL=$$locale ./src/cat --version \ + | grep ' Torbjorn ' > /dev/null \ + && { echo "$@: skipping this check"; exit 0; }; \ + rm -f $(au_actual) $(au_dotdot); \ + for i in `ls $(all_programs) \ + | sed -e 's,^src/,,' -e 's,$(EXEEXT)$$,,' \ + | sed /libstdbuf/d \ + | $(ASSORT) -u`; do \ + test "$$i" = '[' && continue; \ + exe=$$i; \ + if test "$$i" = install; then \ + exe=ginstall; \ + elif test "$$i" = test; then \ + exe='['; \ + fi; \ + LC_ALL=$$locale ./src/$$exe --version \ + | perl -0 -pi -e 's/,\n/, /gm' \ + | sed -n -e '/Written by /{ s//'"$$i"': /;' \ + -e 's/,* and /, /; s/\.$$//; p; }'; \ + done > $(au_actual) && \ + sed -n '/^[^ ][^ ]*:/p' $(srcdir)/AUTHORS > $(au_dotdot) \ + && diff $(au_actual) $(au_dotdot) \ + && rm -f $(au_actual) $(au_dotdot) # Look for lines longer than 80 characters, except omit: # - program-generated long lines in diff headers, @@ -170,18 +198,13 @@ sc_long_lines: # One could grep source directly as follows: # grep -E " {2,6}-.*[^.] [A-Z][a-z]" $$($(VC_LIST_EXCEPT) | grep '\.c$$') # but that would miss descriptions not on the same line as the -option. -ALL_RECURSIVE_TARGETS += sc_option_desc_uppercase -.PHONY: sc_option_desc_uppercase sc_option_desc_uppercase: @grep '^\\fB\\-' -A1 man/*.1 | LC_ALL=C grep '\.1.[A-Z][a-z]' \ && { echo 1>&2 '$@: found initial capitals in --help'; exit 1; } || : sc_option_desc_uppercase: $(dist_man1_MANS) \ - $(patsubst %,man/%.1,$(NO_INSTALL_PROGS_DEFAULT)) \ - $(all_programs) + $(patsubst %,man/%.1,$(NO_INSTALL_PROGS_DEFAULT)) # Ensure all man/*.[1x] files are present. -ALL_RECURSIVE_TARGETS += sc_man_file_correlation -.PHONY: sc_man_file_correlation sc_man_file_correlation: check-x-vs-1 check-programs-vs-x # Ensure that for each .x file in the 'man/' subdirectory, there is a @@ -201,13 +224,13 @@ check-x-vs-1: rm $$t # Writing a portable rule to generate a manpage like '[.1' would be -# a nightmare. -all-progs-but-lbracket = $(filter-out [,$(all_programs)) +# a nightmare, so filter that out. +all-progs-but-lbracket = $(filter-out [,$(patsubst src/%,%,$(all_programs))) -# Ensure that for each .x file in the 'man/' subdirectory, there is a -# corresponding coreutils program. +# Ensure that for each coreutils program there is a corresponding +# '.x' file in the 'man/' subdirectory. .PHONY: check-programs-vs-x -check-programs-vs-x: $(all_programs) +check-programs-vs-x: @status=0; \ for p in dummy $(all-progs-but-lbracket); do \ test $$p = dummy && continue; \ |