Updated spec file to build Open DOVE component rpms from a single file.
authorAnees Shaikh <aasdevaddr@gmail.com>
Fri, 24 Jan 2014 17:18:55 +0000 (09:18 -0800)
committerAnees Shaikh <aasdevaddr@gmail.com>
Fri, 24 Jan 2014 17:25:52 +0000 (09:25 -0800)
Signed-off-by: Anees Shaikh <aasdevaddr@gmail.com>
packaging/rpm/opendaylight-opendove.spec

index 83d89da1f01588c8de69799ba45763a9d3183d9e..38902644554ef49b9e271c23b03c35f8ac596d81 100644 (file)
@@ -3,36 +3,99 @@
 
 Name: opendaylight-opendove
 Version: 0.1.0
-Release: 0.1.0%{?dist}
-Summary: OpenDaylight Open DOVE
+Release: 0.2.0%{?dist}
+Summary: OpenDaylight Open DOVE Virtualization Platform
 Group: Applications/Communications
 License: EPL
 URL: http://www.opendaylight.org
 
+
+
 # todo: Temporary method for generating tarball
-# git clone https://git.opendaylight.org/gerrit/p/opendove.git
-# cd opendove
-# git archive --prefix=opendaylight-opendove-0.1.0/ HEAD | xz > opendaylight-opendove-0.1.0.tar.xz
+# git clone https://git.opendaylight.org/gerrit/p/ovsdb.git
+# cd ovsdb
+# git archive --prefix=opendaylight-ovsdb-0.1.0/ HEAD | xz > opendaylight-ovsdb-0.1.0.tar.xz
 Source0: %{name}-%{version}.tar.xz
 
-BuildArch: noarch
+BuildArch: x86_64
 
-BuildRequires: java-devel
+BuildRequires: python-devel
+BuildRequires: libjansson-devel
+BuildRequires: libevent2-devel
+BuildRequires: libnl-devel
+BuildRequires: libuuid-devel
+BuildRequires: openssl
+BuildRequires: openssl-devel
 BuildRequires: maven
+BuildRequires: wget
 Requires: java >= 1:1.7.0
 
 # This is the directory where all the application resources (scripts,
 # libraries, etc) will be installed: /usr/share/opendaylight
+# for odmc component
 %global resources_dir %{_datadir}/opendaylight-controller
 
 # This is the directory that has all the JAVA dependencies.
+# for odmc component
 %global deps_dir %{_javadir}/opendaylight-controller-dependencies
 
 
 %description
-OpenDaylight Open DOVE
+DOVE (distributed overlay virtual Ethernet) is a network
+virtualization platform that provides isolated multi-tenant networks
+on any IP network in a virtualized data center. DOVE consists of:
+o  odmc - Open DOVE Management Console (OpenDaylight controller bundle)
+o  odcs - Open DOVE Connectivity Server with clustering
+o  ovs-agent - DOVE vswitch agent (works with Open vSwitch)
+o  odgw - DOVE Gateway user agent (works with DOVE Gateway kernel module)
+
+
+%package odmc
+Summary: Open DOVE Management Console
+Group: Applications/Communications
+Buildarch: noarch
+
+%description odmc 
+The Open DOVE Management Console (DMC) provides a
+REST API for programmatic virtual network management.  The DMC is also
+used to configure the Open DOVE Gateway, the Open DOVE Connectivity
+Server and and the DOVE vswitches.
+
+%package ovs-agent
+Summary: Open DOVE vswitch agent
+Group: Applications/Communications
+
+%description ovs-agent
+User-level agent on each host that interfaces Open DOVE components to
+the DOVE vswithes (based on Open vSwitch).  The DOVE vswitches
+implement virtual networks by encapsulating tenant traffic in overlays
+that span virtualized hosts in the data center, using the VxLAN frame
+format.
+
+
+%package odcs
+Summary: Open DOVE Connectivity Server
+Group: Applications/Communications
+
+%description odcs
+
+The Open DOVE Connectivity Server (DCS) supplies address and policy
+information to individual Open DOVE vswitches.  The DCS also includes
+support for high-availability and scale-out deployments through a
+clustering protocol between replicated DCS instances.
 
 
+%package odgw
+Summary: Open DOVE Gateway
+Group: Applications/Communications
+
+%description odgw
+
+The Open DOVE Gateway is a software-based gateway that allow traffic
+to be exchanged between DOVE virtual networks and legacy IP or
+Ethernet networks.  It operates in external or VLAN mode.  The DOVE
+Gateway requires a kernel module to implement the forwarding path.
+
 %prep
 
 %setup -q
@@ -40,6 +103,11 @@ OpenDaylight Open DOVE
 
 %build
 
+cd odcs; make; cd ..
+cd odgw; make; cd ..
+cd third-party; ./getdeps.sh; cd ..
+cd ovs-agent; make; cd ..
+
 # This regular maven build will need to be replaced by the distribution
 # specific maven build command, but this is ok for now:
 # todo: eventually move to using mvn-build or mvn-rpmbuild so dependencies are
@@ -52,7 +120,12 @@ OpenDaylight Open DOVE
 export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=256m" && mvn clean install -Dmaven.test.skip=true
 
 
+
 %install
+rm -rf %{buildroot}
+cd odcs; make DESTDIR=%{buildroot} install; cd ..
+cd odgw; make DESTDIR=%{buildroot} install; cd ..
+cd ovs-agent; make DESTDIR=%{buildroot} install; cd ..
 
 # Extract the contents of the distribution to a temporary directory so that we
 # can take things from there and move them to the correct locations:
@@ -118,13 +191,27 @@ find %{buildroot}%{resources_dir} -type f -exec chmod 644 {} \;
 %endif
 
 
-%files
+%files odcs
 
-%{resources_dir}
+/opt/opendove/odcs/*
 
+%files odgw
+
+/opt/opendove/odgw/*
+
+%files ovs-agent
+
+/opt/opendove/ovs-agent/*
+
+%files odmc
+
+%{resources_dir}
 
 %endif
 
 %changelog
+* Thu Jan 23 2014 Anees Shaikh <aasdevaddr@gmail.com> - 0.1.0-0.2.0
+- Added subpackages for all Open DOVE components
+
 * Tue Jan 07 2014 Hsin-Yi Shen <hshen@redhat.com> - 0.1.0-0.1.0
 - Initial package.