3.5. Building DEB packages
3.5. Building DEB packagesIn 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 add-apt-repository, you will be prompted to continue and a GPG key will be added.
$ sudo apt-get update
$ sudo apt-get install python-software-properties
$ sudo add-apt-repository ppa:natecarlson/maven3
$ sudo apt-get update
$ 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
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. CloudStack uses maven for dependency resolution. You can resolve the buildtime
depdencies for CloudStack by running:
$ mvn3 -P deps
Now that we have resolved the dependencies we can move on to building CloudStack and packaging them into DEBs by issuing the followingcommand.
$ dpkg-buildpackage -uc -us
This command will build the following debian packages. You should have all of the following:
cloudstack-common-4.2.0.amd64.deb
cloudstack-management-4.2.0.amd64.deb
cloudstack-agent-4.2.0.amd64.deb
cloudstack-usage-4.2.0.amd64.deb
cloudstack-awsapi-4.2.0.amd64.deb
cloudstack-cli-4.2.0.amd64.deb
cloudstack-docs-4.2.0.amd64.deb
3.5.1. Setting up an APT repo
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
dpkg-scanpackages to create Packages.gz,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.
The first step is to make sure that you have the
dpkg-dev package installed. This should have been installed when you pulled in the
debhelper application previously, but if you're generating
Packages.gz on a different system, be sure that it's installed there as well.
$ sudo apt-get install dpkg-dev
The next step is to copy the DEBs to the directory where they can be served over HTTP. We'll use
/var/www/cloudstack/repo in the examples, but change the directory to whatever works for you.
sudo mkdir -p /var/www/cloudstack/repo/binary
sudo cp *.deb /var/www/cloudstack/repo/binary
sudo cd /var/www/cloudstack/repo/binary
sudo dpkg-scanpackages . /dev/null | tee Packages | gzip -9 > Packages.gz
Note: Override Files
You can safely ignore the warning about a missing override file.
Now you should have all of the DEB packages and
Packages.gz in the binary directory and available over HTTP. (You may want to use
wget or curl to test this before moving on to the next step.)
3.5.2. Configuring your machines to use the APT repository
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
/etc/apt/sources.list.d. Use your preferred editor to create
/etc/apt/sources.list.d/cloudstack.list with this line:
deb http://server.url/cloudstack/repo binary ./
Now that you have the repository info in place, you'll want to run another update so that APT knows where to find the CloudStack packages.
$ sudo apt-get update
You can now move on to the instructions under Install on Ubuntu.
页:
[1]