From: Eric Wong Date: Mon, 25 Jan 2021 04:53:45 +0000 (-0900) Subject: build: check with lexgrog(1) if available X-Git-Tag: v1.7.0~1293 X-Git-Url: http://www.git.stargrave.org/?p=public-inbox.git;a=commitdiff_plain;h=5683649f0956cec619cf511cd55be6ab483337d1 build: check with lexgrog(1) if available This will make life easier for Debian package maintainers running lintian. cf. commit 1350f5ab09f72c75ac2cd6c88f6a2b9e198fef55 ("public-inbox-v[12]-format.pod: make lexgrog happy") --- diff --git a/.gitignore b/.gitignore index 7f4142ba..f7e4c595 100644 --- a/.gitignore +++ b/.gitignore @@ -16,6 +16,7 @@ *.gz .*.cols .*.check +.*.lexgrog /NEWS.html /NEWS.atom /NEWS diff --git a/Documentation/include.mk b/Documentation/include.mk index df6c17e0..79bf460d 100644 --- a/Documentation/include.mk +++ b/Documentation/include.mk @@ -6,6 +6,7 @@ RSYNC = rsync RSYNC_DEST = public-inbox.org:/srv/public-inbox/ AWK = awk MAN = man +LEXGROG = lexgrog # this is "xml" on FreeBSD and maybe some other distros: XMLSTARLET = xmlstarlet @@ -56,6 +57,8 @@ check_man = $(AWK) '{gsub(/\b./,"")}length>80{print;err=1}END{exit(err)}'\ check-man :: $(check_80) +check-lexgrog :: $(check_lexgrog) + all :: $(docs) txt2pre = $(PERL) -I lib ./Documentation/txt2pre >$@ diff --git a/Makefile.PL b/Makefile.PL index 9d0a361a..b2f3393d 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -65,8 +65,12 @@ for my $i (@sections) { $t->{".$m.cols : $m.$i"} = [ "\@echo CHECK80 $m.$i;". "COLUMNS=80 \$(MAN) ./$m.$i | \$(check_man)" ]; + $t->{".$m.lexgrog: $m.$i"} = [ + "\@echo LEXGROG $m.$i;" . + "\$(LEXGROG) ./$m.$i >\$\@+ && mv \$\@+ \$@" ]; } push @{$v->{check_80}}, map { ".$_.cols" } @$ary; + push @{$v->{check_lexgrog}}, map { ".$_.lexgrog" } @$ary; my $manuals = $v->{"man$i"} = [ map { "$_.$i" } @$ary ]; push @{$v->{manuals}}, @$manuals; push @{$v->{mantxt}}, map { "Documentation/$_.txt" } @$ary; @@ -121,6 +125,8 @@ my %man3 = map {; # semi-colon tells Perl this is a BLOCK (and not EXPR) "lib/PublicInbox/$_" => "blib/man3/PublicInbox::$mod.\$(MAN3EXT)" } qw(Git.pm Import.pm WWW.pod SaPlugin/ListMirror.pod); my $warn_no_pod = @no_pod ? "\n\t\@echo W: missing .pod: @no_pod\n" : ''; +chomp(my $lexgrog = `which lexgrog 2>/dev/null`); +my $check_lexgrog = $lexgrog ? 'check-lexgrog' : ''; WriteMakefile( NAME => 'PublicInbox', # n.b. camel-case is not our choice @@ -184,7 +190,7 @@ $VARS -include Documentation/include.mk $TGTS -check-man ::$warn_no_pod +check-man :: $check_lexgrog$warn_no_pod # syntax checks are currently GNU make only: %.syntax :: %