mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-11-04 00:02:37 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			124 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			124 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
<?xml version='1.0' encoding='utf-8' ?>
 | 
						|
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
 | 
						|
<!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent">
 | 
						|
%BOOK_ENTITIES;
 | 
						|
]>
 | 
						|
 | 
						|
<!-- Licensed to the Apache Software Foundation (ASF) under one
 | 
						|
    or more contributor license agreements.  See the NOTICE file
 | 
						|
    distributed with this work for additional information
 | 
						|
    regarding copyright ownership.  The ASF licenses this file
 | 
						|
    to you under the Apache License, Version 2.0 (the
 | 
						|
    "License"); you may not use this file except in compliance
 | 
						|
    with the License.  You may obtain a copy of the License at
 | 
						|
    
 | 
						|
    http://www.apache.org/licenses/LICENSE-2.0
 | 
						|
    
 | 
						|
    Unless required by applicable law or agreed to in writing,
 | 
						|
    software distributed under the License is distributed on an
 | 
						|
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 | 
						|
    KIND, either express or implied.  See the License for the
 | 
						|
    specific language governing permissions and limitations
 | 
						|
    under the License.
 | 
						|
-->
 | 
						|
 | 
						|
<section id="sect-source-builddebs">
 | 
						|
    <title>Building DEB packages</title>
 | 
						|
    <para>
 | 
						|
       In addition to the bootstrap dependencies, you'll also need to install
 | 
						|
       several other dependencies. Note that we recommend using Maven 3, which 
 | 
						|
       is not currently available in 12.04.1 LTS. So, you'll also need to add a
 | 
						|
       PPA repository that includes Maven 3. After running the command 
 | 
						|
       <command>add-apt-repository</command>, you will be prompted to continue and
 | 
						|
       a GPG key will be added.
 | 
						|
   </para>
 | 
						|
<screen>
 | 
						|
<command>$ sudo apt-get update</command>
 | 
						|
<command>$ sudo apt-get install python-software-properties</command>
 | 
						|
<command>$ sudo add-apt-repository ppa:natecarlson/maven3</command>
 | 
						|
<command>$ sudo apt-get update</command>
 | 
						|
<command>$ sudo apt-get install ant debhelper openjdk-6-jdk tomcat6 libws-commons-util-java genisoimage python-mysqldb libcommons-codec-java libcommons-httpclient-java liblog4j1.2-java maven3</command>
 | 
						|
</screen>
 | 
						|
    <para>
 | 
						|
       While we have defined, and you have presumably already installed the
 | 
						|
       bootstrap prerequisites, there are a number of build time prerequisites
 | 
						|
       that need to be resolved. &PRODUCT; uses maven for dependency resolution.
 | 
						|
       You can resolve the buildtime depdencies for CloudStack by running:</para>
 | 
						|
 | 
						|
<screen><command>$ mvn3 -P deps</command></screen>
 | 
						|
    <para>
 | 
						|
       Now that we have resolved the dependencies we can move on to building &PRODUCT;
 | 
						|
       and packaging them into DEBs by issuing the following command.
 | 
						|
    </para>
 | 
						|
<screen>
 | 
						|
<command>$ dpkg-buildpackge -uc -us</command>
 | 
						|
</screen>
 | 
						|
 | 
						|
<para>
 | 
						|
    This command will build 16 Debian packages. You should have all of the following:
 | 
						|
</para>
 | 
						|
<programlisting>
 | 
						|
cloud-agent_4.0.0-incubating_amd64.deb
 | 
						|
cloud-agent-deps_4.0.0-incubating_amd64.deb
 | 
						|
cloud-agent-libs_4.0.0-incubating_amd64.deb
 | 
						|
cloud-awsapi_4.0.0-incubating_amd64.deb
 | 
						|
cloud-cli_4.0.0-incubating_amd64.deb
 | 
						|
cloud-client_4.0.0-incubating_amd64.deb
 | 
						|
cloud-client-ui_4.0.0-incubating_amd64.deb
 | 
						|
cloud-core_4.0.0-incubating_amd64.deb
 | 
						|
cloud-deps_4.0.0-incubating_amd64.deb
 | 
						|
cloud-python_4.0.0-incubating_amd64.deb
 | 
						|
cloud-scripts_4.0.0-incubating_amd64.deb
 | 
						|
cloud-server_4.0.0-incubating_amd64.deb
 | 
						|
cloud-setup_4.0.0-incubating_amd64.deb
 | 
						|
cloud-system-iso_4.0.0-incubating_amd64.deb
 | 
						|
cloud-usage_4.0.0-incubating_amd64.deb
 | 
						|
cloud-utils_4.0.0-incubating_amd64.deb
 | 
						|
</programlisting>
 | 
						|
 | 
						|
    <section id="sect-source-builddebs-repo">
 | 
						|
       <title>Setting up an APT repo</title>
 | 
						|
 | 
						|
       <para>After you've created the packages, you'll want to copy them to a system where you can serve the packages over HTTP. You'll create a directory for the packages and then use <code>dpkg-scanpackages</code> to create <filename>Packages.gz</filename>, which holds information about the archive structure. Finally, you'll add the repository to your system(s) so you can install the packages using APT.</para>
 | 
						|
 | 
						|
       <para>The first step is to make sure that you have the <application>dpkg-dev</application> package installed. This should have been installed when you pulled in the <application>debhelper</application> application previously, but if you're generating <filename>Packages.gz</filename> on a different system, be sure that it's installed there as well.</para>
 | 
						|
 | 
						|
<screen><command>$ sudo apt-get install dpkg-dev</command></screen>
 | 
						|
 | 
						|
<para>The next step is to copy the DEBs to the directory where they can be served over HTTP. We'll use <filename>/var/www/cloudstack/repo</filename> in the examples, but change the directory to whatever works for you.</para>
 | 
						|
 | 
						|
<screen>
 | 
						|
<command>sudo mkdir -p /var/www/cloudstack/repo/binary</command>
 | 
						|
<command>sudo cp *.deb /var/www/cloudstack/repo/binary</command>
 | 
						|
<command>sudo cd /var/www/cloudstack/repo/binary</command>
 | 
						|
<command>sudo dpkg-scanpackages . /dev/null | tee Packages | gzip -9 > Packages.gz</command>
 | 
						|
</screen>
 | 
						|
 | 
						|
<note><title>Note: Override Files</title>
 | 
						|
    <para>You can safely ignore the warning about a missing override file.</para>
 | 
						|
</note>
 | 
						|
 | 
						|
<para>Now you should have all of the DEB packages and <filename>Packages.gz</filename> in the <filename>binary</filename> directory and available over HTTP. (You may want to use <command>wget</command> or <command>curl</command> to test this before moving on to the next step.)</para>
 | 
						|
 | 
						|
    </section>
 | 
						|
    <section id="sect-source-builddebs-repo2">
 | 
						|
       <title>Configuring your machines to use the APT repository</title>
 | 
						|
       <para>
 | 
						|
          Now that we have created the repository, you need to configure your machine 
 | 
						|
          to make use of the APT repository. You can do this by adding a repository file 
 | 
						|
          under <filename>/etc/apt/sources.list.d</filename>. Use your preferred editor to 
 | 
						|
          create <filename>/etc/apt/sources.list.d/cloudstack.list</filename> with this 
 | 
						|
          line:</para>
 | 
						|
 | 
						|
      <programlisting>deb http://<replaceable>server.url</replaceable>/cloudstack/repo binary ./</programlisting>
 | 
						|
        
 | 
						|
        <para>Now that you have the repository info in place, you'll want to run another
 | 
						|
            update so that APT knows where to find the &PRODUCT; packages.</para>
 | 
						|
 | 
						|
<screen><command>$ sudo apt-get update</command></screen>
 | 
						|
 | 
						|
<para>You can now move on to the instructions under Install on Ubuntu.</para>
 | 
						|
 | 
						|
   </section>
 | 
						|
</section>
 |