Requires(post): systemd-units
Requires(preun): systemd-units
Requires(postun): systemd-units
+Obsoletes: openvswitch-controller <= 0:2.1.0-1
%bcond_without check
%prep
-%setup -q -n openvswitch-%{version}
+%setup -q
%build
%configure --enable-ssl --with-pkidir=%{_sharedstatedir}/openvswitch/pki
-make %{_smp_mflags}
+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 \
+
+install -d -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch
+
+install -p -D -m 0644 \
+ rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template \
+ $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/openvswitch
+install -p -D -m 0644 \
+ rhel/usr_lib_systemd_system_openvswitch.service \
$RPM_BUILD_ROOT%{_unitdir}/openvswitch.service
-install -p -D -m 0644 rhel/usr_lib_systemd_system_openvswitch-nonetwork.service \
+install -p -D -m 0644 \
+ rhel/usr_lib_systemd_system_openvswitch-nonetwork.service \
$RPM_BUILD_ROOT%{_unitdir}/openvswitch-nonetwork.service
-install -m 755 rhel/etc_init.d_openvswitch \
+
+install -m 0755 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 -D -m 0644 rhel/etc_logrotate.d_openvswitch \
+ $RPM_BUILD_ROOT/%{_sysconfdir}/logrotate.d/openvswitch
+
+install -m 0644 vswitchd/vswitch.ovsschema \
+ $RPM_BUILD_ROOT/%{_datadir}/openvswitch/vswitch.ovsschema
+
+install -d -m 0755 $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/network-scripts/
install -p -m 0755 rhel/etc_sysconfig_network-scripts_ifdown-ovs \
- $RPM_BUILD_ROOT/etc/sysconfig/network-scripts/ifdown-ovs
+ $RPM_BUILD_ROOT/%{_sysconfdir}/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_systemd_sysconfig.template \
- $RPM_BUILD_ROOT/etc/sysconfig/openvswitch
-install -d -m 755 $RPM_BUILD_ROOT/usr/share/openvswitch/scripts
+ $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/network-scripts/ifup-ovs
install -d -m 0755 $RPM_BUILD_ROOT%{python_sitelib}
-mv $RPM_BUILD_ROOT/%{_datadir}/openvswitch/python/* $RPM_BUILD_ROOT%{python_sitelib}
+mv $RPM_BUILD_ROOT/%{_datadir}/openvswitch/python/* \
+ $RPM_BUILD_ROOT%{python_sitelib}
rmdir $RPM_BUILD_ROOT/%{_datadir}/openvswitch/python/
-install -d -m 755 $RPM_BUILD_ROOT/var/lib/openvswitch
+install -d -m 0755 $RPM_BUILD_ROOT/%{_sharedstatedir}/openvswitch
install -d -m 0755 $RPM_BUILD_ROOT%{_includedir}/openvswitch
install -p -D -m 0644 include/openvswitch/*.h \
- -t $RPM_BUILD_ROOT%{_includedir}/openvswitch
-install -p -D -m 0644 config.h -t $RPM_BUILD_ROOT%{_includedir}/openvswitch
+ -t $RPM_BUILD_ROOT%{_includedir}/openvswitch
+install -p -D -m 0644 config.h \
+ -t $RPM_BUILD_ROOT%{_includedir}/openvswitch
install -d -m 0755 $RPM_BUILD_ROOT%{_includedir}/openvswitch/lib
install -p -D -m 0644 lib/*.h \
- -t $RPM_BUILD_ROOT%{_includedir}/openvswitch/lib
+ -t $RPM_BUILD_ROOT%{_includedir}/openvswitch/lib
install -d -m 0755 $RPM_BUILD_ROOT%{_includedir}/openflow
install -p -D -m 0644 include/openflow/*.h \
- -t $RPM_BUILD_ROOT%{_includedir}/openflow
+ -t $RPM_BUILD_ROOT%{_includedir}/openflow
+
+touch $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch/conf.db
+touch $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch/system-id.conf
%check
%if %{with check}
rm -rf $RPM_BUILD_ROOT
%preun
-# Package removal, not upgrade
-systemctl stop openvswitch.service
-systemctl disable openvswitch.service
+%if 0%{?systemd_preun:1}
+ %systemd_preun %{name}.service
+%else
+ if [ $1 -eq 0 ] ; then
+ # Package removal, not upgrade
+ /bin/systemctl --no-reload disable %{name}.service >/dev/null 2>&1 || :
+ /bin/systemctl stop %{name}.service >/dev/null 2>&1 || :
+ fi
+%endif
+
%post
if test ! -e /etc/openvswitch/conf.db; then
'[{"op": "insert", "table": "Open_vSwitch", "row": {}}]' \
> /dev/null
fi
-# Initial installation
-systemctl enable openvswitch.service
-systemctl start openvswitch.service
+
+%if 0%{?systemd_post:1}
+ %systemd_post %{name}.service
+%else
+ # Package install, not upgrade
+ if [ $1 -eq 1 ]; then
+ /bin/systemctl daemon-reload >dev/null || :
+ fi
+%endif
+
%postun
+%if 0%{?systemd_postun_with_restart:1}
+ %systemd_postun_with_restart %{name}.service
+%else
+ /bin/systemctl daemon-reload >/dev/null 2>&1 || :
+ if [ "$1" -ge "1" ] ; then
+ # Package upgrade, not uninstall
+ /bin/systemctl try-restart %{name}.service >/dev/null 2>&1 || :
+ fi
+%endif
+
%files -n python-openvswitch
%{python_sitelib}/ovs
%files
%defattr(-,root,root)
-%config /etc/sysconfig/openvswitch
-%config /etc/logrotate.d/openvswitch
+%dir %{_sysconfdir}/openvswitch
+%config %ghost %{_sysconfdir}/openvswitch/conf.db
+%config %ghost %{_sysconfdir}/openvswitch/system-id.conf
+%config(noreplace) %{_sysconfdir}/sysconfig/openvswitch
+%config(noreplace) %{_sysconfdir}/logrotate.d/openvswitch
%{_unitdir}/openvswitch.service
%{_unitdir}/openvswitch-nonetwork.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/scripts/ovs-bugtool-*
-/usr/share/openvswitch/scripts/ovs-check-dead-ifs
-/usr/share/openvswitch/scripts/ovs-lib
-/usr/share/openvswitch/scripts/ovs-vtep
-%config /usr/share/openvswitch/vswitch.ovsschema
-%config /usr/share/openvswitch/vtep.ovsschema
-/usr/sbin/ovs-bugtool
-/usr/sbin/ovs-vswitchd
-/usr/sbin/ovsdb-server
-/usr/bin/ovs-appctl
-/usr/bin/ovs-docker
-/usr/bin/ovs-dpctl
-/usr/bin/ovs-dpctl-top
-/usr/bin/ovs-ofctl
-/usr/bin/ovs-vsctl
-/usr/bin/ovsdb-client
-/usr/bin/ovsdb-tool
-/usr/bin/ovs-testcontroller
-/usr/bin/ovs-pki
-/usr/bin/vtep-ctl
-%doc /usr/share/man/man8/ovs-testcontroller.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/man5/vtep.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-ctl.8.gz
-%doc /usr/share/man/man8/ovs-dpctl.8.gz
-%doc /usr/share/man/man8/ovs-dpctl-top.8.gz
-%doc /usr/share/man/man8/ovs-ofctl.8.gz
-%doc /usr/share/man/man8/ovs-parse-backtrace.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/vtep-ctl.8.gz
-%doc COPYING DESIGN.md INSTALL.SSL.md NOTICE README.md WHY-OVS.md FAQ.md NEWS INSTALL.DPDK.md
+%{_datadir}/openvswitch/bugtool-plugins/
+%{_datadir}/openvswitch/scripts/ovs-bugtool-*
+%{_datadir}/openvswitch/scripts/ovs-check-dead-ifs
+%{_datadir}/openvswitch/scripts/ovs-lib
+%{_datadir}/openvswitch/scripts/ovs-vtep
+%{_datadir}/openvswitch/scripts/ovs-ctl
+%config %{_datadir}/openvswitch/vswitch.ovsschema
+%config %{_datadir}/openvswitch/vtep.ovsschema
+%{_bindir}/ovs-appctl
+%{_bindir}/ovs-docker
+%{_bindir}/ovs-dpctl
+%{_bindir}/ovs-dpctl-top
+%{_bindir}/ovs-ofctl
+%{_bindir}/ovs-vsctl
+%{_bindir}/ovsdb-client
+%{_bindir}/ovsdb-tool
+%{_bindir}/ovs-testcontroller
+%{_bindir}/ovs-pki
+%{_bindir}/vtep-ctl
+%{_sbindir}/ovs-bugtool
+%{_sbindir}/ovs-vswitchd
+%{_sbindir}/ovsdb-server
+%{_mandir}/man1/ovs-benchmark.1*
+%{_mandir}/man1/ovs-pcap.1*
+%{_mandir}/man1/ovs-tcpundump.1*
+%{_mandir}/man1/ovsdb-client.1*
+%{_mandir}/man1/ovsdb-server.1*
+%{_mandir}/man1/ovsdb-tool.1*
+%{_mandir}/man5/ovs-vswitchd.conf.db.5*
+%{_mandir}/man5/vtep.5*
+%{_mandir}/man8/vtep-ctl.8*
+%{_mandir}/man8/ovs-appctl.8*
+%{_mandir}/man8/ovs-bugtool.8*
+%{_mandir}/man8/ovs-ctl.8*
+%{_mandir}/man8/ovs-dpctl.8*
+%{_mandir}/man8/ovs-dpctl-top.8*
+%{_mandir}/man8/ovs-ofctl.8*
+%{_mandir}/man8/ovs-pki.8*
+%{_mandir}/man8/ovs-vsctl.8*
+%{_mandir}/man8/ovs-vswitchd.8*
+%{_mandir}/man8/ovs-parse-backtrace.8*
+%{_mandir}/man8/ovs-testcontroller.8*
+%doc COPYING DESIGN.md INSTALL.SSL.md NOTICE README.md WHY-OVS.md
+%doc FAQ.md NEWS INSTALL.DPDK.md rhel/README.RHEL
/var/lib/openvswitch
/var/log/openvswitch
-/usr/share/openvswitch/scripts/ovs-ctl
-%exclude /etc/openvswitch
-%exclude /usr/bin/ovs-benchmark
-%exclude /usr/bin/ovs-parse-backtrace
-%exclude /usr/bin/ovs-pcap
-%exclude /usr/bin/ovs-tcpundump
-%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-vlan-bug-workaround.8.gz
-%exclude /usr/share/openvswitch/scripts/ovs-save
+%exclude %{_bindir}/ovs-benchmark
+%exclude %{_bindir}/ovs-parse-backtrace
+%exclude %{_bindir}/ovs-pcap
+%exclude %{_bindir}/ovs-tcpundump
+%exclude %{_sbindir}/ovs-vlan-bug-workaround
+%exclude %{_mandir}/man1/ovs-benchmark.1.gz
+%exclude %{_mandir}/man1/ovs-pcap.1.gz
+%exclude %{_mandir}/man1/ovs-tcpundump.1.gz
+%exclude %{_mandir}/man8/ovs-vlan-bug-workaround.8.gz
+%exclude %{_datadir}/openvswitch/scripts/ovs-save
%changelog
* Wed Jan 12 2011 Ralf Spenneberg <ralf@os-s.net>