You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by jz...@apache.org on 2012/10/19 21:42:40 UTC

[2/2] git commit: Made a number of fixes to the steps for compiling Debian packages, added section on adding an APT repository.

Made a number of fixes to the steps for compiling Debian packages, added section on adding an APT repository.


Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/9d6d6172
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/9d6d6172
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/9d6d6172

Branch: refs/heads/master
Commit: 9d6d6172e404a5b59c038422575adcb9612ad3ff
Parents: 4cb934d
Author: Joe Brockmeier <jz...@zonker.net>
Authored: Fri Oct 19 14:33:04 2012 -0500
Committer: Joe Brockmeier <jz...@zonker.net>
Committed: Fri Oct 19 14:33:04 2012 -0500

----------------------------------------------------------------------
 docs/en-US/build-deb.xml |   91 ++++++++++++++++++++++++++++++++++------
 1 files changed, 77 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/9d6d6172/docs/en-US/build-deb.xml
----------------------------------------------------------------------
diff --git a/docs/en-US/build-deb.xml b/docs/en-US/build-deb.xml
index 0fe3d90..deee3ce 100644
--- a/docs/en-US/build-deb.xml
+++ b/docs/en-US/build-deb.xml
@@ -26,35 +26,98 @@
     <title>Building DEB packages</title>
     <para>
        In addition to the bootstrap dependencies, you'll also need to install
-       a few other dependencies by issuing the following commands: 
-       <programlisting><prompt>#</prompt> <command>apt-get</command> update</programlisting>
-       <programlisting><prompt>$</prompt> <command>apt-get</command> install debhelper openjdk-6-jdk tomcat6 libws-commons-util-java genisoimage python-mysqldb</programlisting>
-    </para>
+       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 the
-       following command:
-       <programlisting><prompt>$</prompt> <command>mvn</command> -P deps</programlisting>
-    </para>
+       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.
-       <programlisting><prompt>#</prompt> <command>dpkg-buildpackage</command></programlisting>
     </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>TBD</para>
+
+       <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 &gt; 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. We do that by issuing the following commands:
-          <programlisting><prompt>$</prompt> <command>echo</command> "deb <replaceable>http://url.to/apt/repo</replaceable> $(lsb_release -s -c) 4.0" > <filename>/etc/apt/sources.list.d/cloudstack.list</filename></programlisting>
-          <programlisting><prompt>#</prompt> <command>apt-get</command> update </programlisting>
-       </para>
+          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>