您的位置:首页 > 产品设计 > UI/UE

3.6. Building RPMs from Source

2014-03-10 15:38 253 查看

3.6. Building RPMs from Source

As mentioned previously in
Section 3.3, “Prerequisites for building Apache CloudStack”,you will need to install several prerequisites before you can build packages for CloudStack. Here we'll assume you're working with a 64-bit build of CentOS or Red Hat Enterprise Linux.

# yum groupinstall "Development Tools"


# yum install java-1.6.0-openjdk-devel.x86_64 genisoimage mysql mysql-server ws-commons-util MySQL-python tomcat6 createrepo


Next, you'll need to install build-time dependencies for CloudStack with Maven. We're using Maven 3, so you'll want to
grab a Maven 3 tarball and uncompress it in your home directory (or whatever location you prefer):

$ tar zxvf apache-maven-3.0.4-bin.tar.gz


$ export PATH=/usr/local/apache-maven-3.0.4//bin:$PATH


Maven also needs to know where Java is, and expects the JAVA_HOME environment variable to be set:

$ export JAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/


Verify that Maven is installed correctly:

$ mvn --version


You probably want to ensure that your environment variables will survive a logout/reboot. Be sure to update
~/.bashrc
with the PATH and JAVA_HOME variables.
Building RPMs for CloudStack is fairly simple. Assuming you already have the source downloaded and have uncompressed the tarball into alocal directory, you're going to be able to generate packages in just afew minutes.

Packaging has Changed

If you've created packages for CloudStack previously, you should be aware that the process has changed considerably since the project has moved to using Apache Maven. Please be sure to follow the steps in this section closely.

3.6.1. Generating RPMS

Now that we have the prerequisites and source, you will cd to the
packaging/centos63/
directory.
$
cd packaging/centos63[/code]
Generating RPMs is done using the
package.sh
script:
$
./package.sh[/code]

That will run for a bit and then place the finished packages in
dist/rpmbuild/RPMS/x86_64/
.
You should see the following RPMs in that directory:
cloudstack-agent-4.2.0.el6.x86_64.rpm
cloudstack-awsapi-4.2.0.el6.x86_64.rpm
cloudstack-cli-4.2.0.el6.x86_64.rpm
cloudstack-common-4.2.0.el6.x86_64.rpm
cloudstack-docs-4.2.0.el6.x86_64.rpm
cloudstack-management-4.2.0.el6.x86_64.rpm
cloudstack-usage-4.2.0.el6.x86_64.rpm


3.6.1.1. Creating a yum repo

While RPMs is a useful packaging format - it's most easily consumed from Yum repositories over a network. The next step is to create a YumRepo with the finished packages:
$
mkdir -p ~/tmp/repo[/code]
$
cp dist/rpmbuild/RPMS/x86_64/*rpm ~/tmp/repo/[/code]
$
createrepo ~/tmp/repo[/code]

The files and directories within
~/tmp/repo
can now be uploaded to a web server and serve as a yum repository.

3.6.1.2. Configuring your systems to use your new yum repository

Now that your yum repository is populated with RPMs and metadata we need to configure the machines that need to install CloudStack. Createa file named
/etc/yum.repos.d/cloudstack.repo
with this information:
[apache-cloudstack]
name=Apache CloudStack
baseurl=http://[code]webserver.tld/path/to/repo

enabled=1
gpgcheck=0
[/code]

Completing this step will allow you to easily install CloudStack on a number of machines across the network.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: