There's a redundant newline at the end of xenserver/automake.mk Otherwise looks good to me assuming you tried the new instructions.
Ethan On Thu, Feb 2, 2012 at 16:38, Ben Pfaff <b...@nicira.com> wrote: > I got tired of trying to follow them properly myself. > > Signed-off-by: Ben Pfaff <b...@nicira.com> > --- > INSTALL.XenServer | 53 > +++++++++++++------- > rhel/automake.mk | 10 ++-- > xenserver/automake.mk | 9 +++- > xenserver/openvswitch-xen.spec | 11 ++++ > ...penvswitch-xen.spec => openvswitch-xen.spec.in} | 11 ++++ > 5 files changed, 70 insertions(+), 24 deletions(-) > copy xenserver/{openvswitch-xen.spec => openvswitch-xen.spec.in} (97%) > > diff --git a/INSTALL.XenServer b/INSTALL.XenServer > index 827a840..02c9a66 100644 > --- a/INSTALL.XenServer > +++ b/INSTALL.XenServer > @@ -10,30 +10,51 @@ These instructions have been tested with XenServer 5.6 > FP1. > Building Open vSwitch for XenServer > ----------------------------------- > > -The recommended build environment to build RPMs for Citrix XenServer > -is the DDK VM available from Citrix. If you are building from an Open > -vSwitch distribution tarball, this VM has all the tools that you will > -need. If you are building from an Open vSwitch Git tree, then you > -will need to first create a distribution tarball elsewhere, by running > -"./boot.sh; ./configure; make dist" in the Git tree, because the DDK > -VM does not include Autoconf or Automake that are required to > -bootstrap the Open vSwitch distribution. > - > -Once you have a distribution tarball, copy it into > -/usr/src/redhat/SOURCES inside the VM. Then execute the following: > +You may build from an Open vSwitch distribution tarball or from an > +Open vSwitch Git tree. The recommended build environment to build > +RPMs for Citrix XenServer is the DDK VM available from Citrix. > + > +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. You cannot run this in > + the DDK VM, because it lacks tools that are necessary to bootstrap > + the Open vSwitch distribution. Instead, you must run this on a > + machine that has the tools listed in INSTALL.Linux as prerequisites > + for building from a Git tree. > + > +2. Copy the distribution tarball into /usr/src/redhat/SOURCES inside > + the DDK VM. > + > +3. In the DDK VM, 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 xenserver/openvswitch-xen.spec > + > + This produces three RPMs in /usr/src/redhat/RPMS/i386: > + "openvswitch", "openvswitch-modules-xen", and > + "openvswitch-debuginfo". > + > +Build Parameters > +---------------- > + > +openvswitch-xen.spec needs to know a number of pieces of information > +about the XenServer kernel. Usually, it can figure these out for > +itself, but if it does not do it correctly then you can specify them > +yourself as parameters to the build. Thus, the final "rpmbuild" step > +above can be elaborated as: > > VERSION=<Open vSwitch version> > KERNEL_NAME=<Xen Kernel name> > KERNEL_VERSION=<Xen Kernel version> > KERNEL_FLAVOR=<Xen Kernel flavor(suffix) > > - cd /tmp > - tar xfz /usr/src/redhat/SOURCES/openvswitch-$VERSION.tar.gz > rpmbuild \ > -D "openvswitch_version $VERSION" \ > -D "kernel_name $KERNEL_NAME" \ > -D "kernel_version $KERNEL_VERSION" \ > -D "kernel_flavor $KERNEL_FLAVOR" \ > - -bb openvswitch-$VERSION/xenserver/openvswitch-xen.spec > + -bb xenserver/openvswitch-xen.spec > > where: > > @@ -52,10 +73,6 @@ where: > The "xen" flavor is the main running kernel flavor and the "kdump" flavor > is > the crashdump kernel flavor. Commonly, one would specify "xen" here. > > -Three RPMs will be output into /usr/src/redhat/RPMS/i386, whose names begin > -with "openvswitch", "openvswitch-modules-xen" (if building for > kernel_flavor=xen), > -and "openvswitch-debuginfo". > - > Installing Open vSwitch for XenServer > ------------------------------------- > > diff --git a/rhel/automake.mk b/rhel/automake.mk > index 3682541..87c4552 100644 > --- a/rhel/automake.mk > +++ b/rhel/automake.mk > @@ -1,4 +1,4 @@ > -# Copyright (C) 2009, 2010, 2011 Nicira Networks, Inc. > +# Copyright (C) 2009, 2010, 2011, 2012 Nicira Networks, Inc. > # > # Copying and distribution of this file, with or without modification, > # are permitted in any medium without royalty provided the copyright > @@ -21,16 +21,16 @@ EXTRA_DIST += \ > rhel/openvswitch.spec.in \ > rhel/usr_share_openvswitch_scripts_sysconfig.template > > -update_spec = \ > +update_rhel_spec = \ > ($(ro_shell) && sed -e 's,[@]VERSION[@],$(VERSION),g') \ > < $(srcdir)/rhel/$(@F).in > $(@F).tmp || exit 1; \ > if cmp -s $(@F).tmp $@; then touch $@; rm $(@F).tmp; else mv $(@F).tmp $@; > fi > > $(srcdir)/rhel/openvswitch-kmod-rhel5.spec: > rhel/openvswitch-kmod-rhel5.spec.in $(top_builddir)/config.status > - $(update_spec) > + $(update_rhel_spec) > > $(srcdir)/rhel/openvswitch-kmod-rhel6.spec: > rhel/openvswitch-kmod-rhel6.spec.in $(top_builddir)/config.status > - $(update_spec) > + $(update_rhel_spec) > > $(srcdir)/rhel/openvswitch.spec: rhel/openvswitch.spec.in > $(top_builddir)/config.status > - $(update_spec) > + $(update_rhel_spec) > diff --git a/xenserver/automake.mk b/xenserver/automake.mk > index 02fc65f..133448d 100644 > --- a/xenserver/automake.mk > +++ b/xenserver/automake.mk > @@ -1,4 +1,4 @@ > -# Copyright (C) 2009, 2010, 2011 Nicira Networks, Inc. > +# Copyright (C) 2009, 2010, 2011, 2012 Nicira Networks, Inc. > # > # Copying and distribution of this file, with or without modification, > # are permitted in any medium without royalty provided the copyright > @@ -17,6 +17,7 @@ EXTRA_DIST += \ > xenserver/etc_xapi.d_plugins_openvswitch-cfg-update \ > xenserver/etc_xensource_scripts_vif \ > xenserver/openvswitch-xen.spec \ > + xenserver/openvswitch-xen.spec.in \ > xenserver/opt_xensource_libexec_InterfaceReconfigure.py \ > xenserver/opt_xensource_libexec_InterfaceReconfigureBridge.py \ > xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py \ > @@ -24,3 +25,9 @@ EXTRA_DIST += \ > xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch.py \ > xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync \ > xenserver/usr_share_openvswitch_scripts_sysconfig.template > + > +$(srcdir)/xenserver/openvswitch-xen.spec: xenserver/openvswitch-xen.spec.in > $(top_builddir)/config.status > + ($(ro_shell) && sed -e 's,[@]VERSION[@],$(VERSION),g') \ > + < $(srcdir)/xenserver/$(@F).in > $(@F).tmp || exit 1; \ > + if cmp -s $(@F).tmp $@; then touch $@; rm $(@F).tmp; else mv $(@F).tmp $@; > fi > + > diff --git a/xenserver/openvswitch-xen.spec b/xenserver/openvswitch-xen.spec > index 29c3c1f..4fbb425 100644 > --- a/xenserver/openvswitch-xen.spec > +++ b/xenserver/openvswitch-xen.spec > @@ -19,6 +19,17 @@ > # -D "build_number --with-build-number=123" > # -bb /usr/src/redhat/SPECS/openvswitch-xen.spec > > +%if %{?openvswitch_version:0}%{!?openvswitch_version:1} > +%define openvswitch_version 1.5.90 > +%endif > + > +%if %{?kernel_name:0}%{!?kernel_name:1} > +%define kernel %(rpm -qa 'kernel*xen-devel') > +%define kernel_name %(rpm -q --queryformat "%%{Name}" %{kernel} | sed > 's/-devel//' | sed 's/kernel-//') > +%define kernel_version %(rpm -q --queryformat "%%{Version}-%%{Release}" > %{kernel}) > +%define kernel_flavor xen > +%endif > + > %define xen_version %{kernel_version}%{kernel_flavor} > > # bump this when breaking compatibility with userspace > diff --git a/xenserver/openvswitch-xen.spec > b/xenserver/openvswitch-xen.spec.in > similarity index 97% > copy from xenserver/openvswitch-xen.spec > copy to xenserver/openvswitch-xen.spec.in > index 29c3c1f..7ab5af8 100644 > --- a/xenserver/openvswitch-xen.spec > +++ b/xenserver/openvswitch-xen.spec.in > @@ -19,6 +19,17 @@ > # -D "build_number --with-build-number=123" > # -bb /usr/src/redhat/SPECS/openvswitch-xen.spec > > +%if %{?openvswitch_version:0}%{!?openvswitch_version:1} > +%define openvswitch_version @VERSION@ > +%endif > + > +%if %{?kernel_name:0}%{!?kernel_name:1} > +%define kernel %(rpm -qa 'kernel*xen-devel' | head -1) > +%define kernel_name %(rpm -q --queryformat "%%{Name}" %{kernel} | sed > 's/-devel//' | sed 's/kernel-//') > +%define kernel_version %(rpm -q --queryformat "%%{Version}-%%{Release}" > %{kernel}) > +%define kernel_flavor xen > +%endif > + > %define xen_version %{kernel_version}%{kernel_flavor} > > # bump this when breaking compatibility with userspace > -- > 1.7.2.5 > > _______________________________________________ > dev mailing list > dev@openvswitch.org > http://openvswitch.org/mailman/listinfo/dev _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev