From 7b57d0ba6cbc66beaadc74a62818e1119af1c1c2 Mon Sep 17 00:00:00 2001
From: Bruce Potter <bp@us.ibm.com>
Date: Fri, 1 Nov 2013 16:38:35 -0400
Subject: [PATCH] build man pages for xCAT-OpenStack tables and objects

---
 buildcore.sh                                  |  1 +
 xCAT-OpenStack/lib/perl/xCAT_schema/Clouds.pm |  1 +
 xCAT-OpenStack/xCAT-OpenStack.spec            | 21 ++++++++++++++++++-
 3 files changed, 22 insertions(+), 1 deletion(-)

diff --git a/buildcore.sh b/buildcore.sh
index eab35eda4..0b59d4895 100755
--- a/buildcore.sh
+++ b/buildcore.sh
@@ -497,6 +497,7 @@ if [ "$OSNAME" != "AIX" -a "$REL" = "devel" -a "$PROMOTE" != 1 -a -z "$EMBED" ];
 	rpm2cpio ../$XCATCORE/perl-xCAT-*.$NOARCH.rpm | cpio -id '*.html'
 	rpm2cpio ../$XCATCORE/xCAT-test-*.$NOARCH.rpm | cpio -id '*.html'
 	rpm2cpio ../$XCATCORE/xCAT-buildkit-*.$NOARCH.rpm | cpio -id '*.html'
+	rpm2cpio ../$XCATCORE/xCAT-OpenStack-*.x86_64.rpm | cpio -id '*.html'
 	i=0
 	while [ $((i+=1)) -le 5 ] && ! rsync $verboseflag -r opt/xcat/share/doc/man1 opt/xcat/share/doc/man3 opt/xcat/share/doc/man5 opt/xcat/share/doc/man7 opt/xcat/share/doc/man8 $UPLOADUSER,xcat@web.sourceforge.net:htdocs/
 	do : ; done
diff --git a/xCAT-OpenStack/lib/perl/xCAT_schema/Clouds.pm b/xCAT-OpenStack/lib/perl/xCAT_schema/Clouds.pm
index b14cc0212..303e6ae32 100755
--- a/xCAT-OpenStack/lib/perl/xCAT_schema/Clouds.pm
+++ b/xCAT-OpenStack/lib/perl/xCAT_schema/Clouds.pm
@@ -13,6 +13,7 @@ package xCAT_schema::Clouds;
         required => [qw(name)],
 	table_desc => 'OpenStack clouds managed by this xCAT cluster',
 	descriptions => {
+        name => 'The name of the cloud.  This is referred to by the nodes in the cloud table.',
 	    controller => 'The xCAT node name of the controller node',
 	    hostip => 'The host IP is in openstack management network on the controller node. It is always the rabbitmq host IP and nova_metadata_ip.',
 	    pubinterface => 'Interface to use for external bridge. The default value is eth1.',
diff --git a/xCAT-OpenStack/xCAT-OpenStack.spec b/xCAT-OpenStack/xCAT-OpenStack.spec
index 66d181ad2..d0ff64bab 100644
--- a/xCAT-OpenStack/xCAT-OpenStack.spec
+++ b/xCAT-OpenStack/xCAT-OpenStack.spec
@@ -24,6 +24,9 @@ management.
 %setup -q -n xCAT-OpenStack
 
 %build
+# Build the pod version of the man pages for each DB table.  It puts them in the man5 and man7 subdirs.
+# Then convert the pods to man pages and html pages.
+./db2man
 
 
 %install
@@ -32,8 +35,14 @@ mkdir -p $RPM_BUILD_ROOT/%{prefix}/lib/perl/xCAT_plugin
 mkdir -p $RPM_BUILD_ROOT/%{prefix}/lib/perl/xCAT
 mkdir -p $RPM_BUILD_ROOT/install/postscripts
 mkdir -p $RPM_BUILD_ROOT/%{prefix}/share/xcat/mypostscript
+mkdir -p $RPM_BUILD_ROOT/%{prefix}/share/xcat/templates
 mkdir -p $RPM_BUILD_ROOT/%{prefix}/sbin
 
+mkdir -p $RPM_BUILD_ROOT/%{prefix}/share/man/man5
+mkdir -p $RPM_BUILD_ROOT/%{prefix}/share/doc/man5
+mkdir -p $RPM_BUILD_ROOT/%{prefix}/share/man/man7
+mkdir -p $RPM_BUILD_ROOT/%{prefix}/share/doc/man7
+
 cp -a lib/perl/xCAT_schema/* $RPM_BUILD_ROOT/%{prefix}/lib/perl/xCAT_schema
 find $RPM_BUILD_ROOT/%{prefix}/lib/perl/xCAT_schema -type d -exec chmod 755 {} \;
 find $RPM_BUILD_ROOT/%{prefix}/lib/perl/xCAT_schema -type f -exec chmod 644 {} \;
@@ -47,6 +56,15 @@ chmod 644 $RPM_BUILD_ROOT/%{prefix}/lib/perl/xCAT/*
 cp sbin/* $RPM_BUILD_ROOT/%{prefix}/sbin
 chmod 755 $RPM_BUILD_ROOT/%{prefix}/sbin/*
 
+# These were built dynamically in the build phase
+cp share/man/man5/* $RPM_BUILD_ROOT/%{prefix}/share/man/man5
+chmod 644 $RPM_BUILD_ROOT/%{prefix}/share/man/man5/*
+cp share/doc/man5/* $RPM_BUILD_ROOT/%{prefix}/share/doc/man5
+chmod 644 $RPM_BUILD_ROOT/%{prefix}/share/doc/man5/*
+cp share/man/man7/* $RPM_BUILD_ROOT/%{prefix}/share/man/man7
+chmod 644 $RPM_BUILD_ROOT/%{prefix}/share/man/man7/*
+cp share/doc/man7/* $RPM_BUILD_ROOT/%{prefix}/share/doc/man7
+chmod 644 $RPM_BUILD_ROOT/%{prefix}/share/doc/man7/*
 
 #ln -sf ../bin/xcatclientnnr $RPM_BUILD_ROOT/%{prefix}/sbin/makeclouddata
 
@@ -55,7 +73,8 @@ cp -a postscripts/* $RPM_BUILD_ROOT/install/postscripts
 chmod 755 $RPM_BUILD_ROOT/install/postscripts/*
 
 cp -a share/xcat/* $RPM_BUILD_ROOT/%{prefix}/share/xcat/
-chmod 644 $RPM_BUILD_ROOT/%{prefix}/share/xcat/*
+find $RPM_BUILD_ROOT/%{prefix}/share/xcat -type d -exec chmod 755 {} \;
+find $RPM_BUILD_ROOT/%{prefix}/share/xcat -type f -exec chmod 644 {} \;
 
 %clean
 rm -rf $RPM_BUILD_ROOT