2008-02-27 19:52:07 +00:00
|
|
|
#!/usr/bin/perl
|
|
|
|
# IBM(c) 2007 EPL license http://www.eclipse.org/legal/epl-v10.html
|
|
|
|
|
|
|
|
# Builds the xCAT database man pages from the descriptions that are contained
|
|
|
|
# in Schema.pm. This script is run during the build of the perl-xCAT rpm, but
|
|
|
|
# is not packaged in the binary form of that rpm.
|
|
|
|
|
|
|
|
# We assume that this script is run in the perl-xCAT-2.0 dir, so everything is
|
|
|
|
# done relative to that.
|
|
|
|
|
|
|
|
use lib '.';
|
|
|
|
|
|
|
|
use xCAT::Schema;
|
|
|
|
|
|
|
|
my $poddir = 'pods/man5';
|
|
|
|
if (system("mkdir -p $poddir")) { die "Error: could not create $poddir.\n"; }
|
|
|
|
my $tabspecref = \%xCAT::Schema::tabspec;
|
|
|
|
|
|
|
|
# Build the man page for each table.
|
|
|
|
foreach my $tablekey (keys %$tabspecref) {
|
|
|
|
my $table = $tabspecref->{$tablekey};
|
|
|
|
my $summary = $table->{table_desc};
|
|
|
|
my $colorder = $table->{cols};
|
|
|
|
my $descriptions = $table->{descriptions};
|
|
|
|
writemanpage("$poddir/$tablekey.5.pod", $tablekey, $summary, $colorder, $descriptions);
|
|
|
|
}
|
|
|
|
|
|
|
|
exit;
|
|
|
|
|
|
|
|
|
|
|
|
# Create the man page for one table.
|
|
|
|
sub writemanpage {
|
|
|
|
my $file = shift; # relative path file name of the man page
|
|
|
|
my $tablename = shift; # name of table
|
|
|
|
my $summary = shift; # description of table
|
|
|
|
my $colorder = shift; # the order in which the table attributes should be presented in
|
|
|
|
my $descriptions = shift; # a hash containing the description of each attribute
|
|
|
|
|
|
|
|
open(FILE, ">$file") or die "Error: could not open $file for writing.\n";
|
|
|
|
|
|
|
|
print FILE <<"EOS1";
|
|
|
|
=head1 NAME
|
|
|
|
|
|
|
|
B<$tablename> - a table in the xCAT database.
|
|
|
|
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
|
|
|
|
B<$tablename Attributes:>
|
|
|
|
EOS1
|
|
|
|
|
|
|
|
foreach my $a (@$colorder) { print FILE " I<$a>\n"; }
|
|
|
|
|
|
|
|
print FILE <<"EOS2";
|
|
|
|
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
|
|
|
|
$summary
|
|
|
|
|
|
|
|
B<$tablename Attributes:>
|
|
|
|
EOS2
|
|
|
|
|
|
|
|
foreach my $a (@$colorder) {
|
|
|
|
my $d = $descriptions->{$a};
|
2008-02-29 12:44:03 +00:00
|
|
|
$d =~ s/\n/\n\n/; # if there are newlines, double them so pod sees a blank line, otherwise pod will ignore them
|
2008-02-27 19:52:07 +00:00
|
|
|
print FILE "\nI<$a> - $d\n";
|
|
|
|
}
|
|
|
|
|
|
|
|
print FILE <<"EOS3";
|
|
|
|
|
|
|
|
=head1 NOTES
|
|
|
|
|
|
|
|
This command is part of the xCAT software product.
|
|
|
|
EOS3
|
|
|
|
|
|
|
|
close FILE;
|
|
|
|
}
|