File openflow.spec of Package OpenFlow

#
# spec file for package openflow
#
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#

# norootforbuild


Name:           openflow
BuildRequires:  module-init-tools kernel-syms
Url:            http://openflowswitch.org/
License:        GPL v2 or later; LGPL v2.1 or later; NetFPGA; OpenFlow; MPL-1.1 or later
Group:          Productivity/Networking/Routing
Summary:        OpenFlow reference system
Version:        0.8.9-2
Release:        1
Source:         %{name}-%{version}.tar.gz
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
ExclusiveArch:  %ix86
Packager:       Jad Naous <jnaous@stanford.edu>

%suse_kernel_module_package kdump xen xen-pae um

%description
OpenFlow is a tool that enables researchers to experiment with their own networks.
It provides a protocol to enable controlling a flow-based switch remotely. This package
contains the reference implementation of an OpenFlow switch on Linux.

This package provides the simple controller which implements a switch, an OpenFlow
switch, and utilities to talk to the switch and configure it.

Authors:
--------
    OpenFlow Consortium


%prep
%setup
./configure --prefix=/usr --enable-ssl=yes --enable-hw-tables=nf2
make -C datapath/linux-2.6
mkdir source
cp -r datapath/linux-2.6/* source/
mkdir obj

%build
################ kernel
for flavor in %flavors_to_build; do
	rm -rf obj/$flavor
	cp -r source obj/$flavor
	make -C /usr/src/linux-obj/%_target_cpu/$flavor modules \
		M=$PWD/obj/$flavor
done

################ utils
make

%install
################ kernel
export INSTALL_MOD_PATH=$RPM_BUILD_ROOT
export INSTALL_MOD_DIR=updates
for flavor in %flavors_to_build; do
	make -C /usr/src/linux-obj/%_target_cpu/$flavor modules_install \
		M=$PWD/obj/$flavor
done

################ utils
make install DESTDIR=${RPM_BUILD_ROOT}

%clean
rm -rf ${RPM_BUILD_ROOT}

%files
%defattr(-, root, root)
%docdir /usr/share/doc/packages/openflow
%doc /usr/share/man/man8/controller.8.gz
%doc /usr/share/man/man8/dpctl.8.gz
%doc /usr/share/man/man8/secchan.8.gz
%doc /usr/share/man/man8/vlogconf.8.gz
%doc /usr/share/man/man8/ofp-pki.8.gz
%doc /usr/share/man/man8/switch.8.gz
/usr/bin/controller
/usr/bin/dpctl
/usr/bin/secchan
/usr/bin/switch
/usr/bin/vlogconf
/usr/bin/ofp-pki

########################################################################

%package KMP

Summary: OpenFlow kernel module
Group: Productivity/Networking/Routing
Requires: grep, coreutils

%description KMP
Driver to enable running OpenFlow in kernel space and achieve higher performance.

########################################################################

%changelog
* Wed Jul  9 2008 Jad Naous <jnaous@stanford.edu> - 0.8.1-1
- Initial build
openSUSE Build Service is sponsored by