libcdio-0.90 (as was 0.83) have incorrect text from help2man generated output:
libcdio-0.90$ head src/cd-drive.1 .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.40.4. .TH CD-DRIVE "1" "October 2012" "lt-cd-drive version 0.90 i686-pc-linux-gnu" "User Commands" .SH NAME cd-drive \- manual page for lt-cd-drive version 0.90 i686-pc-linux-gnu .SH SYNOPSIS .B cd-drive \fIOPTION\fR... .TP Shows CD-ROM drive characteristics. .SH DESCRIPTION The problem with this text is "lt-" prefix which is ugly and wrong besides. The Debian package of libcdio includes patches to remove this mistake from the text of generated files, so we should fix this. This is what we find now in libcdio-0.90: $ help2man --version GNU help2man 1.41.1 libcdio-0.90$ make distclean; aclocal && autoconf && automake && ./configure --enable-maintainer-mode && make all Making all in src make[2]: Entering directory `/path/to/libcdio-0.90/src' /bin/bash /path/to/libcdio-0.90/missing --run help2man --opt-include=./cd-drive.help2man --no-info ./cd-drive | /bin/sed -r -e 's/[lL][tT]-//' >cd-drive.1 So our workaround is wrong, it only catches the first of multiple "lt-" prefixes. Anyway, why does there need to be a workaround; it is because of this bug in help2man: -l, --libtool exclude the `lt-' from the program name The above feature was added in help2man (1.39.1), so now we try it: diff -uprN ./libcdio-0.90~orig/src/Makefile.am ./libcdio-0.90/src/Makefile.am --- ./libcdio-0.90~orig/src/Makefile.am 2012-10-21 15:51:27.000000000 -0700 +++ ./libcdio-0.90/src/Makefile.am 2013-05-27 20:40:27.970456076 -0700 @@ -86,6 +86,6 @@ EXTRA_DIST = cd-drive.help2man cd-info.h if MAINTAINER_MODE $(man_MANS): %.1: %$(EXEEXT) %.help2man - -$(HELP2MAN) --opt-include=$(srcdir)/$(<:.exe=).help2man --no-info ./$< | @SED@ @SED_EXTENDED_RE_FLAG@ -e 's/[lL][tT]-//' >$@ + -$(HELP2MAN) --opt-include=$(srcdir)/$(<:.exe=).help2man --no-info --libtool -o $@ ./$< endif libcdio-0.90$ make distclean; aclocal && autoconf && automake && ./configure --enable-maintainer-mode && make all Making all in src make[2]: Entering directory `/path/to/libcdio-0.90/src' /bin/bash /path/to/libcdio-0.90/missing --run help2man --opt-include=./cd-drive.help2man --no-info --libtool -o cd-drive.1 ./cd-drive libcdio-0.90$ head src/cd-drive.1 .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.41.1. .TH LT-CD-DRIVE "1" "May 2013" "lt-cd-drive version 0.90 i686-pc-linux-gnu" "User Commands" .SH NAME lt-cd-drive \- manual page for lt-cd-drive version 0.90 i686-pc-linux-gnu .SH SYNOPSIS .B cd-drive \fIOPTION\fR... .TP Shows CD-ROM drive characteristics. .SH DESCRIPTION Well, that means help2man did not work as advertised. So fix that with a one-liner... #### diff -uprN help2man-1.41.1~orig/help2man.PL help2man-1.41.1/help2man.PL --- help2man-1.41.1~orig/help2man.PL 2012-12-30 18:38:59.000000000 -0800 +++ help2man-1.41.1/help2man.PL 2013-05-27 20:08:50.825048640 -0700 @@ -383,6 +383,7 @@ else } $program =~ s!.*/!!; +$program =~ s!^lt-!! if $opt_libtool; # No info for `info' itself. $opt_no_info = 1 if $program eq 'info'; #### libcdio-0.90$ make distclean; aclocal && autoconf && automake && ./configure --enable-maintainer-mode && make all Making all in src make[2]: Entering directory `/path/to/libcdio-0.90/src' /bin/bash /path/to/libcdio-0.90/missing --run help2man --opt-include=./cd-drive.help2man --no-info --libtool -o cd-drive.1 ./cd-drive libcdio-0.90$ head src/cd-drive.1 .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.41.1. .TH CD-DRIVE "1" "May 2013" "cd-drive version 0.90 i686-pc-linux-gnu" "User Commands" .SH NAME cd-drive \- manual page for cd-drive version 0.90 i686-pc-linux-gnu .SH SYNOPSIS .B cd-drive \fIOPTION\fR... .TP Shows CD-ROM drive characteristics. .SH DESCRIPTION Is that the right fix for help2man? Should we change the sed hack in libcdio or include a copy of the modified help2man (perl script) ? Though, this is only needed for new releases. What do you say, Rocky?
