forked from openvswitch/ovs
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
build: Add support for building RPMs for Fedora Linux
Add RPM specfiles for building OVS for Fedora Linux. This allows users of the upstream project the ability to generate RPMs for their Open vSwitch needs. Signed-off-by: Ralf Spenneberg <[email protected]> [[email protected] made substantial changes including writing documentation] Signed-off-by: Kyle Mestery <[email protected]> Signed-off-by: Ben Pfaff <[email protected]>
- Loading branch information
Showing
6 changed files
with
340 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
How to Install Open vSwitch on Fedora Linux | ||
=========================================== | ||
|
||
This document describes how to build and install Open vSwitch on a Fedora | ||
Linux host. If you want to install Open vSwitch on a generic Linux host, | ||
see INSTALL.Linux instead. | ||
|
||
We have tested these instructions with Fedora 16 and Fedora 17. | ||
|
||
Building Open vSwitch for Fedora | ||
-------------------------------- | ||
|
||
You may build from an Open vSwitch distribution tarball or from an | ||
Open vSwitch Git tree. | ||
|
||
Before you begin, note the RPM source directory on your version of | ||
Fedora. On Fedora 15, it is $HOME/rpmbuild/SOURCES. | ||
|
||
1. If you are building from an Open vSwitch Git tree, then you will | ||
need to first create a distribution tarball by running "./boot.sh; | ||
./configure; make dist" in the Git tree. | ||
|
||
2. Copy the distribution tarball into the RPM source directory. | ||
|
||
3. Unpack the distribution tarball into a temporary directory and "cd" | ||
into the root of the distribution tarball. | ||
|
||
4. To build Open vSwitch userspace, run: | ||
|
||
rpmbuild -bb rhel/openvswitch-fedora.spec | ||
|
||
This produces one RPM: "openvswitch". | ||
|
||
5. On Fedora 15, to build the Open vSwitch kernel module, run: | ||
|
||
rpmbuild -bb rhel/openvswitch-kmod-fedora.spec | ||
|
||
You might have to specify a kernel version and/or variants, e.g.: | ||
|
||
rpmbuild -bb \ | ||
-D "kversion 2.6.32-131.6.1.el6.x86_64" \ | ||
-D "kflavors default debug kdump" \ | ||
rhel/openvswitch-kmod-rhel6.spec | ||
|
||
This produces an "kmod-openvswitch" RPM for each kernel variant, | ||
in this example: "kmod-openvswitch", "kmod-openvswitch-debug", and | ||
"kmod-openvswitch-kdump". | ||
|
||
Reporting Bugs | ||
-------------- | ||
|
||
Please report problems to [email protected]. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,5 @@ | ||
openvswitch-kmod-rhel5.spec | ||
openvswitch-kmod-rhel6.spec | ||
openvswitch-kmod-fedora.spec | ||
openvswitch.spec | ||
openvswitch-fedora.spec |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,197 @@ | ||
# Spec file for Open vSwitch. | ||
|
||
# Copyright (C) 2009, 2010 Nicira Networks, Inc. | ||
# | ||
# Copying and distribution of this file, with or without modification, | ||
# are permitted in any medium without royalty provided the copyright | ||
# notice and this notice are preserved. This file is offered as-is, | ||
# without warranty of any kind. | ||
|
||
#%define kernel 2.6.40.4-5.fc15.x86_64 | ||
|
||
Name: openvswitch | ||
Summary: Open vSwitch | ||
Group: System Environment/Daemons | ||
URL: http://www.openvswitch.org/ | ||
Version: @VERSION@ | ||
|
||
# The entire source code is ASL 2.0 except datapath/ which is GPLv2 | ||
License: ASL 2.0 | ||
Release: 1%{?dist} | ||
Source: openvswitch-%{version}.tar.gz | ||
#Source1: openvswitch-init | ||
Buildroot: /tmp/openvswitch-fedora-rpm | ||
|
||
Requires(post): systemd-units | ||
Requires(preun): systemd-units | ||
Requires(postun): systemd-units | ||
|
||
%description | ||
Open vSwitch provides standard network bridging functions augmented with | ||
support for the OpenFlow protocol for remote per-flow control of | ||
traffic. | ||
|
||
%prep | ||
%setup -q -n openvswitch-%{version} | ||
|
||
%build | ||
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=%{_localstatedir} --enable-ssl %{build_number} | ||
make %{_smp_mflags} | ||
|
||
%install | ||
rm -rf $RPM_BUILD_ROOT | ||
make install DESTDIR=$RPM_BUILD_ROOT | ||
install -d -m 755 $RPM_BUILD_ROOT/etc | ||
install -d -m 755 $RPM_BUILD_ROOT/etc/openvswitch | ||
install -p -D -m 0644 rhel/usr_lib_systemd_system_openvswitch.service \ | ||
$RPM_BUILD_ROOT%{_unitdir}/openvswitch.service | ||
install -m 755 rhel/etc_init.d_openvswitch \ | ||
$RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/openvswitch.init | ||
install -d -m 755 $RPM_BUILD_ROOT/etc/sysconfig | ||
install -d -m 755 $RPM_BUILD_ROOT/etc/logrotate.d | ||
install -m 755 rhel/etc_logrotate.d_openvswitch \ | ||
$RPM_BUILD_ROOT/etc/logrotate.d/openvswitch | ||
install -d -m 755 $RPM_BUILD_ROOT/etc/profile.d | ||
install -m 644 vswitchd/vswitch.ovsschema \ | ||
$RPM_BUILD_ROOT/usr/share/openvswitch/vswitch.ovsschema | ||
install -d -m 755 $RPM_BUILD_ROOT/usr/share/openvswitch/scripts | ||
install -d -m 0755 $RPM_BUILD_ROOT/etc/sysconfig/network-scripts/ | ||
install -p -m 0755 rhel/etc_sysconfig_network-scripts_ifdown-ovs \ | ||
$RPM_BUILD_ROOT/etc/sysconfig/network-scripts/ifdown-ovs | ||
install -p -m 0755 rhel/etc_sysconfig_network-scripts_ifup-ovs \ | ||
$RPM_BUILD_ROOT/etc/sysconfig/network-scripts/ifup-ovs | ||
install -p -D -m 0644 rhel/usr_share_openvswitch_scripts_sysconfig.template \ | ||
$RPM_BUILD_ROOT/etc/sysconfig/openvswitch | ||
install -d -m 755 $RPM_BUILD_ROOT/usr/share/openvswitch/scripts | ||
|
||
install python/compat/uuid.py $RPM_BUILD_ROOT/usr/share/openvswitch/python | ||
install python/compat/argparse.py $RPM_BUILD_ROOT/usr/share/openvswitch/python | ||
|
||
install -d -m 755 $RPM_BUILD_ROOT/var/lib/openvswitch | ||
|
||
%clean | ||
rm -rf $RPM_BUILD_ROOT | ||
|
||
%preun | ||
# Package removal, not upgrade | ||
systemctl stop openvswitch.service | ||
systemctl disable openvswitch.service | ||
|
||
%post | ||
if test ! -e /etc/openvswitch/conf.db; then | ||
install -d -m 755 -o root -g root /etc/openvswitch | ||
|
||
# Create ovs-vswitchd config database | ||
ovsdb-tool -vANY:console:emer create /etc/openvswitch/conf.db \ | ||
/usr/share/openvswitch/vswitch.ovsschema | ||
|
||
# Create initial table in config database | ||
ovsdb-tool -vANY:console:emer transact /etc/openvswitch/conf.db \ | ||
'[{"op": "insert", "table": "Open_vSwitch", "row": {}}]' \ | ||
> /dev/null | ||
fi | ||
# Initial installation | ||
systemctl enable openvswitch.service | ||
systemctl start openvswitch.service | ||
|
||
%postun | ||
|
||
%files | ||
%defattr(-,root,root) | ||
%config /etc/sysconfig/openvswitch | ||
%config /etc/logrotate.d/openvswitch | ||
%{_unitdir}/openvswitch.service | ||
%{_datadir}/openvswitch/scripts/openvswitch.init | ||
%{_sysconfdir}/sysconfig/network-scripts/ifup-ovs | ||
%{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs | ||
/usr/share/openvswitch/bugtool-plugins/ | ||
/usr/share/openvswitch/python/ovs/__init__.py | ||
/usr/share/openvswitch/python/ovs/daemon.py | ||
/usr/share/openvswitch/python/ovs/db/__init__.py | ||
/usr/share/openvswitch/python/ovs/db/data.py | ||
/usr/share/openvswitch/python/ovs/db/error.py | ||
/usr/share/openvswitch/python/ovs/db/idl.py | ||
/usr/share/openvswitch/python/ovs/db/parser.py | ||
/usr/share/openvswitch/python/ovs/db/schema.py | ||
/usr/share/openvswitch/python/ovs/db/types.py | ||
/usr/share/openvswitch/python/ovs/dirs.py | ||
/usr/share/openvswitch/python/ovs/fatal_signal.py | ||
/usr/share/openvswitch/python/ovs/json.py | ||
/usr/share/openvswitch/python/ovs/jsonrpc.py | ||
/usr/share/openvswitch/python/ovs/ovsuuid.py | ||
/usr/share/openvswitch/python/ovs/poller.py | ||
/usr/share/openvswitch/python/ovs/process.py | ||
/usr/share/openvswitch/python/ovs/reconnect.py | ||
/usr/share/openvswitch/python/ovs/socket_util.py | ||
/usr/share/openvswitch/python/ovs/stream.py | ||
/usr/share/openvswitch/python/ovs/timeval.py | ||
/usr/share/openvswitch/python/ovs/util.py | ||
/usr/share/openvswitch/python/ovs/version.py | ||
/usr/share/openvswitch/python/ovs/unixctl/__init__.py | ||
/usr/share/openvswitch/python/ovs/unixctl/client.py | ||
/usr/share/openvswitch/python/ovs/unixctl/server.py | ||
/usr/share/openvswitch/python/uuid.py | ||
/usr/share/openvswitch/python/argparse.py | ||
/usr/share/openvswitch/python/ovs/vlog.py | ||
/usr/share/openvswitch/python/ovstest/__init__.py | ||
/usr/share/openvswitch/python/ovstest/args.py | ||
/usr/share/openvswitch/python/ovstest/rpcserver.py | ||
/usr/share/openvswitch/python/ovstest/tcp.py | ||
/usr/share/openvswitch/python/ovstest/udp.py | ||
/usr/share/openvswitch/python/ovstest/util.py | ||
/usr/share/openvswitch/python/ovstest/vswitch.py | ||
/usr/share/openvswitch/python/ovstest/tests.py | ||
/usr/share/openvswitch/scripts/ovs-bugtool-* | ||
/usr/share/openvswitch/scripts/ovs-check-dead-ifs | ||
/usr/share/openvswitch/scripts/ovs-lib | ||
%config /usr/share/openvswitch/vswitch.ovsschema | ||
/usr/sbin/ovs-brcompatd | ||
/usr/sbin/ovs-bugtool | ||
/usr/sbin/ovs-vswitchd | ||
/usr/sbin/ovsdb-server | ||
/usr/bin/ovs-appctl | ||
/usr/bin/ovs-dpctl | ||
/usr/bin/ovs-ofctl | ||
/usr/bin/ovs-vsctl | ||
/usr/bin/ovsdb-client | ||
/usr/bin/ovsdb-tool | ||
/usr/bin/ovs-controller | ||
/usr/bin/ovs-pki | ||
/usr/bin/ovs-test | ||
/usr/bin/ovs-l3ping | ||
%doc /usr/share/man/man8/ovs-controller.8.gz | ||
%doc /usr/share/man/man8/ovs-pki.8.gz | ||
%doc /usr/share/man/man1/ovsdb-client.1.gz | ||
%doc /usr/share/man/man1/ovsdb-server.1.gz | ||
%doc /usr/share/man/man1/ovsdb-tool.1.gz | ||
%doc /usr/share/man/man5/ovs-vswitchd.conf.db.5.gz | ||
%doc /usr/share/man/man8/ovs-appctl.8.gz | ||
%doc /usr/share/man/man8/ovs-bugtool.8.gz | ||
%doc /usr/share/man/man8/ovs-brcompatd.8.gz | ||
%doc /usr/share/man/man8/ovs-dpctl.8.gz | ||
%doc /usr/share/man/man8/ovs-ofctl.8.gz | ||
%doc /usr/share/man/man8/ovs-parse-leaks.8.gz | ||
%doc /usr/share/man/man8/ovs-vsctl.8.gz | ||
%doc /usr/share/man/man8/ovs-vswitchd.8.gz | ||
%doc /usr/share/man/man8/ovs-test.8.gz | ||
%doc /usr/share/man/man8/ovs-l3ping.8.gz | ||
/var/lib/openvswitch | ||
/usr/share/openvswitch/scripts/ovs-ctl | ||
%exclude /etc/openvswitch | ||
%exclude /usr/bin/ovs-benchmark | ||
%exclude /usr/bin/ovs-parse-leaks | ||
%exclude /usr/bin/ovs-pcap | ||
%exclude /usr/bin/ovs-tcpundump | ||
%exclude /usr/bin/ovs-vlan-test | ||
%exclude /usr/sbin/ovs-vlan-bug-workaround | ||
%exclude /usr/share/man/man1/ovs-benchmark.1.gz | ||
%exclude /usr/share/man/man1/ovs-pcap.1.gz | ||
%exclude /usr/share/man/man1/ovs-tcpundump.1.gz | ||
%exclude /usr/share/man/man8/ovs-ctl.8.gz | ||
%exclude /usr/share/man/man8/ovs-vlan-bug-workaround.8.gz | ||
%exclude /usr/share/man/man8/ovs-vlan-test.8.gz | ||
%exclude /usr/share/openvswitch/scripts/ovs-save | ||
|
||
%changelog | ||
* Wed Jan 12 2011 Ralf Spenneberg <[email protected]> | ||
- First build on F14 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
# Spec file for Open vSwitch. | ||
|
||
# Copyright (C) 2009, 2010 Nicira Networks, Inc. | ||
# | ||
# Copying and distribution of this file, with or without modification, | ||
# are permitted in any medium without royalty provided the copyright | ||
# notice and this notice are preserved. This file is offered as-is, | ||
# without warranty of any kind. | ||
|
||
#%define kernel 3.1.5-1.fc16.x86_64 | ||
#define kernel %{kernel_source} | ||
%{?kversion:%define kernel %kversion} | ||
|
||
Name: openvswitch-kmod | ||
Summary: Open vSwitch Kernel Modules | ||
Group: System Environment/Daemons | ||
URL: http://www.openvswitch.org/ | ||
Vendor: OpenSource Security Ralf Spenneberg <[email protected]> | ||
Version: @VERSION@ | ||
|
||
# The entire source code is ASL 2.0 except datapath/ which is GPLv2 | ||
License: GPLv2 | ||
Release: 1%{?dist} | ||
Source: openvswitch-%{version}.tar.gz | ||
#Source1: openvswitch-init | ||
Buildroot: /tmp/openvswitch-xen-rpm | ||
|
||
%description | ||
Open vSwitch provides standard network bridging functions augmented with | ||
support for the OpenFlow protocol for remote per-flow control of | ||
traffic. This package contains the kernel modules. | ||
|
||
%prep | ||
%setup -q -n openvswitch-%{version} | ||
|
||
%build | ||
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=%{_localstatedir} --with-linux=/lib/modules/%{kernel}/build --enable-ssl %{build_number} | ||
make %{_smp_mflags} -C datapath/linux | ||
|
||
%install | ||
rm -rf $RPM_BUILD_ROOT | ||
make -C datapath/linux modules_install | ||
|
||
install -d -m 755 $RPM_BUILD_ROOT/lib/modules/%{kernel}/kernel/extra/openvswitch | ||
find datapath/linux -name *.ko -exec install -m 755 \{\} $RPM_BUILD_ROOT/lib/modules/%{kernel}/kernel/extra/openvswitch \; | ||
|
||
%clean | ||
rm -rf $RPM_BUILD_ROOT | ||
|
||
%preun | ||
|
||
%post | ||
# Ensure that modprobe will find our modules. | ||
depmod %{kernel} | ||
|
||
%files | ||
%defattr(-,root,root) | ||
/lib/modules/%{kernel}/kernel/extra/openvswitch/openvswitch.ko | ||
/lib/modules/%{kernel}/kernel/extra/openvswitch/brcompat.ko | ||
|
||
%changelog | ||
* Wed Sep 21 2011 Kyle Mestery <[email protected]> | ||
- Updated for F15 | ||
* Wed Jan 12 2011 Ralf Spenneberg <[email protected]> | ||
- First build on F14 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
[Unit] | ||
Description=Open vSwitch | ||
After=syslog.target network.target | ||
|
||
[Service] | ||
Type=oneshot | ||
ExecStart=/usr/share/openvswitch/scripts/openvswitch.init start | ||
ExecStop=/usr/share/openvswitch/scripts/openvswitch.init stop | ||
RemainAfterExit=yes | ||
|
||
[Install] | ||
WantedBy=multi-user.target |