]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
maint: avoid patching help2man
authorBernhard Voelker <mail@bernhard-voelker.de>
Wed, 11 Sep 2013 22:02:33 +0000 (00:02 +0200)
committerBernhard Voelker <mail@bernhard-voelker.de>
Thu, 12 Sep 2013 06:02:22 +0000 (08:02 +0200)
Commit cde1ea0e separated the coreutils-specific patches from help2man.
Most changes had been made to accommodate to the coreutils style guide,
i.e., to avoid syntax-check failures like sc_long_lines.
Yet 2 changes had to be put into the patch help2man.diff.
But this added the dependency to patch(1) in distribution builds.
Incidentally, the 2 remaining parts of the patch can easily be
done outside of help2man.  Therefore, this commit partly reverts
the recent separation of help2man into 'help2man.in' and
'help2man.diff', and instead uses the original help2man script.

* man/help2man.in: Rename to ...
* man/help2man: ... this file.
* man/help2man.diff: Remove.
* man/local.mk (mandeps): Remove man/help2man.
(man/help2man): Remove recipe.
(.x.1): Add the --info-page option when calling help2man in order
to change the name of the texinfo manual from the default, "info PRG",
to "info coreutils 'PRG invocation'".
Furthermore, use an sed pattern to remove the sentence starting
with "For complete documentation".
* .gitignore (/man/help2man): Remove entry.
* .x-update-copyright: Replace the entries for the files
'man/help2man.diff' and 'man/help2man.in' by 'man/help2man'.
* cfg.mk (sc_long_lines): Instead of 'man/help2man.in', exempt
'man/help2man' from this test.
(sc_po_check): Likewise.
(sc_space_tab): Instead of 'man/help2man.diff', exempt 'man/help2man'
from this test.
(sc_trailing_blank): Likewise.
(sc_prohibit_tab_based_indentation): Instead of 'man/help2man.in' and
'man/help2man.diff', exempt 'man/help2man'.
* man/dummy-man: Recognize the option --info-page=... as no-op.

.gitignore
.x-update-copyright
cfg.mk
man/dummy-man
man/help2man [moved from man/help2man.in with 100% similarity]
man/help2man.diff [deleted file]
man/local.mk

index b03f620118666f400ab3557c067a74c3c14f3ff4..558577d231c438e75b17d011d945ba1680726ccc 100644 (file)
 /m4/xsize.m4
 /maint.mk
 /man/*.1
-/man/help2man
 /po/*.gmo
 /po/*.po
 /po/.gitignore
index 47cb0f4e527c0b013898f433e3955fd3988ee1f6..89f8e8a23410f4feb5bcd27f81e137f813b39dd7 100644 (file)
@@ -1,3 +1,2 @@
 COPYING
-man/help2man\.diff
-man/help2man\.in
+man/help2man
diff --git a/cfg.mk b/cfg.mk
index 61bda4bcc11cd0d75696977803379853fb9190c6..ec91158f5a4b8a5d25afdd5184fd6f12570c886d 100644 (file)
--- a/cfg.mk
+++ b/cfg.mk
@@ -221,13 +221,13 @@ sc_prohibit-gl-attributes:
 
 # Look for lines longer than 80 characters, except omit:
 # - program-generated long lines in diff headers,
-# - the original help2man script copied from upstream,
+# - the help2man script copied from upstream,
 # - tests involving long checksum lines, and
 # - the 'pr' test cases.
 LINE_LEN_MAX = 80
 FILTER_LONG_LINES =                                            \
   /^[^:]*\.diff:[^:]*:@@ / d;                                  \
-  \|^[^:]*man/help2man\.in:| d;                        \
+  \|^[^:]*man/help2man:| d;                    \
   \|^[^:]*tests/misc/sha[0-9]*sum.*\.pl[-:]| d;                        \
   \|^[^:]*tests/pr/|{ \|^[^:]*tests/pr/pr-tests:| !d; };
 sc_long_lines:
@@ -568,10 +568,10 @@ update-copyright-env = \
 
 # List syntax-check exemptions.
 exclude_file_name_regexp--sc_space_tab = \
-  ^(tests/pr/|tests/misc/nl\.sh$$|gl/.*\.diff$$|man/help2man\.diff$$)
+  ^(tests/pr/|tests/misc/nl\.sh$$|gl/.*\.diff$$|man/help2man$$)
 exclude_file_name_regexp--sc_bindtextdomain = \
   ^(gl/.*|lib/euidaccess-stat|src/make-prime-list)\.c$$
-exclude_file_name_regexp--sc_trailing_blank = ^(tests/pr/|man/help2man.diff)
+exclude_file_name_regexp--sc_trailing_blank = ^(tests/pr/|man/help2man)
 exclude_file_name_regexp--sc_system_h_headers = \
   ^src/((system|copy)\.h|libstdbuf\.c|make-prime-list\.c)$$
 
@@ -581,7 +581,7 @@ exclude_file_name_regexp--sc_require_config_h_first = \
 exclude_file_name_regexp--sc_require_config_h = \
   $(exclude_file_name_regexp--sc_require_config_h_first)
 
-exclude_file_name_regexp--sc_po_check = ^(gl/|man/help2man\.in)
+exclude_file_name_regexp--sc_po_check = ^(gl/|man/help2man)
 exclude_file_name_regexp--sc_prohibit_always-defined_macros = \
   ^src/(seq|remove)\.c$$
 exclude_file_name_regexp--sc_prohibit_empty_lines_at_EOF = ^tests/pr/
@@ -601,7 +601,7 @@ exclude_file_name_regexp--sc_useless_cpp_parens = $(_ll)
 exclude_file_name_regexp--sc_long_lines = $(_ll)
 exclude_file_name_regexp--sc_space_before_open_paren = $(_ll)
 
-tbi_1 = ^tests/pr/|(^gl/lib/reg.*\.c\.diff|\.mk|^man/help2man\.(in|diff))$$
+tbi_1 = ^tests/pr/|(^gl/lib/reg.*\.c\.diff|\.mk|^man/help2man)$$
 tbi_2 = ^scripts/git-hooks/(pre-commit|pre-applypatch|applypatch-msg)$$
 tbi_3 = (GNU)?[Mm]akefile(\.am)?$$|$(_ll)
 exclude_file_name_regexp--sc_prohibit_tab_based_indentation = \
index 306937628d0119578854d1afb694e26f38284d54..dca2b67844083fdfe14e26cb6170662706ae2456 100755 (executable)
@@ -30,6 +30,7 @@ while test $# -gt 0; do
     # in the makefile.
     --include=*);;
     --include) shift;;
+    --info-page=*);;
     -*) fatal_ "invalid or unrecognized help2man option '$1'";;
     --) shift; break;;
      *) break;;
similarity index 100%
rename from man/help2man.in
rename to man/help2man
diff --git a/man/help2man.diff b/man/help2man.diff
deleted file mode 100644 (file)
index 12fa76f..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
---- man/help2man-orig
-+++ man/help2man       2013-09-10 07:31:28.352365301 +0200
-@@ -412,6 +412,7 @@
- my $PAT_FILES         = _('Files');
- my $PAT_EXAMPLES      = _('Examples');
- my $PAT_FREE_SOFTWARE = _('This +is +free +software');
-+my $PAT_INFO          = _('For +complete +documentation');
- # Start a new paragraph (if required) for these.
- s/([^\n])\n($PAT_BUGS|$PAT_AUTHOR) /$1\n\n$2 /og;
-@@ -444,6 +445,12 @@
-       next;
-     }
-+    # Skip any texinfo reference as that's handled separately
-+    if (s/($PAT_INFO).*\n//o)
-+    {
-+        next;
-+    }
-+
-     # Copyright section
-     if (/^Copyright /)
-     {
-@@ -622,7 +629,7 @@
- .B %s
- programs are properly installed at your site, the command
- .IP
--.B info %s
-+.B info coreutils \(aq%s invocation\(aq
- .PP
- should give you access to the complete manual.
- EOT
index d967d1636d85cf3559313ee60486c27b8a429f12..266b780f9f7cd7c200c1ab0a668a8ececf5c6b24 100644 (file)
@@ -50,9 +50,6 @@ distclean-local:
 # Dependencies common to all man pages.  Updated below.
 mandeps =
 
-# Depend on the help2man script.
-mandeps += man/help2man
-
 # Depend on this to get version number changes.
 mandeps += .version
 
@@ -62,13 +59,6 @@ mandeps += $(top_srcdir)/src/system.h
 
 $(ALL_MANS): $(mandeps)
 
-# Create help2man from the upstream version and out patch.
-man/help2man:    man/help2man.in man/help2man.diff
-       $(AM_V_GEN)cp man/help2man.in man/help2man.tmp \
-         && VERSION_CONTROL=none patch man/help2man.tmp < man/help2man.diff \
-         && chmod a+x man/help2man.tmp \
-         && mv man/help2man.tmp man/help2man
-
 # Most prog.1 man pages depend on src/prog.  List the exceptions:
 # Note that dir and vdir are exceptions only if you consider the name
 # of the .c file upon which they depend: ls.c.
@@ -200,7 +190,11 @@ man/yes.1:       src/yes
                     --source='$(PACKAGE_STRING)'                       \
                     --include=$(srcdir)/man/$$name.x                   \
                     --output=$$t/$$name.1 $$t/$$name                   \
-         && sed 's|$*\.td/||g' $$t/$$name.1 > $@-t                     \
+                    --info-page='coreutils \(aq'$$name' invocation\(aq' \
+         && sed \
+              -e 's|$*\.td/||g' \
+              -e '/For complete documentation/d' \
+              $$t/$$name.1 > $@-t                      \
          && rm -rf $$t                                                 \
          && chmod a-w $@-t                                             \
          && mv $@-t $@