mirror of
				https://github.com/xcat2/xcat-core.git
				synced 2025-11-04 05:12:30 +00:00 
			
		
		
		
	Add files and directory framework to generate the xCAT-confluent RPM
Cleaned up some of the comments in the beginning of buildcore.sh using spaces instead of tabs and added the build for xCAT-confluent. The xCAT-confluent rpm is intended to be used for xCAT2.X releases to support confluent. This rpm has a requirement on confluent_server package. For 2.9.1, xCAT-confluent is optional. For 2.10, the plan is to default the console service to confluent.
This commit is contained in:
		
							
								
								
									
										42
									
								
								buildcore.sh
									
									
									
									
									
								
							
							
						
						
									
										42
									
								
								buildcore.sh
									
									
									
									
									
								
							@@ -12,37 +12,37 @@
 | 
			
		||||
#    at https://sourceforge.net/account/ssh
 | 
			
		||||
#  - On Linux:  make sure createrepo is installed on the build machine
 | 
			
		||||
#  - On AIX:  Install openssl and openssh installp pkgs and run updtvpkg.  Install from http://www.perzl.org/aix/ :
 | 
			
		||||
#			apr, apr-util, bash, bzip2, db4, expat, gdbm, gettext, glib2, gmp, info, libidn, neon, openssl (won't
 | 
			
		||||
#			conflict with the installp version - but i don't think you need this), pcre, perl-DBD-SQLite, perl-DBI,
 | 
			
		||||
#           popt, python, readline, rsynce, sqlite, subversion, unixODBC, zlib.  Install wget from http://www-03.ibm.com/systems/power/software/aix/linux/toolbox/alpha.html
 | 
			
		||||
#        apr, apr-util, bash, bzip2, db4, expat, gdbm, gettext, glib2, gmp, info, libidn, neon, openssl (won't
 | 
			
		||||
#        conflict with the installp version - but i don't think you need this), pcre, perl-DBD-SQLite, perl-DBI,
 | 
			
		||||
#        popt, python, readline, rsynce, sqlite, subversion, unixODBC, zlib.  
 | 
			
		||||
#        Install wget from http://www-03.ibm.com/systems/power/software/aix/linux/toolbox/alpha.html
 | 
			
		||||
#  - Run this script from the local svn repository you just created.  It will create the other
 | 
			
		||||
#    directories that are needed.
 | 
			
		||||
 | 
			
		||||
# Usage:  buildcore.sh [attr=value attr=value ...]
 | 
			
		||||
#       Before running buildcore.sh, you must change the local git repo to the branch you want built, using: git checkout <branch>
 | 
			
		||||
#		PROMOTE=1 - if the attribute "PROMOTE" is specified, means an official dot release.  This does not
 | 
			
		||||
#					actually build xcat, just uploads the most recent snap build to https://sourceforge.net/projects/xcat/files/xcat/ .
 | 
			
		||||
#					If not specified, a snap build is assumed, which uploads to https://sourceforge.net/projects/xcat/files/yum/
 | 
			
		||||
#					or https://sourceforge.net/projects/xcat/files/aix/.
 | 
			
		||||
#		PREGA=1 - use this option with PROMOTE=1 on a branch that already has a released dot release, but this build is
 | 
			
		||||
#					a GA candidate build, not to be released yet.  This will result in the tarball being uploaded to
 | 
			
		||||
#					https://sourceforge.net/projects/xcat/files/yum/ or https://sourceforge.net/projects/xcat/files/aix/
 | 
			
		||||
#					(but the tarball file name will be like a released tarball, not a snap build).  When you are ready to
 | 
			
		||||
#					release this build, use PROMOTE=1 without PREGA
 | 
			
		||||
#		BUILDALL=1 - build all rpms, whether they changed or not.  Should be used for snap builds that are in prep for a release.
 | 
			
		||||
# 		UP=0 or UP=1 - override the default upload behavior 
 | 
			
		||||
# 		SVNUP=<filename> - control which rpms get built by specifying a coresvnup file
 | 
			
		||||
# 		GITUP=<filename> - control which rpms get built by specifying a coregitup file
 | 
			
		||||
#		EMBED=<embedded-environment> - the environment for which a minimal version of xcat should be built, e.g. zvm or flex
 | 
			
		||||
#		VERBOSE=1 - to see lots of verbose output
 | 
			
		||||
#    Before running buildcore.sh, you must change the local git repo to the branch you want built, using: git checkout <branch>
 | 
			
		||||
#        PROMOTE=1 - if the attribute "PROMOTE" is specified, means an official dot release.  This does not actually build
 | 
			
		||||
#                    xcat, just uploads the most recent snap build to https://sourceforge.net/projects/xcat/files/xcat/ .
 | 
			
		||||
#                    If not specified, a snap build is assumed, which uploads to https://sourceforge.net/projects/xcat/files/yum/
 | 
			
		||||
#                    or https://sourceforge.net/projects/xcat/files/aix/.
 | 
			
		||||
#        PREGA=1 - use this option with PROMOTE=1 on a branch that already has a released dot release, but this build is
 | 
			
		||||
#                  a GA candidate build, not to be released yet.  This will result in the tarball being uploaded to
 | 
			
		||||
#                  https://sourceforge.net/projects/xcat/files/yum/ or https://sourceforge.net/projects/xcat/files/aix/
 | 
			
		||||
#                  (but the tarball file name will be like a released tarball, not a snap build).  When you are ready to
 | 
			
		||||
#                  release this build, use PROMOTE=1 without PREGA
 | 
			
		||||
#        BUILDALL=1 - build all rpms, whether they changed or not.  Should be used for snap builds that are in prep for a release.
 | 
			
		||||
#        UP=0 or UP=1 - override the default upload behavior 
 | 
			
		||||
#        SVNUP=<filename> - control which rpms get built by specifying a coresvnup file
 | 
			
		||||
#        GITUP=<filename> - control which rpms get built by specifying a coregitup file
 | 
			
		||||
#        EMBED=<embedded-environment> - the environment for which a minimal version of xcat should be built, e.g. zvm or flex
 | 
			
		||||
#        VERBOSE=1 - to see lots of verbose output
 | 
			
		||||
 | 
			
		||||
# you can change this if you need to
 | 
			
		||||
UPLOADUSER=bp-sawyers
 | 
			
		||||
FRS=/home/frs/project/x/xc/xcat
 | 
			
		||||
 | 
			
		||||
# These are the rpms that should be built for each kind of xcat build
 | 
			
		||||
#ALLBUILD="perl-xCAT xCAT-client xCAT-server xCAT-IBMhpc xCAT-rmc xCAT-UI xCAT-test xCAT-buildkit xCAT xCATsn xCAT-genesis-scripts xCAT-OpenStack xCAT-SoftLayer xCAT-OpenStack-baremetal"
 | 
			
		||||
ALLBUILD="perl-xCAT xCAT-client xCAT-server  xCAT-test xCAT-buildkit xCAT xCATsn xCAT-genesis-scripts xCAT-SoftLayer xCAT-vlan"
 | 
			
		||||
ALLBUILD="perl-xCAT xCAT-client xCAT-server xCAT-test xCAT-buildkit xCAT xCATsn xCAT-genesis-scripts xCAT-SoftLayer xCAT-vlan xCAT-confluent"
 | 
			
		||||
ZVMBUILD="perl-xCAT xCAT-server xCAT-UI"
 | 
			
		||||
ZVMLINK="xCAT-client xCAT xCATsn"
 | 
			
		||||
# xCAT and xCATsn have PCM specific configuration - conserver-xcat, syslinux-xcat
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										326
									
								
								xCAT-confluent/LICENSE.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										326
									
								
								xCAT-confluent/LICENSE.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,326 @@
 | 
			
		||||
<html xmlns:o="urn:schemas-microsoft-com:office:office"
 | 
			
		||||
xmlns:w="urn:schemas-microsoft-com:office:word"
 | 
			
		||||
xmlns="http://www.w3.org/TR/REC-html40">
 | 
			
		||||
 | 
			
		||||
<head>
 | 
			
		||||
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
 | 
			
		||||
<meta name=ProgId content=Word.Document>
 | 
			
		||||
<meta name=Generator content="Microsoft Word 9">
 | 
			
		||||
<meta name=Originator content="Microsoft Word 9">
 | 
			
		||||
<title>Eclipse Public License - Version 1.0</title>
 | 
			
		||||
<!--[if gte mso 9]><xml>
 | 
			
		||||
 <o:DocumentProperties>
 | 
			
		||||
  <o:Revision>2</o:Revision>
 | 
			
		||||
  <o:TotalTime>3</o:TotalTime>
 | 
			
		||||
  <o:Created>2004-03-05T23:03:00Z</o:Created>
 | 
			
		||||
  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
 | 
			
		||||
  <o:Pages>4</o:Pages>
 | 
			
		||||
  <o:Words>1626</o:Words>
 | 
			
		||||
  <o:Characters>9270</o:Characters>
 | 
			
		||||
   <o:Lines>77</o:Lines>
 | 
			
		||||
  <o:Paragraphs>18</o:Paragraphs>
 | 
			
		||||
  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
 | 
			
		||||
  <o:Version>9.4402</o:Version>
 | 
			
		||||
 </o:DocumentProperties>
 | 
			
		||||
</xml><![endif]--><!--[if gte mso 9]><xml>
 | 
			
		||||
 <w:WordDocument>
 | 
			
		||||
  <w:TrackRevisions/>
 | 
			
		||||
 </w:WordDocument>
 | 
			
		||||
</xml><![endif]-->
 | 
			
		||||
<style>
 | 
			
		||||
<!--
 | 
			
		||||
 /* Font Definitions */
 | 
			
		||||
@font-face
 | 
			
		||||
	{font-family:Tahoma;
 | 
			
		||||
	panose-1:2 11 6 4 3 5 4 4 2 4;
 | 
			
		||||
	mso-font-charset:0;
 | 
			
		||||
	mso-generic-font-family:swiss;
 | 
			
		||||
	mso-font-pitch:variable;
 | 
			
		||||
	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
 | 
			
		||||
 /* Style Definitions */
 | 
			
		||||
p.MsoNormal, li.MsoNormal, div.MsoNormal
 | 
			
		||||
	{mso-style-parent:"";
 | 
			
		||||
	margin:0in;
 | 
			
		||||
	margin-bottom:.0001pt;
 | 
			
		||||
	mso-pagination:widow-orphan;
 | 
			
		||||
	font-size:12.0pt;
 | 
			
		||||
	font-family:"Times New Roman";
 | 
			
		||||
	mso-fareast-font-family:"Times New Roman";}
 | 
			
		||||
p
 | 
			
		||||
	{margin-right:0in;
 | 
			
		||||
	mso-margin-top-alt:auto;
 | 
			
		||||
	mso-margin-bottom-alt:auto;
 | 
			
		||||
	margin-left:0in;
 | 
			
		||||
	mso-pagination:widow-orphan;
 | 
			
		||||
	font-size:12.0pt;
 | 
			
		||||
	font-family:"Times New Roman";
 | 
			
		||||
	mso-fareast-font-family:"Times New Roman";}
 | 
			
		||||
p.BalloonText, li.BalloonText, div.BalloonText
 | 
			
		||||
	{mso-style-name:"Balloon Text";
 | 
			
		||||
	margin:0in;
 | 
			
		||||
	margin-bottom:.0001pt;
 | 
			
		||||
	mso-pagination:widow-orphan;
 | 
			
		||||
	font-size:8.0pt;
 | 
			
		||||
	font-family:Tahoma;
 | 
			
		||||
	mso-fareast-font-family:"Times New Roman";}
 | 
			
		||||
@page Section1
 | 
			
		||||
	{size:8.5in 11.0in;
 | 
			
		||||
	margin:1.0in 1.25in 1.0in 1.25in;
 | 
			
		||||
	mso-header-margin:.5in;
 | 
			
		||||
	mso-footer-margin:.5in;
 | 
			
		||||
	mso-paper-source:0;}
 | 
			
		||||
div.Section1
 | 
			
		||||
	{page:Section1;}
 | 
			
		||||
-->
 | 
			
		||||
</style>
 | 
			
		||||
</head>
 | 
			
		||||
 | 
			
		||||
<body lang=EN-US style='tab-interval:.5in'>
 | 
			
		||||
 | 
			
		||||
<div class=Section1>
 | 
			
		||||
 | 
			
		||||
<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
 | 
			
		||||
THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE,
 | 
			
		||||
REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
 | 
			
		||||
OF THIS AGREEMENT.</span> </p>
 | 
			
		||||
 | 
			
		||||
<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
 | 
			
		||||
 | 
			
		||||
<p><span style='font-size:10.0pt'>"Contribution" means:</span> </p>
 | 
			
		||||
 | 
			
		||||
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
 | 
			
		||||
in the case of the initial Contributor, the initial code and documentation
 | 
			
		||||
distributed under this Agreement, and<br clear=left>
 | 
			
		||||
b) in the case of each subsequent Contributor:</span></p>
 | 
			
		||||
 | 
			
		||||
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
 | 
			
		||||
changes to the Program, and</span></p>
 | 
			
		||||
 | 
			
		||||
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
 | 
			
		||||
additions to the Program;</span></p>
 | 
			
		||||
 | 
			
		||||
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
 | 
			
		||||
such changes and/or additions to the Program originate from and are distributed
 | 
			
		||||
by that particular Contributor. A Contribution 'originates' from a Contributor
 | 
			
		||||
if it was added to the Program by such Contributor itself or anyone acting on
 | 
			
		||||
such Contributor's behalf. Contributions do not include additions to the
 | 
			
		||||
Program which: (i) are separate modules of software distributed in conjunction
 | 
			
		||||
with the Program under their own license agreement, and (ii) are not derivative
 | 
			
		||||
works of the Program. </span></p>
 | 
			
		||||
 | 
			
		||||
<p><span style='font-size:10.0pt'>"Contributor" means any person or
 | 
			
		||||
entity that distributes the Program.</span> </p>
 | 
			
		||||
 | 
			
		||||
<p><span style='font-size:10.0pt'>"Licensed Patents " mean patent
 | 
			
		||||
claims licensable by a Contributor which are necessarily infringed by the use
 | 
			
		||||
or sale of its Contribution alone or when combined with the Program. </span></p>
 | 
			
		||||
 | 
			
		||||
<p><span style='font-size:10.0pt'>"Program" means the Contributions
 | 
			
		||||
distributed in accordance with this Agreement.</span> </p>
 | 
			
		||||
 | 
			
		||||
<p><span style='font-size:10.0pt'>"Recipient" means anyone who
 | 
			
		||||
receives the Program under this Agreement, including all Contributors.</span> </p>
 | 
			
		||||
 | 
			
		||||
<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
 | 
			
		||||
 | 
			
		||||
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
 | 
			
		||||
Subject to the terms of this Agreement, each Contributor hereby grants Recipient
 | 
			
		||||
a non-exclusive, worldwide, royalty-free copyright license to<span
 | 
			
		||||
style='color:red'> </span>reproduce, prepare derivative works of, publicly
 | 
			
		||||
display, publicly perform, distribute and sublicense the Contribution of such
 | 
			
		||||
Contributor, if any, and such derivative works, in source code and object code
 | 
			
		||||
form.</span></p>
 | 
			
		||||
 | 
			
		||||
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
 | 
			
		||||
Subject to the terms of this Agreement, each Contributor hereby grants
 | 
			
		||||
Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
 | 
			
		||||
patent license under Licensed Patents to make, use, sell, offer to sell, import
 | 
			
		||||
and otherwise transfer the Contribution of such Contributor, if any, in source
 | 
			
		||||
code and object code form. This patent license shall apply to the combination
 | 
			
		||||
of the Contribution and the Program if, at the time the Contribution is added
 | 
			
		||||
by the Contributor, such addition of the Contribution causes such combination
 | 
			
		||||
to be covered by the Licensed Patents. The patent license shall not apply to
 | 
			
		||||
any other combinations which include the Contribution. No hardware per se is
 | 
			
		||||
licensed hereunder. </span></p>
 | 
			
		||||
 | 
			
		||||
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
 | 
			
		||||
Recipient understands that although each Contributor grants the licenses to its
 | 
			
		||||
Contributions set forth herein, no assurances are provided by any Contributor
 | 
			
		||||
that the Program does not infringe the patent or other intellectual property
 | 
			
		||||
rights of any other entity. Each Contributor disclaims any liability to Recipient
 | 
			
		||||
for claims brought by any other entity based on infringement of intellectual
 | 
			
		||||
property rights or otherwise. As a condition to exercising the rights and
 | 
			
		||||
licenses granted hereunder, each Recipient hereby assumes sole responsibility
 | 
			
		||||
to secure any other intellectual property rights needed, if any. For example,
 | 
			
		||||
if a third party patent license is required to allow Recipient to distribute
 | 
			
		||||
the Program, it is Recipient's responsibility to acquire that license before
 | 
			
		||||
distributing the Program.</span></p>
 | 
			
		||||
 | 
			
		||||
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
 | 
			
		||||
Each Contributor represents that to its knowledge it has sufficient copyright
 | 
			
		||||
rights in its Contribution, if any, to grant the copyright license set forth in
 | 
			
		||||
this Agreement. </span></p>
 | 
			
		||||
 | 
			
		||||
<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
 | 
			
		||||
 | 
			
		||||
<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
 | 
			
		||||
Program in object code form under its own license agreement, provided that:</span>
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
 | 
			
		||||
it complies with the terms and conditions of this Agreement; and</span></p>
 | 
			
		||||
 | 
			
		||||
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
 | 
			
		||||
its license agreement:</span></p>
 | 
			
		||||
 | 
			
		||||
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
 | 
			
		||||
effectively disclaims on behalf of all Contributors all warranties and
 | 
			
		||||
conditions, express and implied, including warranties or conditions of title
 | 
			
		||||
and non-infringement, and implied warranties or conditions of merchantability
 | 
			
		||||
and fitness for a particular purpose; </span></p>
 | 
			
		||||
 | 
			
		||||
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
 | 
			
		||||
effectively excludes on behalf of all Contributors all liability for damages,
 | 
			
		||||
including direct, indirect, special, incidental and consequential damages, such
 | 
			
		||||
as lost profits; </span></p>
 | 
			
		||||
 | 
			
		||||
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
 | 
			
		||||
states that any provisions which differ from this Agreement are offered by that
 | 
			
		||||
Contributor alone and not by any other party; and</span></p>
 | 
			
		||||
 | 
			
		||||
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
 | 
			
		||||
states that source code for the Program is available from such Contributor, and
 | 
			
		||||
informs licensees how to obtain it in a reasonable manner on or through a
 | 
			
		||||
medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
 | 
			
		||||
 | 
			
		||||
<p><span style='font-size:10.0pt'>When the Program is made available in source
 | 
			
		||||
code form:</span> </p>
 | 
			
		||||
 | 
			
		||||
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
 | 
			
		||||
it must be made available under this Agreement; and </span></p>
 | 
			
		||||
 | 
			
		||||
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
 | 
			
		||||
copy of this Agreement must be included with each copy of the Program. </span></p>
 | 
			
		||||
 | 
			
		||||
<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
 | 
			
		||||
copyright notices contained within the Program. </span></p>
 | 
			
		||||
 | 
			
		||||
<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
 | 
			
		||||
originator of its Contribution, if any, in a manner that reasonably allows
 | 
			
		||||
subsequent Recipients to identify the originator of the Contribution. </span></p>
 | 
			
		||||
 | 
			
		||||
<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
 | 
			
		||||
 | 
			
		||||
<p><span style='font-size:10.0pt'>Commercial distributors of software may
 | 
			
		||||
accept certain responsibilities with respect to end users, business partners
 | 
			
		||||
and the like. While this license is intended to facilitate the commercial use
 | 
			
		||||
of the Program, the Contributor who includes the Program in a commercial
 | 
			
		||||
product offering should do so in a manner which does not create potential
 | 
			
		||||
liability for other Contributors. Therefore, if a Contributor includes the
 | 
			
		||||
Program in a commercial product offering, such Contributor ("Commercial
 | 
			
		||||
Contributor") hereby agrees to defend and indemnify every other
 | 
			
		||||
Contributor ("Indemnified Contributor") against any losses, damages and
 | 
			
		||||
costs (collectively "Losses") arising from claims, lawsuits and other
 | 
			
		||||
legal actions brought by a third party against the Indemnified Contributor to
 | 
			
		||||
the extent caused by the acts or omissions of such Commercial Contributor in
 | 
			
		||||
connection with its distribution of the Program in a commercial product
 | 
			
		||||
offering. The obligations in this section do not apply to any claims or Losses
 | 
			
		||||
relating to any actual or alleged intellectual property infringement. In order
 | 
			
		||||
to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
 | 
			
		||||
Contributor in writing of such claim, and b) allow the Commercial Contributor
 | 
			
		||||
to control, and cooperate with the Commercial Contributor in, the defense and
 | 
			
		||||
any related settlement negotiations. The Indemnified Contributor may participate
 | 
			
		||||
in any such claim at its own expense.</span> </p>
 | 
			
		||||
 | 
			
		||||
<p><span style='font-size:10.0pt'>For example, a Contributor might include the
 | 
			
		||||
Program in a commercial product offering, Product X. That Contributor is then a
 | 
			
		||||
Commercial Contributor. If that Commercial Contributor then makes performance
 | 
			
		||||
claims, or offers warranties related to Product X, those performance claims and
 | 
			
		||||
warranties are such Commercial Contributor's responsibility alone. Under this
 | 
			
		||||
section, the Commercial Contributor would have to defend claims against the
 | 
			
		||||
other Contributors related to those performance claims and warranties, and if a
 | 
			
		||||
court requires any other Contributor to pay any damages as a result, the
 | 
			
		||||
Commercial Contributor must pay those damages.</span> </p>
 | 
			
		||||
 | 
			
		||||
<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
 | 
			
		||||
 | 
			
		||||
<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
 | 
			
		||||
AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT
 | 
			
		||||
WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
 | 
			
		||||
WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
 | 
			
		||||
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
 | 
			
		||||
responsible for determining the appropriateness of using and distributing the
 | 
			
		||||
Program and assumes all risks associated with its exercise of rights under this
 | 
			
		||||
Agreement , including but not limited to the risks and costs of program errors,
 | 
			
		||||
compliance with applicable laws, damage to or loss of data, programs or
 | 
			
		||||
equipment, and unavailability or interruption of operations. </span></p>
 | 
			
		||||
 | 
			
		||||
<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
 | 
			
		||||
 | 
			
		||||
<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
 | 
			
		||||
AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
 | 
			
		||||
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 | 
			
		||||
(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
 | 
			
		||||
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 | 
			
		||||
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
 | 
			
		||||
THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
 | 
			
		||||
THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
 | 
			
		||||
 | 
			
		||||
<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
 | 
			
		||||
 | 
			
		||||
<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
 | 
			
		||||
or unenforceable under applicable law, it shall not affect the validity or
 | 
			
		||||
enforceability of the remainder of the terms of this Agreement, and without
 | 
			
		||||
further action by the parties hereto, such provision shall be reformed to the
 | 
			
		||||
minimum extent necessary to make such provision valid and enforceable.</span> </p>
 | 
			
		||||
 | 
			
		||||
<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
 | 
			
		||||
against any entity (including a cross-claim or counterclaim in a lawsuit)
 | 
			
		||||
alleging that the Program itself (excluding combinations of the Program with
 | 
			
		||||
other software or hardware) infringes such Recipient's patent(s), then such
 | 
			
		||||
Recipient's rights granted under Section 2(b) shall terminate as of the date
 | 
			
		||||
such litigation is filed. </span></p>
 | 
			
		||||
 | 
			
		||||
<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
 | 
			
		||||
shall terminate if it fails to comply with any of the material terms or
 | 
			
		||||
conditions of this Agreement and does not cure such failure in a reasonable
 | 
			
		||||
period of time after becoming aware of such noncompliance. If all Recipient's
 | 
			
		||||
rights under this Agreement terminate, Recipient agrees to cease use and
 | 
			
		||||
distribution of the Program as soon as reasonably practicable. However,
 | 
			
		||||
Recipient's obligations under this Agreement and any licenses granted by
 | 
			
		||||
Recipient relating to the Program shall continue and survive. </span></p>
 | 
			
		||||
 | 
			
		||||
<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
 | 
			
		||||
copies of this Agreement, but in order to avoid inconsistency the Agreement is
 | 
			
		||||
copyrighted and may only be modified in the following manner. The Agreement
 | 
			
		||||
Steward reserves the right to publish new versions (including revisions) of
 | 
			
		||||
this Agreement from time to time. No one other than the Agreement Steward has
 | 
			
		||||
the right to modify this Agreement. The Eclipse Foundation is the initial
 | 
			
		||||
Agreement Steward. The Eclipse Foundation may assign the responsibility to
 | 
			
		||||
serve as the Agreement Steward to a suitable separate entity. Each new version
 | 
			
		||||
of the Agreement will be given a distinguishing version number. The Program
 | 
			
		||||
(including Contributions) may always be distributed subject to the version of
 | 
			
		||||
the Agreement under which it was received. In addition, after a new version of
 | 
			
		||||
the Agreement is published, Contributor may elect to distribute the Program
 | 
			
		||||
(including its Contributions) under the new version. Except as expressly stated
 | 
			
		||||
in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
 | 
			
		||||
the intellectual property of any Contributor under this Agreement, whether
 | 
			
		||||
expressly, by implication, estoppel or otherwise. All rights in the Program not
 | 
			
		||||
expressly granted under this Agreement are reserved.</span> </p>
 | 
			
		||||
 | 
			
		||||
<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
 | 
			
		||||
State of New York and the intellectual property laws of the United States of
 | 
			
		||||
America. No party to this Agreement will bring a legal action under this
 | 
			
		||||
Agreement more than one year after the cause of action arose. Each party waives
 | 
			
		||||
its rights to a jury trial in any resulting litigation.</span> </p>
 | 
			
		||||
 | 
			
		||||
<p class=MsoNormal><![if !supportEmptyParas]> <![endif]><o:p></o:p></p>
 | 
			
		||||
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
</body>
 | 
			
		||||
 | 
			
		||||
</html>
 | 
			
		||||
							
								
								
									
										2
									
								
								xCAT-confluent/confluent/lib/python/confluent/plugins/console/xcathmc.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										2
									
								
								xCAT-confluent/confluent/lib/python/confluent/plugins/console/xcathmc.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
exec /opt/xcat/share/xcat/cons/hmc $CONFLUENT_NODE
 | 
			
		||||
							
								
								
									
										58
									
								
								xCAT-confluent/xCAT-confluent.spec
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								xCAT-confluent/xCAT-confluent.spec
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,58 @@
 | 
			
		||||
Summary: xCAT integration with confluent systems management server
 | 
			
		||||
Name: xCAT-confluent
 | 
			
		||||
Version: %(cat Version)
 | 
			
		||||
Release: snap%(date +"%Y%m%d%H%M")
 | 
			
		||||
Epoch: 4
 | 
			
		||||
License: EPL
 | 
			
		||||
Group: Applications/System
 | 
			
		||||
Source: xCAT-confluent-%(cat Version).tar.gz
 | 
			
		||||
Packager: IBM Corp.
 | 
			
		||||
Vendor: IBM Corp.
 | 
			
		||||
Distribution: %{?_distribution:%{_distribution}}%{!?_distribution:%{_vendor}}
 | 
			
		||||
Prefix: /opt/xcat
 | 
			
		||||
BuildRoot: /var/tmp/%{name}-%{version}-%{release}-root
 | 
			
		||||
%ifos linux
 | 
			
		||||
BuildArch: noarch
 | 
			
		||||
%endif
 | 
			
		||||
Requires: confluent_server
 | 
			
		||||
 | 
			
		||||
Provides: xCAT-confluent = %{epoch}:%{version}
 | 
			
		||||
 | 
			
		||||
%description
 | 
			
		||||
xCAT confluent provides the necessary integration pieces to utilize the confluent
 | 
			
		||||
system management server
 | 
			
		||||
 | 
			
		||||
%prep
 | 
			
		||||
 | 
			
		||||
%setup -q -n xCAT-confluent
 | 
			
		||||
 | 
			
		||||
%build
 | 
			
		||||
# Convert pods to man pages and html pages
 | 
			
		||||
./xpod2man
 | 
			
		||||
 | 
			
		||||
%install
 | 
			
		||||
rm -rf $RPM_BUILD_ROOT
 | 
			
		||||
 | 
			
		||||
# Uncomment the following line if we ship bin files
 | 
			
		||||
# mkdir -p $RPM_BUILD_ROOT/%{prefix}/bin
 | 
			
		||||
# cp -d bin/* $RPM_BUILD_ROOT/%{prefix}/bin/
 | 
			
		||||
# chmod 755 $RPM_BUILD_ROOT/%{prefix}/bin/*
 | 
			
		||||
 | 
			
		||||
mkdir -p $RPM_BUILD_ROOT/opt/confluent
 | 
			
		||||
cp -dr confluent/* $RPM_BUILD_ROOT/opt/confluent/
 | 
			
		||||
 | 
			
		||||
#cp share/man/man1/* $RPM_BUILD_ROOT/%{prefix}/share/man/man1
 | 
			
		||||
#chmod 444 $RPM_BUILD_ROOT/%{prefix}/share/man/man1/*
 | 
			
		||||
#cp share/doc/man1/* $RPM_BUILD_ROOT/%{prefix}/share/doc/man1
 | 
			
		||||
#chmod 644 $RPM_BUILD_ROOT/%{prefix}/share/doc/man1/*
 | 
			
		||||
 | 
			
		||||
%clean
 | 
			
		||||
rm -rf $RPM_BUILD_ROOT
 | 
			
		||||
 | 
			
		||||
%files
 | 
			
		||||
%defattr(-,root,root)
 | 
			
		||||
# Uncomment the following line if we ship bin files
 | 
			
		||||
# %{prefix}
 | 
			
		||||
/opt/confluent
 | 
			
		||||
 | 
			
		||||
%post
 | 
			
		||||
							
								
								
									
										214
									
								
								xCAT-confluent/xpod2man
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										214
									
								
								xCAT-confluent/xpod2man
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,214 @@
 | 
			
		||||
#!/usr/bin/perl
 | 
			
		||||
# IBM(c) 2007 EPL license http://www.eclipse.org/legal/epl-v10.html
 | 
			
		||||
 | 
			
		||||
# First builds the xCAT summary man page from Synopsis of each man page.
 | 
			
		||||
# Then converts all of the pod man pages into html (including links to each other)
 | 
			
		||||
 | 
			
		||||
# We assume that this script is run in the xCAT-vlan-2.0 dir, so everything is
 | 
			
		||||
# done relative to that.
 | 
			
		||||
 | 
			
		||||
use strict;
 | 
			
		||||
#use lib '.';
 | 
			
		||||
use Pod::Man;
 | 
			
		||||
use Pod::Html;
 | 
			
		||||
 | 
			
		||||
my $poddir = 'pods';
 | 
			
		||||
my $mandir = 'share/man';
 | 
			
		||||
my $htmldir = 'share/doc';
 | 
			
		||||
my $cachedir = '/tmp';
 | 
			
		||||
 | 
			
		||||
my @pods = getPodList($poddir);
 | 
			
		||||
#foreach (@pods) { print "$_\n"; } exit;
 | 
			
		||||
 | 
			
		||||
# Build the cmd overview page.
 | 
			
		||||
#writesummarypage("$poddir/man1/xcat.1.pod", @pods);
 | 
			
		||||
 | 
			
		||||
# Build the man page for each pod.
 | 
			
		||||
#mkdir($mandir) or die "Error: could not create $mandir.\n";
 | 
			
		||||
print "Converting PODs to man pages...\n";
 | 
			
		||||
foreach my $podfile (@pods) {
 | 
			
		||||
    my $manfile = $podfile;
 | 
			
		||||
    $manfile =~ s/^$poddir/$mandir/;      # change the beginning of the path
 | 
			
		||||
    $manfile =~ s/\.pod$//;			# change the ending
 | 
			
		||||
    my $mdir = $manfile;
 | 
			
		||||
    $mdir =~ s|/[^/]*$||;			# get rid of the basename part
 | 
			
		||||
	if (system("mkdir -p $mdir")) { die "Error: could not create $mdir.\n"; }
 | 
			
		||||
	my ($section) = $podfile =~ /\.(\d+)\.pod$/;
 | 
			
		||||
    convertpod2man($podfile, $manfile, $section);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
my @dummyPods = createDummyPods($poddir, \@pods);
 | 
			
		||||
 | 
			
		||||
# Build the html page for each pod.
 | 
			
		||||
#mkdir($htmldir) or die "Error: could not create $htmldir.\n";
 | 
			
		||||
print "Converting PODs to HTML pages...\n";
 | 
			
		||||
# have to clear the cache, because old entries can cause a problem
 | 
			
		||||
unlink("$cachedir/pod2htmd.tmp", "$cachedir/pod2htmi.tmp");
 | 
			
		||||
foreach my $podfile (@pods) {
 | 
			
		||||
    my $htmlfile = $podfile;
 | 
			
		||||
    $htmlfile =~ s/^$poddir/$htmldir/;      # change the beginning of the path
 | 
			
		||||
    $htmlfile =~ s/\.pod$/\.html/;			# change the ending
 | 
			
		||||
    my $hdir = $htmlfile;
 | 
			
		||||
    $hdir =~ s|/[^/]*$||;			# get rid of the basename part
 | 
			
		||||
	if (system("mkdir -p $hdir")) { die "Error: could not create $hdir.\n"; }
 | 
			
		||||
    #print "$podfile, $htmlfile, $poddir, $htmldir\n";
 | 
			
		||||
    convertpod2html($podfile, $htmlfile, $poddir, $htmldir);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Remove the dummy pods
 | 
			
		||||
unlink @dummyPods;
 | 
			
		||||
rmdir "$poddir/man7";
 | 
			
		||||
 | 
			
		||||
exit;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# To enable linking between the cmd man pages and the db man pages, need to:
 | 
			
		||||
#	grep thru the cmd pods searching for references (L<>) to any section 5 man page
 | 
			
		||||
#	if that pod does not exist, create an empty one that will satisfy pod2html
 | 
			
		||||
#	keep track of all dummy pods created, so they can be removed later
 | 
			
		||||
sub createDummyPods {
 | 
			
		||||
	my ($poddir, $pods) = @_;
 | 
			
		||||
	my $cmd = "grep -r -E 'L<.+\\([57]\\)\\|.+\\.[57]>' " . $poddir;
 | 
			
		||||
	#print "Running cmd: ", $cmd, "\n";
 | 
			
		||||
	my @lines = `$cmd`;
 | 
			
		||||
	if ($?) { print "Error running:  $cmd\n"; print join('', @lines); }
 | 
			
		||||
	#my @lines;
 | 
			
		||||
	#system($cmd);
 | 
			
		||||
	my @dummyPods;
 | 
			
		||||
	foreach my $l (@lines) {
 | 
			
		||||
		#print "$l\n";
 | 
			
		||||
		my @matches = $l =~ /L<([^\(]+)\(([57])\)\|\1\.[57]>/g;		# get all the matches in the line
 | 
			
		||||
		# The above line should create the array with every other entry being the man page name
 | 
			
		||||
		# and every other entry is the section # (5 or 7)
 | 
			
		||||
		my $cmd;
 | 
			
		||||
		while ($cmd=shift @matches) {
 | 
			
		||||
			#foreach my $m (@matches) {
 | 
			
		||||
			my $section = shift @matches;
 | 
			
		||||
			my $filename = "$poddir/man$section/$cmd.$section.pod";
 | 
			
		||||
			#print "$filename\n";
 | 
			
		||||
			if (!(grep /^$filename$/, @$pods) && !(grep /^$filename$/, @dummyPods)) { push @dummyPods, $filename; }
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	
 | 
			
		||||
	# Create these empty files
 | 
			
		||||
	print "Creating empty linked-to files: ", join(', ', @dummyPods), "\n";
 | 
			
		||||
	mkdir "$poddir/man7";
 | 
			
		||||
	foreach my $d (@dummyPods) {
 | 
			
		||||
		if (!open(TMP, ">>$d")) { warn "Could not create dummy pod file $d ($!)\n"; }
 | 
			
		||||
		else { close TMP; }
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	return @dummyPods;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Recursively get the list of pod man page files.
 | 
			
		||||
sub getPodList {
 | 
			
		||||
	my $poddir = shift;
 | 
			
		||||
	my @files;
 | 
			
		||||
 | 
			
		||||
	# 1st get toplevel dir listing
 | 
			
		||||
	opendir(DIR, $poddir) or die "Error: could not read $poddir.\n";
 | 
			
		||||
	my @topdir = grep !/^\./, readdir(DIR);		# /
 | 
			
		||||
	close(DIR);
 | 
			
		||||
 | 
			
		||||
	# Now go thru each subdir (these are man1, man3, etc.)
 | 
			
		||||
	foreach my $mandir (@topdir) {
 | 
			
		||||
		opendir(DIR, "$poddir/$mandir") or die "Error: could not read $poddir/$mandir.\n";
 | 
			
		||||
		my @dir = grep !/^\./, readdir(DIR);		# /
 | 
			
		||||
		close(DIR);
 | 
			
		||||
		foreach my $file (@dir) {
 | 
			
		||||
			push @files, "$poddir/$mandir/$file";
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	return sort @files;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Create the xcat man page that gives a summary description of each xcat cmd.
 | 
			
		||||
# Not used.
 | 
			
		||||
sub writesummarypage {
 | 
			
		||||
	my $file = shift;       # relative path file name of the man page
 | 
			
		||||
	# the rest of @_ contains the pod files that describe each cmd
 | 
			
		||||
 | 
			
		||||
	open(FILE, ">$file") or die "Error: could not open $file for writing.\n";
 | 
			
		||||
 | 
			
		||||
	print FILE <<'EOS1';
 | 
			
		||||
=head1 NAME
 | 
			
		||||
 | 
			
		||||
B<xcat> - extreme Cluster Administration Tool.
 | 
			
		||||
 | 
			
		||||
=head1 DESCRIPTION
 | 
			
		||||
 | 
			
		||||
Extreme Cluster Administration Toolkit (xCAT). xCAT is a scalable distributed computing management
 | 
			
		||||
and provisioning tool that provides a unified interface for hardware control, discovery, and
 | 
			
		||||
OS diskful/diskfree deployment.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
=head1 XCAT DATABASE
 | 
			
		||||
 | 
			
		||||
All of the cluster configuration information is in the xCAT database.  See L<xcatdb(5)|xcatdb.5> for
 | 
			
		||||
descriptions of every table in the database.
 | 
			
		||||
 | 
			
		||||
=head1 XCAT COMMANDS
 | 
			
		||||
 | 
			
		||||
What follows is a short description of each xCAT command.  To get more information about a particular
 | 
			
		||||
command, see its man page.  Note that the commands are listed in alphabetical order B<within each section>,
 | 
			
		||||
i.e. all the commands in section 1, then the commands in section 3, etc.
 | 
			
		||||
 | 
			
		||||
=over 12
 | 
			
		||||
EOS1
 | 
			
		||||
 | 
			
		||||
# extract the summary for each cmd from its man page
 | 
			
		||||
foreach my $manpage (@_) {
 | 
			
		||||
	my ($sectionnum) = $manpage =~ /\.(\d+)\.pod$/;
 | 
			
		||||
	# Suck in the whole file, then we will parse it.
 | 
			
		||||
	open(MANPAGE, "$manpage") or die "Error: could not open $manpage for reading.\n";
 | 
			
		||||
	my @contents = <MANPAGE>;
 | 
			
		||||
	my $wholemanpage = join('', @contents);
 | 
			
		||||
	close(MANPAGE);
 | 
			
		||||
	# This regex matches: optional space, =head1, space, title, space, cmd, space, description, newline
 | 
			
		||||
	my ($cmd, $description) = $wholemanpage =~ /^\s*=head1\s+\S+\s+(\S+)\s+(.+?)\n/si;
 | 
			
		||||
	if (!defined($cmd)) { print "Warning: $manpage is not in a recognized structure.  It will be ignored.\n"; next; }
 | 
			
		||||
	if (!defined($description)) { print "Warning: $manpage does not have a description for $cmd.  It will be ignored.\n"; next; }
 | 
			
		||||
	$cmd =~ s/^.<(.+)>$/$1/;		# if the cmd name has pod formatting around it, strip it off
 | 
			
		||||
	$description =~ s/^-\s*//;		# if the description has a leading hypen, strip it off
 | 
			
		||||
	print FILE "\n=item L<$cmd($sectionnum)|$cmd.$sectionnum>\n\n".$description."\n";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Artificially add the xcattest cmd, because the xCAT-test rpm will add this
 | 
			
		||||
print FILE "\n=item L<xcattest(1)|xcattest.1>\n\nRun automated xCAT test cases.\n";
 | 
			
		||||
 | 
			
		||||
	print FILE <<"EOS3";
 | 
			
		||||
 | 
			
		||||
=back
 | 
			
		||||
EOS3
 | 
			
		||||
 | 
			
		||||
	close FILE;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Create the html page for one pod.
 | 
			
		||||
sub convertpod2html {
 | 
			
		||||
	my ($podfile, $htmlfile, $poddir, $htmldir) = @_;
 | 
			
		||||
 | 
			
		||||
	#TODO: use --css=<stylesheet> and --title=<pagetitle> to make the pages look better
 | 
			
		||||
	pod2html($podfile,
 | 
			
		||||
			"--outfile=$htmlfile",
 | 
			
		||||
			"--podpath=man1",
 | 
			
		||||
			"--podroot=$poddir",
 | 
			
		||||
			"--htmldir=$htmldir",
 | 
			
		||||
			"--recurse",
 | 
			
		||||
			"--cachedir=$cachedir",
 | 
			
		||||
			);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Create the man page for one pod.
 | 
			
		||||
sub convertpod2man {
 | 
			
		||||
	my ($podfile, $manfile, $section) = @_;
 | 
			
		||||
 | 
			
		||||
	my $parser = Pod::Man->new(section => $section);
 | 
			
		||||
    $parser->parse_from_file($podfile, $manfile);
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user