open-src/common/suntouch-manpages.pl
author Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
Fri, 23 Sep 2011 14:56:26 -0700
changeset 1215 924b7feb31b8
parent 1079 86981537ef98
permissions -rwxr-xr-x
7091272 Missing reference of .so in /usr/man/man3xi man pages
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
40
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
     1
#!/usr/perl5/bin/perl -w
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
     2
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
     3
#
1079
86981537ef98 7022321 suntouch-manpages.pl should stop trying to touch the shadows
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1056
diff changeset
     4
# Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
40
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
     5
#
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
     6
# Permission is hereby granted, free of charge, to any person obtaining a
919
425233ae7236 6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 907
diff changeset
     7
# copy of this software and associated documentation files (the "Software"),
425233ae7236 6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 907
diff changeset
     8
# to deal in the Software without restriction, including without limitation
425233ae7236 6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 907
diff changeset
     9
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
425233ae7236 6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 907
diff changeset
    10
# and/or sell copies of the Software, and to permit persons to whom the
425233ae7236 6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 907
diff changeset
    11
# Software is furnished to do so, subject to the following conditions:
425233ae7236 6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 907
diff changeset
    12
#
425233ae7236 6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 907
diff changeset
    13
# The above copyright notice and this permission notice (including the next
425233ae7236 6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 907
diff changeset
    14
# paragraph) shall be included in all copies or substantial portions of the
425233ae7236 6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 907
diff changeset
    15
# Software.
425233ae7236 6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 907
diff changeset
    16
#
425233ae7236 6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 907
diff changeset
    17
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
425233ae7236 6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 907
diff changeset
    18
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
425233ae7236 6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 907
diff changeset
    19
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
425233ae7236 6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 907
diff changeset
    20
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
425233ae7236 6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 907
diff changeset
    21
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
425233ae7236 6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 907
diff changeset
    22
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
425233ae7236 6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 907
diff changeset
    23
# DEALINGS IN THE SOFTWARE.
40
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    24
#
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    25
#
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    26
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    27
# Updates manual pages to include standard Sun man page sections
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    28
#
947
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
    29
# Arguments:
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
    30
#	-a '{attribute, value}, ...' - add entries to Attributes section table
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
    31
#	-o '{attribute, value}, ...' - override previous entries in
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
    32
#					Attributes section table
40
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    33
#	-l libname		     - add library line to synopsis
47
d59efbadf28b 4869280 Update xscreensaver to 5.0
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 40
diff changeset
    34
#	-p path			     - add path to command in synopsis
1003
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
    35
#	-r '{text, replacement}'     - replace text with replacement
40
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    36
493
f43507b5737d 6735203 open-src Makefile cleanup & enhancements
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 90
diff changeset
    37
use Getopt::Long;
40
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    38
use integer;
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    39
use strict;
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    40
493
f43507b5737d 6735203 open-src Makefile cleanup & enhancements
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 90
diff changeset
    41
my @attributes;
947
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
    42
my @overrides;
1003
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
    43
my @replacements;
493
f43507b5737d 6735203 open-src Makefile cleanup & enhancements
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 90
diff changeset
    44
my $library;
f43507b5737d 6735203 open-src Makefile cleanup & enhancements
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 90
diff changeset
    45
my $synpath;
f43507b5737d 6735203 open-src Makefile cleanup & enhancements
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 90
diff changeset
    46
f43507b5737d 6735203 open-src Makefile cleanup & enhancements
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 90
diff changeset
    47
my $result = GetOptions('a|attribute=s' => \@attributes,
947
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
    48
			'o|override=s'  => \@overrides,
1003
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
    49
			'r|replace=s'	=> \@replacements,
493
f43507b5737d 6735203 open-src Makefile cleanup & enhancements
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 90
diff changeset
    50
			'l|library=s'	=> \$library,
f43507b5737d 6735203 open-src Makefile cleanup & enhancements
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 90
diff changeset
    51
			'p|path=s'	=> \$synpath);
40
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    52
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    53
my $add_attributes = 0;
1003
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
    54
my $attributes_table;
40
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    55
947
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
    56
if (scalar(@attributes) + scalar(@overrides) > 0) {
40
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    57
  $add_attributes = 1;
1003
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
    58
  $attributes_table = &get_attributes_table(\@attributes, \@overrides);
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
    59
}
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
    60
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
    61
# Reference to generated function to substitute text replacements
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
    62
my $text_subref;
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
    63
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
    64
if (scalar(@replacements) > 0) {
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
    65
  $text_subref = &get_text_substitutions(\@replacements);
40
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    66
}
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    67
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    68
my $add_library_to_synopsis = 0;
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    69
493
f43507b5737d 6735203 open-src Makefile cleanup & enhancements
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 90
diff changeset
    70
if (defined($library)) {
40
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    71
  $add_library_to_synopsis = 1;
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    72
}
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    73
47
d59efbadf28b 4869280 Update xscreensaver to 5.0
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 40
diff changeset
    74
my $add_path_to_synopsis = 0;
d59efbadf28b 4869280 Update xscreensaver to 5.0
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 40
diff changeset
    75
493
f43507b5737d 6735203 open-src Makefile cleanup & enhancements
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 90
diff changeset
    76
if (defined($synpath)) {
47
d59efbadf28b 4869280 Update xscreensaver to 5.0
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 40
diff changeset
    77
  $add_path_to_synopsis = 1;
d59efbadf28b 4869280 Update xscreensaver to 5.0
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 40
diff changeset
    78
}
d59efbadf28b 4869280 Update xscreensaver to 5.0
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 40
diff changeset
    79
40
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    80
my $filename;
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    81
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    82
while ($filename = shift) {
947
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
    83
  rename($filename, "$filename.orig")
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
    84
    || die "Cannot rename $filename to $filename.orig: $!";
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
    85
  open(IN, '<', "$filename.orig")
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
    86
    || die "Cannot read $filename.orig: $!";
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
    87
  open(OUT, '>', $filename)
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
    88
    || die "Cannot write to $filename: $!";
40
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    89
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    90
  my $firstline = <IN>;
1079
86981537ef98 7022321 suntouch-manpages.pl should stop trying to touch the shadows
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1056
diff changeset
    91
  my $is_shadow = 0;
40
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    92
493
f43507b5737d 6735203 open-src Makefile cleanup & enhancements
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 90
diff changeset
    93
  if ($add_attributes > 0) {
40
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    94
    # Check for man page preprocessor list - if found, make sure t is in it for
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    95
    # table processing, if not found, add one;
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    96
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    97
    if ($firstline =~ m/\'\\\"/) {
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    98
      # Found preprocessor list
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    99
      if ($firstline =~ m/t/) {
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   100
	# Do nothing - tbl preprocessing already selected
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   101
      } else {
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   102
	chomp($firstline);
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   103
	$firstline .= "t\n";
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   104
      }
1079
86981537ef98 7022321 suntouch-manpages.pl should stop trying to touch the shadows
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1056
diff changeset
   105
    } elsif ($firstline =~ m/^\.so /) {
86981537ef98 7022321 suntouch-manpages.pl should stop trying to touch the shadows
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1056
diff changeset
   106
      # Shadow man page, do not add table header or footer
86981537ef98 7022321 suntouch-manpages.pl should stop trying to touch the shadows
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1056
diff changeset
   107
      $is_shadow = 1;
40
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   108
    } else {
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   109
      # No preprocessor list found
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   110
      print OUT q('\" t), "\n";
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   111
    }
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   112
  }
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   113
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   114
  print OUT $firstline;
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   115
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   116
  my $nextline;
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   117
  while ($nextline = <IN>) {
1003
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
   118
    if ($text_subref) {
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
   119
      $nextline = &$text_subref($nextline);
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
   120
    }
40
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   121
    print OUT $nextline;
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   122
70
af1bea13b32b 6477401 Xorg modularization: SUNWxorg-client*
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 47
diff changeset
   123
    if ($nextline =~ m/.SH[\s "]*(SYNOPSIS|SYNTAX)/) {
47
d59efbadf28b 4869280 Update xscreensaver to 5.0
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 40
diff changeset
   124
      if ($add_library_to_synopsis) {
40
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   125
	print OUT ".nf\n",
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   126
	  q(\fBcc\fR [ \fIflag\fR\&.\&.\&. ] \fIfile\fR\&.\&.\&. \fB\-l),
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   127
	    $library, q(\fR [ \fIlibrary\fR\&.\&.\&. ]), "\n.fi\n";
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   128
      }
47
d59efbadf28b 4869280 Update xscreensaver to 5.0
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 40
diff changeset
   129
      elsif ($add_path_to_synopsis) {
d59efbadf28b 4869280 Update xscreensaver to 5.0
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 40
diff changeset
   130
	$nextline = <IN>;
d59efbadf28b 4869280 Update xscreensaver to 5.0
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 40
diff changeset
   131
	$nextline =~ s/^(\.B[IR]*\s+\"?)/$1$synpath/;
90
aa93b75745de 6509458 Xorg modularization: libXpm & xpm apps
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 70
diff changeset
   132
	$nextline =~ s/^(\\fB)/$1$synpath/;
47
d59efbadf28b 4869280 Update xscreensaver to 5.0
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 40
diff changeset
   133
	print OUT $nextline;
d59efbadf28b 4869280 Update xscreensaver to 5.0
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 40
diff changeset
   134
      }
40
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   135
    }
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   136
  }
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   137
1079
86981537ef98 7022321 suntouch-manpages.pl should stop trying to touch the shadows
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1056
diff changeset
   138
  if ($add_attributes && !$is_shadow) {
1003
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
   139
    print OUT $attributes_table;
40
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   140
  }
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   141
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   142
  close(IN);
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   143
  close(OUT);
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   144
}
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   145
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   146
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   147
sub get_attributes_table {
947
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   148
  my ($attributes_ref, $overrides_ref) = @_;
40
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   149
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   150
  my $attributes_table = q{
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   151
.\\" Begin Sun update
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   152
.SH "ATTRIBUTES"
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   153
See \fBattributes\fR(5) for descriptions of the following attributes:
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   154
.sp
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   155
.TS
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   156
allbox;
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   157
cw(2.750000i)| cw(2.750000i)
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   158
lw(2.750000i)| lw(2.750000i).
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   159
ATTRIBUTE TYPE	ATTRIBUTE VALUE
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   160
<attributes>
947
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   161
.TE
40
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   162
.sp
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   163
.\\" End Sun update
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   164
};
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   165
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   166
  my $attribute_entries = "";
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   167
947
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   168
  my @attribute_pairs = parse_attributes_list($attributes_ref);
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   169
  my @overrides_pairs = parse_attributes_list($overrides_ref);
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   170
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   171
  foreach my $o (@overrides_pairs) {
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   172
    my ($oname, $ovalue) = @{$o};
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   173
    my $found_match = 0;
493
f43507b5737d 6735203 open-src Makefile cleanup & enhancements
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 90
diff changeset
   174
947
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   175
    foreach my $a (@attribute_pairs) {
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   176
      if ($a->[0] eq $oname) {
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   177
	$a->[1] = $ovalue;
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   178
	$found_match++;
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   179
      }
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   180
    }
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   181
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   182
    if ($found_match == 0) {
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   183
      push @attribute_pairs, $o;
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   184
    }
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   185
  }
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   186
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   187
  foreach my $a (@attribute_pairs) {
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   188
    my ($name, $value) = @{$a};
40
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   189
    $attribute_entries .= $name . "\t" . $value . "\n";
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   190
  }
493
f43507b5737d 6735203 open-src Makefile cleanup & enhancements
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 90
diff changeset
   191
40
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   192
  $attributes_table =~ s/<attributes>\n/$attribute_entries/;
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   193
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   194
  return $attributes_table;
bec81b174839 6454339 Xorg modularization: libXau 1.0.2
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   195
}
947
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   196
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   197
sub parse_attributes_list {
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   198
  my ($list_ref) = @_;
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   199
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   200
  my $list_string = join(" ", @{$list_ref});
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   201
  $list_string =~ s/^\s*{//;
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   202
  $list_string =~ s/}\s*$//;
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   203
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   204
  my @attribs = split /}\s*{/, $list_string;
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   205
  my @attrib_pairs = ();
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   206
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   207
  foreach my $a (@attribs) {
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   208
    my @pair = split /,\s*/, $a, 2;  # pair = name, value
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   209
    push @attrib_pairs, \@pair;
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   210
  }
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   211
  return @attrib_pairs;
ef9da9d336f5 6950022 X man page cleanups
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 943
diff changeset
   212
}
1003
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
   213
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
   214
sub get_text_substitutions {
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
   215
  my ($replacements_ref) = @_;
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
   216
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
   217
  my @replacement_pairs = parse_attributes_list($replacements_ref);
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
   218
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
   219
  my @subst_pattern_list = ();
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
   220
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
   221
  foreach my $r (@replacement_pairs) {
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
   222
    my ($text_in, $text_out) = @{$r};
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
   223
    push @subst_pattern_list, " s{$text_in}{$text_out}go;";
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
   224
  }
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
   225
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
   226
  my $subst_function = join("\n",
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
   227
			    'sub {',
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
   228
			    ' $_ = $_[0]; ',
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
   229
			    @subst_pattern_list, 
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
   230
			    ' return $_;',
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
   231
			    '}');
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
   232
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
   233
  return eval $subst_function;
a4d17d6bc179 6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 947
diff changeset
   234
}