The "fix-texi.perl" script is used to fix up the output of
`docbook2x-texi`:
- It changes the filename to be "git.info".
- It changes the directory category and entry.
The script is written in Perl, but it can be rather trivially converted
to a shell script. Do so to remove the dependency on Perl for building
the user manual.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git.info: user-manual.texi
$(QUIET_MAKEINFO)$(MAKEINFO) --no-split -o $@ user-manual.texi
-user-manual.texi: user-manual.xml
+user-manual.texi: user-manual.xml fix-texi.sh
$(QUIET_DB2TEXI)$(DOCBOOK2X_TEXI) user-manual.xml --encoding=UTF-8 --to-stdout >$@+ && \
- $(PERL_PATH) fix-texi.perl <$@+ >$@ && \
+ $(SHELL_PATH) fix-texi.sh <$@+ >$@ && \
$(RM) $@+
user-manual.pdf: user-manual.xml
+++ /dev/null
-#!/usr/bin/perl -w
-
-while (<>) {
- if (/^\@setfilename/) {
- $_ = "\@setfilename git.info\n";
- } elsif (/^\@direntry/) {
- print '@dircategory Development
-@direntry
-* Git: (git). A fast distributed revision control system
-@end direntry
-'; }
- unless (/^\@direntry/../^\@end direntry/) {
- print;
- }
-}
--- /dev/null
+#!/bin/sh
+
+awk '
+ /^@setfilename/{
+ print "@setfilename git.info"
+ next
+ }
+ /^@direntry/{
+ direntry=1
+ print "@dircategory Development"
+ print "@direntry"
+ print "* Git: (git). A fast distributed revision control system"
+ print "@end direntry"
+ next
+ }
+ /^@end direntry/{
+ direntry=0
+ next
+ }
+ !direntry
+'