*** empty log message ***
[platform/upstream/coreutils.git] / Makefile.maint
index 38468db..6d28393 100644 (file)
@@ -84,7 +84,7 @@ export LC_ALL = C
 # new ChangeLog entries.
 local-checks-available = \
   po-check copyright-check writable-files m4-check author_mark_check \
-  changelog-check strftime-check $(syntax-check-rules) \
+  changelog-check patch-check strftime-check $(syntax-check-rules) \
   makefile_path_separator_check \
   makefile-check
 .PHONY: $(local-checks-available)
@@ -262,8 +262,12 @@ sc_trailing_blank:
          { echo '$(ME): found trailing blank(s)'                       \
                1>&2; exit 1; } || :
 
+# Match lines like the following, but where there is only one space
+# between the options and the description:
+#   -D, --all-repeated[=delimit-method]  print all duplicate lines\n
+longopt_re = --[a-z][0-9A-Za-z-]*(\[=[0-9A-Za-z-]*\])?
 sc_two_space_separator_in_usage:
-       @grep -n '^   *--[a-z][0-9A-Za-z-]* [^ ].*\\$$'                 \
+       @grep -nE '^   *(-[A-Za-z],)? $(longopt_re) [^ ].*\\$$'         \
            $$($(CVS_LIST_EXCEPT)) &&                                   \
          { echo "$(ME): help2man requires at least two spaces between"; \
            echo "$(ME): an option and its description"; \
@@ -285,6 +289,17 @@ sc_useless_cpp_parens:
          { echo '$(ME): found useless parentheses in cpp directive'    \
                1>&2; exit 1; } || :
 
+# Ensure that the c99-to-c89 patch applies cleanly.
+# For now, it affects only remove.c.  Eventually, we'll probably
+# have to copy all of src/ before running patch.
+patch-check:
+       cp src/remove.c tmp-remove.c
+       patch -V never --fuzz=0 tmp-remove.c src/c99-to-c89.diff \
+         > $@.1 2>&1
+       sed -n '2p' $@.1 > $@.2
+       test -s $@.2 && exit 1 || :
+       rm -f tmp-remove.c $@.1 $@.2
+
 # Ensure that date's --help output stays in sync with the info
 # documentation for GNU strftime.  The only exception is %N,
 # which date accepts but GNU strftime does not.
@@ -417,7 +432,7 @@ cvs-diff-check:
 
 cvs-check: cvs-diff-check cvs-tag-check
 
-maintainer-distcheck: changelog-check
+maintainer-distcheck:
        $(MAKE) distcheck
        $(MAKE) my-distcheck
 
@@ -607,7 +622,11 @@ $(xd-delta): $(release_archive_dir)/$(prev-tgz) $(distdir).tar.gz
        xdelta delta -9 $^ $@ || :
 
 .PHONY: alpha beta major
-alpha beta major: news-date-check $(local-check)
+alpha beta major: news-date-check changelog-check $(local-check)
+       test $@ = major                                         \
+         && { echo $(VERSION) | grep -E '^[0-9]+(\.[0-9]+)+$$' \
+              || { echo "invalid version string: $(VERSION)" 1>&2; exit 1; }}\
+         || :
        $(MAKE) cvs-dist
        $(MAKE) $(xd-delta)
        $(MAKE) -s announcement RELEASE_TYPE=$@ > /tmp/announce-$(my_distdir)