Make it so all names mentioned in the NAME section of each manpage becomes a
authorRichard Levitte <levitte@openssl.org>
Fri, 29 Nov 2002 15:00:58 +0000 (15:00 +0000)
committerRichard Levitte <levitte@openssl.org>
Fri, 29 Nov 2002 15:00:58 +0000 (15:00 +0000)
symlink to said manpage.
PR: 242

Makefile.org
util/extract-names.pl [new file with mode: 0644]

index fd9a10d..3ad0a68 100644 (file)
@@ -534,22 +534,30 @@ install_docs:
        for i in doc/apps/*.pod; do \
                fn=`basename $$i .pod`; \
                if [ "$$fn" = "config" ]; then sec=5; else sec=1; fi; \
-               echo "installing man$$sec/`basename $$i .pod`.$$sec"; \
+               echo "installing man$$sec/$$fn.$$sec"; \
                (cd `$(PERL) util/dirname.pl $$i`; \
                sh -c "$$pod2man \
                        --section=$$sec --center=OpenSSL \
                        --release=$(VERSION) `basename $$i`") \
-                       >  $(INSTALL_PREFIX)$(MANDIR)/man$$sec/`basename $$i .pod`.$$sec; \
+                       >  $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$$sec; \
+               $(PERL) util/extract-names.pl < $$i | grep -v "^$$fn" | \
+                       while read n; do \
+                               util/point.sh $$fn.$$sec $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$n.$$sec; \
+                       done; \
        done; \
        for i in doc/crypto/*.pod doc/ssl/*.pod; do \
                fn=`basename $$i .pod`; \
                if [ "$$fn" = "des_modes" ]; then sec=7; else sec=3; fi; \
-               echo "installing man$$sec/`basename $$i .pod`.$$sec"; \
+               echo "installing man$$sec/$$fn.$$sec"; \
                (cd `$(PERL) util/dirname.pl $$i`; \
                sh -c "$$pod2man \
                        --section=$$sec --center=OpenSSL \
                        --release=$(VERSION) `basename $$i`") \
-                       >  $(INSTALL_PREFIX)$(MANDIR)/man$$sec/`basename $$i .pod`.$$sec; \
+                       >  $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$$sec; \
+               $(PERL) util/extract-names.pl < $$i | grep -v "^$$fn" | \
+                       while read n; do \
+                               util/point.sh $$fn.$$sec $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$n.$$sec; \
+                       done; \
        done
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/util/extract-names.pl b/util/extract-names.pl
new file mode 100644 (file)
index 0000000..d413a04
--- /dev/null
@@ -0,0 +1,22 @@
+#!/usr/bin/perl
+
+$/ = "";                       # Eat a paragraph at once.
+while(<STDIN>) {
+    chop;
+    s/\n/ /gm;
+    if (/^=head1 /) {
+       $name = 0;
+    } elsif ($name) {
+       if (/ - /) {
+           s/ - .*//;
+           s/[ \t,]+/ /g;
+           push @words, split ' ';
+       }
+    }
+    if (/^=head1 *NAME *$/) {
+       $name = 1;
+    }
+}
+
+print join("\n", @words),"\n";
+