Message ID | 1531437924-105584-1-git-send-email-martinxu9.ovs@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | [ovs-dev,v4,1/3] rhel: rename openvswitch kmod rhel6 spec file | expand |
On Thu, Jul 12, 2018 at 04:25:22PM -0700, Martin Xu wrote: > This patch only affects rhel6 spec file. > > The rhel6 kmod spec file is renamed from openvswitch-kmod-rhel6.spec > to kmod-openvswitch-rhel6.spec . This is to prepare for the next > patches to support building multiple kernel versions in the main > package. The rename makes the spec file consistent with the resulted > kmod-openvswitch-<version>.rpm, which is the real package with > kernel module files. > > Signed-off-by: Martin Xu <martinxu9.ovs@gmail.com> > Reviewed-by: Flavio Leitner <fbl@redhat.com> > CC: Greg Rose <gvrose8192@gmail.com> > CC: Ben Pfaff <blp@ovn.org> > CC: Aaron Conole <aconole@redhat.com> > --- > v1->v2: fix improperly generated patch > v2->v3: split from one patch into three patches > v3->v4: updated commit message > > Documentation/intro/install/rhel.rst | 7 +-- > poc/playbook-centos-builder.yml | 8 +-- > rhel/.gitignore | 2 +- > rhel/automake.mk | 6 +- > rhel/kmod-openvswitch-rhel6.spec.in | 103 +++++++++++++++++++++++++++++++++++ > rhel/openvswitch-kmod-rhel6.spec.in | 103 ----------------------------------- > 6 files changed, 114 insertions(+), 115 deletions(-) > create mode 100644 rhel/kmod-openvswitch-rhel6.spec.in > delete mode 100644 rhel/openvswitch-kmod-rhel6.spec.in Git used 'renamed' in the previous series, but not this time. Series look good to me, though I have not tested. fbl > > diff --git a/Documentation/intro/install/rhel.rst b/Documentation/intro/install/rhel.rst > index f8b2606..6f062e8 100644 > --- a/Documentation/intro/install/rhel.rst > +++ b/Documentation/intro/install/rhel.rst > @@ -197,17 +197,16 @@ the unit tests, run:: > Kernel Module > ~~~~~~~~~~~~~ > > -On RHEL 6, to build the Open vSwitch kernel module, copy > -rhel/openvswitch-kmod.files into the RPM sources directory and run:: > +On RHEL 6, to build the Open vSwitch kernel module run:: > > - $ rpmbuild -bb rhel/openvswitch-kmod-rhel6.spec > + $ rpmbuild -bb rhel/kmod-openvswitch-rhel6.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 > + rhel/kmod-openvswitch-rhel6.spec > > This produces an "kmod-openvswitch" RPM for each kernel variant, in this > example: "kmod-openvswitch", "kmod-openvswitch-debug", and > diff --git a/poc/playbook-centos-builder.yml b/poc/playbook-centos-builder.yml > index 71f1040..e902db7 100644 > --- a/poc/playbook-centos-builder.yml > +++ b/poc/playbook-centos-builder.yml > @@ -41,13 +41,13 @@ > chdir: /git/ovs/rhel > with_items: > - openvswitch.spec > - - openvswitch-kmod-rhel6.spec > + - kmod-openvswitch-rhel6.spec > > - name: Install build dependencies specified from spec files > shell: echo "y" | yum-builddep /tmp/{{item}} > with_items: > - openvswitch.spec > - - openvswitch-kmod-rhel6.spec > + - kmod-openvswitch-rhel6.spec > > - name: Create rpm dev tree > command: rpmdev-setuptree > @@ -81,7 +81,7 @@ > line: "Release: {{ ansible_local.builder.release }}" > with_items: > - openvswitch.spec > - - openvswitch-kmod-rhel6.spec > + - kmod-openvswitch-rhel6.spec > > - name: Build Open vSwitch user space rpms > command: rpmbuild -bb --without check rhel/openvswitch.spec > @@ -89,7 +89,7 @@ > chdir: "{{SOURCE}}/openvswitch-{{version.stdout}}" > > - name: Build Open vSwitch kmod rpms (only for currently loaded kernel) > - command: rpmbuild -bb --without check rhel/openvswitch-kmod-rhel6.spec > + command: rpmbuild -bb --without check rhel/kmod-openvswitch-rhel6.spec > args: > chdir: "{{SOURCE}}/openvswitch-{{version.stdout}}" > > diff --git a/rhel/.gitignore b/rhel/.gitignore > index e584a1e..a9c047f 100644 > --- a/rhel/.gitignore > +++ b/rhel/.gitignore > @@ -1,6 +1,6 @@ > openvswitch-dkms.spec > openvswitch-kmod-rhel5.spec > -openvswitch-kmod-rhel6.spec > +kmod-openvswitch-rhel6.spec > openvswitch-kmod-fedora.spec > openvswitch.spec > openvswitch-fedora.spec > diff --git a/rhel/automake.mk b/rhel/automake.mk > index 137ff4a..82a4508 100644 > --- a/rhel/automake.mk > +++ b/rhel/automake.mk > @@ -15,8 +15,8 @@ EXTRA_DIST += \ > rhel/etc_sysconfig_network-scripts_ifup-ovs \ > rhel/openvswitch-dkms.spec \ > rhel/openvswitch-dkms.spec.in \ > - rhel/openvswitch-kmod-rhel6.spec \ > - rhel/openvswitch-kmod-rhel6.spec.in \ > + rhel/kmod-openvswitch-rhel6.spec \ > + rhel/kmod-openvswitch-rhel6.spec.in \ > rhel/openvswitch-kmod.files \ > rhel/openvswitch-kmod-fedora.spec \ > rhel/openvswitch-kmod-fedora.spec.in \ > @@ -48,7 +48,7 @@ update_rhel_spec = \ > $(srcdir)/rhel/openvswitch-dkms.spec: rhel/openvswitch-dkms.spec.in $(top_builddir)/config.status > $(update_rhel_spec) > > -$(srcdir)/rhel/openvswitch-kmod-rhel6.spec: rhel/openvswitch-kmod-rhel6.spec.in $(top_builddir)/config.status > +$(srcdir)/rhel/kmod-openvswitch-rhel6.spec: rhel/kmod-openvswitch-rhel6.spec.in $(top_builddir)/config.status > $(update_rhel_spec) > > $(srcdir)/rhel/openvswitch-kmod-fedora.spec: rhel/openvswitch-kmod-fedora.spec.in $(top_builddir)/config.status > diff --git a/rhel/kmod-openvswitch-rhel6.spec.in b/rhel/kmod-openvswitch-rhel6.spec.in > new file mode 100644 > index 0000000..daa3dad > --- /dev/null > +++ b/rhel/kmod-openvswitch-rhel6.spec.in > @@ -0,0 +1,103 @@ > +# Spec file for Open vSwitch kernel modules on Red Hat Enterprise > +# Linux 6. > + > +# Copyright (C) 2011, 2012 Nicira, 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 oname openvswitch > + > +Name: %{oname}-kmod > +Version: @VERSION@ > +Release: 1%{?dist} > +Summary: Open vSwitch kernel module > + > +Group: System/Kernel > +License: GPLv2 > +URL: http://openvswitch.org/ > +Source0: %{oname}-%{version}.tar.gz > +Source1: %{oname}-kmod.files > +BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) > +BuildRequires: %kernel_module_package_buildreqs > + > +# Without this we get an empty openvswitch-debuginfo package (whose name > +# conflicts with the openvswitch-debuginfo package for OVS userspace). > +%undefine _enable_debug_packages > + > +# Use -D 'kversion 2.6.32-131.6.1.el6.x86_64' to build package > +# for specified kernel version. > +%{?kversion:%define kernel_version %kversion} > + > +# Use -D 'kflavors default debug kdump' to build packages for > +# specified kernel variants. > +%{!?kflavors:%define kflavors default} > + > +%kernel_module_package -n %{oname} -f %{SOURCE1} %kflavors > + > +%description > +Open vSwitch Linux kernel module. > + > +%prep > + > +%setup -n %{oname}-%{version} > + > +%build > +for flavor in %flavors_to_build; do > + mkdir _$flavor > + (cd _$flavor && ../configure --with-linux="%{kernel_source $flavor}") > + %{__make} -C _$flavor/datapath/linux %{?_smp_mflags} > +done > + > +%install > +export INSTALL_MOD_PATH=$RPM_BUILD_ROOT > +export INSTALL_MOD_DIR=extra/%{oname} > +for flavor in %flavors_to_build ; do > + make -C %{kernel_source $flavor} modules_install \ > + M="`pwd`"/_$flavor/datapath/linux > + > + # Cleanup unnecessary kernel-generated module dependency files. > + find $INSTALL_MOD_PATH/lib/modules -iname 'modules.*' -exec rm {} \; > +done > +install -d %{buildroot}%{_sysconfdir}/depmod.d/ > +for module in %{buildroot}/lib/modules/%{kernel_version}/$INSTALL_MOD_DIR/*.ko; > +do > + modname="$(basename ${module})" > + echo "override ${modname%.ko} * extra/%{oname}" >> %{oname}.conf > + echo "override ${modname%.ko} * weak-updates/%{oname}" >> %{oname}.conf > +done > +install -m 644 %{oname}.conf %{buildroot}%{_sysconfdir}/depmod.d/ > + > +%post > +# Ensure that modprobe will find our modules. > +for k in $(cd /lib/modules && /bin/ls); do > + [ -d "/lib/modules/$k/kernel/" ] && depmod -a "$k" > +done > +if [ -x "/sbin/weak-modules" ]; then > + for m in openvswitch vport-gre vport-stt vport-geneve \ > + vport-lisp vport-vxlan; do > + echo "/lib/modules/%{kernel}/extra/$m.ko" > + done | /sbin/weak-modules --add-modules > +fi > + > +%postun > +for k in $(cd /lib/modules && /bin/ls); do > + [ -d "/lib/modules/$k/kernel/" ] && depmod -a "$k" > +done > +if [ "$1" = 0 ]; then # Erase, not upgrade > + if [ -x "/sbin/weak-modules" ]; then > + for m in openvswitch vport-gre vport-stt vport-geneve \ > + vport-lisp vport-vxlan; do > + echo "/lib/modules/%{kernel}/extra/$m.ko" > + done | /sbin/weak-modules --remove-modules > + fi > +fi > + > +%files > +%defattr(644,root,root) > +/etc/depmod.d/%{oname}.conf > + > +%clean > +rm -rf $RPM_BUILD_ROOT > diff --git a/rhel/openvswitch-kmod-rhel6.spec.in b/rhel/openvswitch-kmod-rhel6.spec.in > deleted file mode 100644 > index daa3dad..0000000 > --- a/rhel/openvswitch-kmod-rhel6.spec.in > +++ /dev/null > @@ -1,103 +0,0 @@ > -# Spec file for Open vSwitch kernel modules on Red Hat Enterprise > -# Linux 6. > - > -# Copyright (C) 2011, 2012 Nicira, 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 oname openvswitch > - > -Name: %{oname}-kmod > -Version: @VERSION@ > -Release: 1%{?dist} > -Summary: Open vSwitch kernel module > - > -Group: System/Kernel > -License: GPLv2 > -URL: http://openvswitch.org/ > -Source0: %{oname}-%{version}.tar.gz > -Source1: %{oname}-kmod.files > -BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) > -BuildRequires: %kernel_module_package_buildreqs > - > -# Without this we get an empty openvswitch-debuginfo package (whose name > -# conflicts with the openvswitch-debuginfo package for OVS userspace). > -%undefine _enable_debug_packages > - > -# Use -D 'kversion 2.6.32-131.6.1.el6.x86_64' to build package > -# for specified kernel version. > -%{?kversion:%define kernel_version %kversion} > - > -# Use -D 'kflavors default debug kdump' to build packages for > -# specified kernel variants. > -%{!?kflavors:%define kflavors default} > - > -%kernel_module_package -n %{oname} -f %{SOURCE1} %kflavors > - > -%description > -Open vSwitch Linux kernel module. > - > -%prep > - > -%setup -n %{oname}-%{version} > - > -%build > -for flavor in %flavors_to_build; do > - mkdir _$flavor > - (cd _$flavor && ../configure --with-linux="%{kernel_source $flavor}") > - %{__make} -C _$flavor/datapath/linux %{?_smp_mflags} > -done > - > -%install > -export INSTALL_MOD_PATH=$RPM_BUILD_ROOT > -export INSTALL_MOD_DIR=extra/%{oname} > -for flavor in %flavors_to_build ; do > - make -C %{kernel_source $flavor} modules_install \ > - M="`pwd`"/_$flavor/datapath/linux > - > - # Cleanup unnecessary kernel-generated module dependency files. > - find $INSTALL_MOD_PATH/lib/modules -iname 'modules.*' -exec rm {} \; > -done > -install -d %{buildroot}%{_sysconfdir}/depmod.d/ > -for module in %{buildroot}/lib/modules/%{kernel_version}/$INSTALL_MOD_DIR/*.ko; > -do > - modname="$(basename ${module})" > - echo "override ${modname%.ko} * extra/%{oname}" >> %{oname}.conf > - echo "override ${modname%.ko} * weak-updates/%{oname}" >> %{oname}.conf > -done > -install -m 644 %{oname}.conf %{buildroot}%{_sysconfdir}/depmod.d/ > - > -%post > -# Ensure that modprobe will find our modules. > -for k in $(cd /lib/modules && /bin/ls); do > - [ -d "/lib/modules/$k/kernel/" ] && depmod -a "$k" > -done > -if [ -x "/sbin/weak-modules" ]; then > - for m in openvswitch vport-gre vport-stt vport-geneve \ > - vport-lisp vport-vxlan; do > - echo "/lib/modules/%{kernel}/extra/$m.ko" > - done | /sbin/weak-modules --add-modules > -fi > - > -%postun > -for k in $(cd /lib/modules && /bin/ls); do > - [ -d "/lib/modules/$k/kernel/" ] && depmod -a "$k" > -done > -if [ "$1" = 0 ]; then # Erase, not upgrade > - if [ -x "/sbin/weak-modules" ]; then > - for m in openvswitch vport-gre vport-stt vport-geneve \ > - vport-lisp vport-vxlan; do > - echo "/lib/modules/%{kernel}/extra/$m.ko" > - done | /sbin/weak-modules --remove-modules > - fi > -fi > - > -%files > -%defattr(644,root,root) > -/etc/depmod.d/%{oname}.conf > - > -%clean > -rm -rf $RPM_BUILD_ROOT > -- > 1.8.3.1 > > _______________________________________________ > dev mailing list > dev@openvswitch.org > https://mail.openvswitch.org/mailman/listinfo/ovs-dev
On Thu, Jul 12, 2018 at 08:54:26PM -0300, Flavio Leitner wrote: > On Thu, Jul 12, 2018 at 04:25:22PM -0700, Martin Xu wrote: > > This patch only affects rhel6 spec file. > > > > The rhel6 kmod spec file is renamed from openvswitch-kmod-rhel6.spec > > to kmod-openvswitch-rhel6.spec . This is to prepare for the next > > patches to support building multiple kernel versions in the main > > package. The rename makes the spec file consistent with the resulted > > kmod-openvswitch-<version>.rpm, which is the real package with > > kernel module files. > > > > Signed-off-by: Martin Xu <martinxu9.ovs@gmail.com> > > Reviewed-by: Flavio Leitner <fbl@redhat.com> > > CC: Greg Rose <gvrose8192@gmail.com> > > CC: Ben Pfaff <blp@ovn.org> > > CC: Aaron Conole <aconole@redhat.com> > > --- > > v1->v2: fix improperly generated patch > > v2->v3: split from one patch into three patches > > v3->v4: updated commit message > > > > Documentation/intro/install/rhel.rst | 7 +-- > > poc/playbook-centos-builder.yml | 8 +-- > > rhel/.gitignore | 2 +- > > rhel/automake.mk | 6 +- > > rhel/kmod-openvswitch-rhel6.spec.in | 103 +++++++++++++++++++++++++++++++++++ > > rhel/openvswitch-kmod-rhel6.spec.in | 103 ----------------------------------- > > 6 files changed, 114 insertions(+), 115 deletions(-) > > create mode 100644 rhel/kmod-openvswitch-rhel6.spec.in > > delete mode 100644 rhel/openvswitch-kmod-rhel6.spec.in > > Git used 'renamed' in the previous series, but not this time. > Series look good to me, though I have not tested. > fbl Thanks for the review! I applied this series to master.
diff --git a/Documentation/intro/install/rhel.rst b/Documentation/intro/install/rhel.rst index f8b2606..6f062e8 100644 --- a/Documentation/intro/install/rhel.rst +++ b/Documentation/intro/install/rhel.rst @@ -197,17 +197,16 @@ the unit tests, run:: Kernel Module ~~~~~~~~~~~~~ -On RHEL 6, to build the Open vSwitch kernel module, copy -rhel/openvswitch-kmod.files into the RPM sources directory and run:: +On RHEL 6, to build the Open vSwitch kernel module run:: - $ rpmbuild -bb rhel/openvswitch-kmod-rhel6.spec + $ rpmbuild -bb rhel/kmod-openvswitch-rhel6.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 + rhel/kmod-openvswitch-rhel6.spec This produces an "kmod-openvswitch" RPM for each kernel variant, in this example: "kmod-openvswitch", "kmod-openvswitch-debug", and diff --git a/poc/playbook-centos-builder.yml b/poc/playbook-centos-builder.yml index 71f1040..e902db7 100644 --- a/poc/playbook-centos-builder.yml +++ b/poc/playbook-centos-builder.yml @@ -41,13 +41,13 @@ chdir: /git/ovs/rhel with_items: - openvswitch.spec - - openvswitch-kmod-rhel6.spec + - kmod-openvswitch-rhel6.spec - name: Install build dependencies specified from spec files shell: echo "y" | yum-builddep /tmp/{{item}} with_items: - openvswitch.spec - - openvswitch-kmod-rhel6.spec + - kmod-openvswitch-rhel6.spec - name: Create rpm dev tree command: rpmdev-setuptree @@ -81,7 +81,7 @@ line: "Release: {{ ansible_local.builder.release }}" with_items: - openvswitch.spec - - openvswitch-kmod-rhel6.spec + - kmod-openvswitch-rhel6.spec - name: Build Open vSwitch user space rpms command: rpmbuild -bb --without check rhel/openvswitch.spec @@ -89,7 +89,7 @@ chdir: "{{SOURCE}}/openvswitch-{{version.stdout}}" - name: Build Open vSwitch kmod rpms (only for currently loaded kernel) - command: rpmbuild -bb --without check rhel/openvswitch-kmod-rhel6.spec + command: rpmbuild -bb --without check rhel/kmod-openvswitch-rhel6.spec args: chdir: "{{SOURCE}}/openvswitch-{{version.stdout}}" diff --git a/rhel/.gitignore b/rhel/.gitignore index e584a1e..a9c047f 100644 --- a/rhel/.gitignore +++ b/rhel/.gitignore @@ -1,6 +1,6 @@ openvswitch-dkms.spec openvswitch-kmod-rhel5.spec -openvswitch-kmod-rhel6.spec +kmod-openvswitch-rhel6.spec openvswitch-kmod-fedora.spec openvswitch.spec openvswitch-fedora.spec diff --git a/rhel/automake.mk b/rhel/automake.mk index 137ff4a..82a4508 100644 --- a/rhel/automake.mk +++ b/rhel/automake.mk @@ -15,8 +15,8 @@ EXTRA_DIST += \ rhel/etc_sysconfig_network-scripts_ifup-ovs \ rhel/openvswitch-dkms.spec \ rhel/openvswitch-dkms.spec.in \ - rhel/openvswitch-kmod-rhel6.spec \ - rhel/openvswitch-kmod-rhel6.spec.in \ + rhel/kmod-openvswitch-rhel6.spec \ + rhel/kmod-openvswitch-rhel6.spec.in \ rhel/openvswitch-kmod.files \ rhel/openvswitch-kmod-fedora.spec \ rhel/openvswitch-kmod-fedora.spec.in \ @@ -48,7 +48,7 @@ update_rhel_spec = \ $(srcdir)/rhel/openvswitch-dkms.spec: rhel/openvswitch-dkms.spec.in $(top_builddir)/config.status $(update_rhel_spec) -$(srcdir)/rhel/openvswitch-kmod-rhel6.spec: rhel/openvswitch-kmod-rhel6.spec.in $(top_builddir)/config.status +$(srcdir)/rhel/kmod-openvswitch-rhel6.spec: rhel/kmod-openvswitch-rhel6.spec.in $(top_builddir)/config.status $(update_rhel_spec) $(srcdir)/rhel/openvswitch-kmod-fedora.spec: rhel/openvswitch-kmod-fedora.spec.in $(top_builddir)/config.status diff --git a/rhel/kmod-openvswitch-rhel6.spec.in b/rhel/kmod-openvswitch-rhel6.spec.in new file mode 100644 index 0000000..daa3dad --- /dev/null +++ b/rhel/kmod-openvswitch-rhel6.spec.in @@ -0,0 +1,103 @@ +# Spec file for Open vSwitch kernel modules on Red Hat Enterprise +# Linux 6. + +# Copyright (C) 2011, 2012 Nicira, 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 oname openvswitch + +Name: %{oname}-kmod +Version: @VERSION@ +Release: 1%{?dist} +Summary: Open vSwitch kernel module + +Group: System/Kernel +License: GPLv2 +URL: http://openvswitch.org/ +Source0: %{oname}-%{version}.tar.gz +Source1: %{oname}-kmod.files +BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) +BuildRequires: %kernel_module_package_buildreqs + +# Without this we get an empty openvswitch-debuginfo package (whose name +# conflicts with the openvswitch-debuginfo package for OVS userspace). +%undefine _enable_debug_packages + +# Use -D 'kversion 2.6.32-131.6.1.el6.x86_64' to build package +# for specified kernel version. +%{?kversion:%define kernel_version %kversion} + +# Use -D 'kflavors default debug kdump' to build packages for +# specified kernel variants. +%{!?kflavors:%define kflavors default} + +%kernel_module_package -n %{oname} -f %{SOURCE1} %kflavors + +%description +Open vSwitch Linux kernel module. + +%prep + +%setup -n %{oname}-%{version} + +%build +for flavor in %flavors_to_build; do + mkdir _$flavor + (cd _$flavor && ../configure --with-linux="%{kernel_source $flavor}") + %{__make} -C _$flavor/datapath/linux %{?_smp_mflags} +done + +%install +export INSTALL_MOD_PATH=$RPM_BUILD_ROOT +export INSTALL_MOD_DIR=extra/%{oname} +for flavor in %flavors_to_build ; do + make -C %{kernel_source $flavor} modules_install \ + M="`pwd`"/_$flavor/datapath/linux + + # Cleanup unnecessary kernel-generated module dependency files. + find $INSTALL_MOD_PATH/lib/modules -iname 'modules.*' -exec rm {} \; +done +install -d %{buildroot}%{_sysconfdir}/depmod.d/ +for module in %{buildroot}/lib/modules/%{kernel_version}/$INSTALL_MOD_DIR/*.ko; +do + modname="$(basename ${module})" + echo "override ${modname%.ko} * extra/%{oname}" >> %{oname}.conf + echo "override ${modname%.ko} * weak-updates/%{oname}" >> %{oname}.conf +done +install -m 644 %{oname}.conf %{buildroot}%{_sysconfdir}/depmod.d/ + +%post +# Ensure that modprobe will find our modules. +for k in $(cd /lib/modules && /bin/ls); do + [ -d "/lib/modules/$k/kernel/" ] && depmod -a "$k" +done +if [ -x "/sbin/weak-modules" ]; then + for m in openvswitch vport-gre vport-stt vport-geneve \ + vport-lisp vport-vxlan; do + echo "/lib/modules/%{kernel}/extra/$m.ko" + done | /sbin/weak-modules --add-modules +fi + +%postun +for k in $(cd /lib/modules && /bin/ls); do + [ -d "/lib/modules/$k/kernel/" ] && depmod -a "$k" +done +if [ "$1" = 0 ]; then # Erase, not upgrade + if [ -x "/sbin/weak-modules" ]; then + for m in openvswitch vport-gre vport-stt vport-geneve \ + vport-lisp vport-vxlan; do + echo "/lib/modules/%{kernel}/extra/$m.ko" + done | /sbin/weak-modules --remove-modules + fi +fi + +%files +%defattr(644,root,root) +/etc/depmod.d/%{oname}.conf + +%clean +rm -rf $RPM_BUILD_ROOT diff --git a/rhel/openvswitch-kmod-rhel6.spec.in b/rhel/openvswitch-kmod-rhel6.spec.in deleted file mode 100644 index daa3dad..0000000 --- a/rhel/openvswitch-kmod-rhel6.spec.in +++ /dev/null @@ -1,103 +0,0 @@ -# Spec file for Open vSwitch kernel modules on Red Hat Enterprise -# Linux 6. - -# Copyright (C) 2011, 2012 Nicira, 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 oname openvswitch - -Name: %{oname}-kmod -Version: @VERSION@ -Release: 1%{?dist} -Summary: Open vSwitch kernel module - -Group: System/Kernel -License: GPLv2 -URL: http://openvswitch.org/ -Source0: %{oname}-%{version}.tar.gz -Source1: %{oname}-kmod.files -BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) -BuildRequires: %kernel_module_package_buildreqs - -# Without this we get an empty openvswitch-debuginfo package (whose name -# conflicts with the openvswitch-debuginfo package for OVS userspace). -%undefine _enable_debug_packages - -# Use -D 'kversion 2.6.32-131.6.1.el6.x86_64' to build package -# for specified kernel version. -%{?kversion:%define kernel_version %kversion} - -# Use -D 'kflavors default debug kdump' to build packages for -# specified kernel variants. -%{!?kflavors:%define kflavors default} - -%kernel_module_package -n %{oname} -f %{SOURCE1} %kflavors - -%description -Open vSwitch Linux kernel module. - -%prep - -%setup -n %{oname}-%{version} - -%build -for flavor in %flavors_to_build; do - mkdir _$flavor - (cd _$flavor && ../configure --with-linux="%{kernel_source $flavor}") - %{__make} -C _$flavor/datapath/linux %{?_smp_mflags} -done - -%install -export INSTALL_MOD_PATH=$RPM_BUILD_ROOT -export INSTALL_MOD_DIR=extra/%{oname} -for flavor in %flavors_to_build ; do - make -C %{kernel_source $flavor} modules_install \ - M="`pwd`"/_$flavor/datapath/linux - - # Cleanup unnecessary kernel-generated module dependency files. - find $INSTALL_MOD_PATH/lib/modules -iname 'modules.*' -exec rm {} \; -done -install -d %{buildroot}%{_sysconfdir}/depmod.d/ -for module in %{buildroot}/lib/modules/%{kernel_version}/$INSTALL_MOD_DIR/*.ko; -do - modname="$(basename ${module})" - echo "override ${modname%.ko} * extra/%{oname}" >> %{oname}.conf - echo "override ${modname%.ko} * weak-updates/%{oname}" >> %{oname}.conf -done -install -m 644 %{oname}.conf %{buildroot}%{_sysconfdir}/depmod.d/ - -%post -# Ensure that modprobe will find our modules. -for k in $(cd /lib/modules && /bin/ls); do - [ -d "/lib/modules/$k/kernel/" ] && depmod -a "$k" -done -if [ -x "/sbin/weak-modules" ]; then - for m in openvswitch vport-gre vport-stt vport-geneve \ - vport-lisp vport-vxlan; do - echo "/lib/modules/%{kernel}/extra/$m.ko" - done | /sbin/weak-modules --add-modules -fi - -%postun -for k in $(cd /lib/modules && /bin/ls); do - [ -d "/lib/modules/$k/kernel/" ] && depmod -a "$k" -done -if [ "$1" = 0 ]; then # Erase, not upgrade - if [ -x "/sbin/weak-modules" ]; then - for m in openvswitch vport-gre vport-stt vport-geneve \ - vport-lisp vport-vxlan; do - echo "/lib/modules/%{kernel}/extra/$m.ko" - done | /sbin/weak-modules --remove-modules - fi -fi - -%files -%defattr(644,root,root) -/etc/depmod.d/%{oname}.conf - -%clean -rm -rf $RPM_BUILD_ROOT