Re: [ovs-dev] [PATCH 2/6] doc: Avoid need to generate conf.py.

2017-04-14 Thread Ben Pfaff
On Fri, Apr 14, 2017 at 06:20:43PM +0100, Stephen Finucane wrote:
> On Thu, 2017-04-13 at 21:43 -0700, Ben Pfaff wrote:
> > It's awkward to have to at the same time generate conf.py from
> > conf.py.in
> > and to keep both versions in the repository.  This avoids the issue.
> > 
> > Signed-off-by: Ben Pfaff 
> > ---
> >  Documentation/automake.mk |  10 --
> >  Documentation/conf.py |  23 ++-
> >  Documentation/conf.py.in  | 349 
> > --
> >  3 files changed, 19 insertions(+), 363 deletions(-)
> >  delete mode 100644 Documentation/conf.py.in
> > 
> > diff --git a/Documentation/automake.mk b/Documentation/automake.mk
> > index ec60e0b1e831..9911668c1ca9 100644
> > --- a/Documentation/automake.mk
> > +++ b/Documentation/automake.mk
> > @@ -3,7 +3,6 @@ DOC_SOURCE = \
> >     Documentation/_static/logo.png \
> >     Documentation/_static/overview.png \
> >     Documentation/conf.py \
> > -   Documentation/conf.py.in \
> >     Documentation/index.rst \
> >     Documentation/contents.rst \
> >     Documentation/intro/index.rst \
> > @@ -125,15 +124,6 @@ clean-docs:
> >     rm -rf $(SPHINXBUILDDIR)/linkcheck
> >     rm -f docs-check
> >  CLEAN_LOCAL += clean-docs
> > -
> > -ALL_LOCAL += $(srcdir)/Documentation/conf.py
> > -$(srcdir)/Documentation/conf.py: $(srcdir)/Documentation/conf.py.in
> > -   $(AM_V_GEN)($(ro_shell) && sed -e
> > 's,[@]VERSION[@],$(VERSION),g' \
> > -   -e 's,[@]OVS_MAJOR[@],$(shell echo $(VERSION) | cut
> > -f1 -d.),g' \
> > -   -e 's,[@]OVS_MINOR[@],$(shell echo $(VERSION) | cut
> > -f2 -d.),g') \
> > -   < $(srcdir)/Documentation/$(@F).in > $(@F).tmp ||
> > exit 1; \
> > -   if cmp -s $(@F).tmp $@; then touch $@; rm $(@F).tmp; else mv
> > $(@F).tmp $@; fi
> > -
> >  endif
> >  .PHONY: check-docs
> >  .PHONY: clean-docs
> > diff --git a/Documentation/conf.py b/Documentation/conf.py
> > index ae672cbe7b0d..bfd7f33d88ba 100644
> > --- a/Documentation/conf.py
> > +++ b/Documentation/conf.py
> > @@ -1,4 +1,3 @@
> > -# Generated automatically -- do not modify!-*- buffer-read-only: 
> > t -*-
> >  # -*- coding: utf-8 -*-
> >  #
> >  # Open vSwitch documentation build configuration file, created by
> > @@ -63,10 +62,26 @@ author = u'The Open vSwitch Development
> > Community'
> >  # |version| and |release|, also used in various other places
> > throughout the
> >  # built documents.
> >  #
> > +import string
> > +import sys
> > +def get_release():
> > +filename = "../configure.ac"
> > +with open(filename, 'rU') as f:
> > +for line in f:
> > +if 'AC_INIT' in line:
> > +# Parse "AC_INIT(openvswitch, 2.7.90, bugs@openvswit
> > ch.org)":
> > +return line.split(',')[1].strip(string.whitespace +
> > '[]')
> > +sys.stderr.write('%s: failed to determine Open vSwitch
> > version\n'
> > + % filename)
> > +sys.exit(1)
> > +release = get_release() # The full version, including alpha/beta/rc
> > tags 
> > +
> >  # The short X.Y version.
> > -version = u'2.7'
> > -# The full version, including alpha/beta/rc tags.
> > -release = u'2.7.90'
> > +#
> > +# However, it's important to know the difference between, e.g., 2.7
> > +# and 2.7.90, which can be very different versions (2.7.90 may be
> > much
> > +# closer to 2.8 than to 2.7), so check for that.
> > +version = release if '.90' in release else
> > '.'.join(release.split('.')[0:2])
> 
> nit: You probably don't need to have this as a function. Might also
> want to run it through pep8/flake8. Other than that though, lgtm.
> 
> Acked-by: Stephen Finucane 

Thanks!  I made your and flake8's suggested changes and applied this to
master.
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH 2/6] doc: Avoid need to generate conf.py.

2017-04-14 Thread Stephen Finucane
On Thu, 2017-04-13 at 21:43 -0700, Ben Pfaff wrote:
> It's awkward to have to at the same time generate conf.py from
> conf.py.in
> and to keep both versions in the repository.  This avoids the issue.
> 
> Signed-off-by: Ben Pfaff 
> ---
>  Documentation/automake.mk |  10 --
>  Documentation/conf.py |  23 ++-
>  Documentation/conf.py.in  | 349 
> --
>  3 files changed, 19 insertions(+), 363 deletions(-)
>  delete mode 100644 Documentation/conf.py.in
> 
> diff --git a/Documentation/automake.mk b/Documentation/automake.mk
> index ec60e0b1e831..9911668c1ca9 100644
> --- a/Documentation/automake.mk
> +++ b/Documentation/automake.mk
> @@ -3,7 +3,6 @@ DOC_SOURCE = \
>   Documentation/_static/logo.png \
>   Documentation/_static/overview.png \
>   Documentation/conf.py \
> - Documentation/conf.py.in \
>   Documentation/index.rst \
>   Documentation/contents.rst \
>   Documentation/intro/index.rst \
> @@ -125,15 +124,6 @@ clean-docs:
>   rm -rf $(SPHINXBUILDDIR)/linkcheck
>   rm -f docs-check
>  CLEAN_LOCAL += clean-docs
> -
> -ALL_LOCAL += $(srcdir)/Documentation/conf.py
> -$(srcdir)/Documentation/conf.py: $(srcdir)/Documentation/conf.py.in
> - $(AM_V_GEN)($(ro_shell) && sed -e
> 's,[@]VERSION[@],$(VERSION),g' \
> - -e 's,[@]OVS_MAJOR[@],$(shell echo $(VERSION) | cut
> -f1 -d.),g' \
> - -e 's,[@]OVS_MINOR[@],$(shell echo $(VERSION) | cut
> -f2 -d.),g') \
> - < $(srcdir)/Documentation/$(@F).in > $(@F).tmp ||
> exit 1; \
> - if cmp -s $(@F).tmp $@; then touch $@; rm $(@F).tmp; else mv
> $(@F).tmp $@; fi
> -
>  endif
>  .PHONY: check-docs
>  .PHONY: clean-docs
> diff --git a/Documentation/conf.py b/Documentation/conf.py
> index ae672cbe7b0d..bfd7f33d88ba 100644
> --- a/Documentation/conf.py
> +++ b/Documentation/conf.py
> @@ -1,4 +1,3 @@
> -# Generated automatically -- do not modify!-*- buffer-read-only: 
> t -*-
>  # -*- coding: utf-8 -*-
>  #
>  # Open vSwitch documentation build configuration file, created by
> @@ -63,10 +62,26 @@ author = u'The Open vSwitch Development
> Community'
>  # |version| and |release|, also used in various other places
> throughout the
>  # built documents.
>  #
> +import string
> +import sys
> +def get_release():
> +filename = "../configure.ac"
> +with open(filename, 'rU') as f:
> +for line in f:
> +if 'AC_INIT' in line:
> +# Parse "AC_INIT(openvswitch, 2.7.90, bugs@openvswit
> ch.org)":
> +return line.split(',')[1].strip(string.whitespace +
> '[]')
> +sys.stderr.write('%s: failed to determine Open vSwitch
> version\n'
> + % filename)
> +sys.exit(1)
> +release = get_release() # The full version, including alpha/beta/rc
> tags 
> +
>  # The short X.Y version.
> -version = u'2.7'
> -# The full version, including alpha/beta/rc tags.
> -release = u'2.7.90'
> +#
> +# However, it's important to know the difference between, e.g., 2.7
> +# and 2.7.90, which can be very different versions (2.7.90 may be
> much
> +# closer to 2.8 than to 2.7), so check for that.
> +version = release if '.90' in release else
> '.'.join(release.split('.')[0:2])

nit: You probably don't need to have this as a function. Might also
want to run it through pep8/flake8. Other than that though, lgtm.

Acked-by: Stephen Finucane 

>  # The language for content autogenerated by Sphinx. Refer to
> documentation
>  # for a list of supported languages.
> diff --git a/Documentation/conf.py.in b/Documentation/conf.py.in
> deleted file mode 100644
> index 5ed7006228f2..
> --- a/Documentation/conf.py.in
> +++ /dev/null
> @@ -1,349 +0,0 @@
> -# -*- coding: utf-8 -*-
> -#
> -# Open vSwitch documentation build configuration file, created by
> -# sphinx-quickstart on Fri Sep 30 09:57:36 2016.
> -#
> -# This file is execfile()d with the current directory set to its
> -# containing dir.
> -#
> -# Note that not all possible configuration values are present in
> this
> -# autogenerated file.
> -#
> -# All configuration values have a default; values that are commented
> out
> -# serve to show the default.
> -
> -# If extensions (or modules to document with autodoc) are in another
> directory,
> -# add these directories to sys.path here. If the directory is
> relative to the
> -# documentation root, use os.path.abspath to make it absolute, like
> shown here.
> -#
> -# import os
> -# import sys
> -# sys.path.insert(0, os.path.abspath('.'))
> -try:
> -import ovs_sphinx_theme
> -use_ovs_theme = True
> -except ImportError:
> -print("Cannot find 'ovs_sphinx' package. Falling back to default
> theme.")
> -use_ovs_theme = False
> -
> -# -- General configuration ---
> -
> -
> -# If your documentation needs a minimal Sphinx version, state it
> here.
> -#
> -needs_sphinx = '1.1'
> -
> -# Add any Sphinx extension module names here, as strings. They can
> be
> -# e

[ovs-dev] [PATCH 2/6] doc: Avoid need to generate conf.py.

2017-04-13 Thread Ben Pfaff
It's awkward to have to at the same time generate conf.py from conf.py.in
and to keep both versions in the repository.  This avoids the issue.

Signed-off-by: Ben Pfaff 
---
 Documentation/automake.mk |  10 --
 Documentation/conf.py |  23 ++-
 Documentation/conf.py.in  | 349 --
 3 files changed, 19 insertions(+), 363 deletions(-)
 delete mode 100644 Documentation/conf.py.in

diff --git a/Documentation/automake.mk b/Documentation/automake.mk
index ec60e0b1e831..9911668c1ca9 100644
--- a/Documentation/automake.mk
+++ b/Documentation/automake.mk
@@ -3,7 +3,6 @@ DOC_SOURCE = \
Documentation/_static/logo.png \
Documentation/_static/overview.png \
Documentation/conf.py \
-   Documentation/conf.py.in \
Documentation/index.rst \
Documentation/contents.rst \
Documentation/intro/index.rst \
@@ -125,15 +124,6 @@ clean-docs:
rm -rf $(SPHINXBUILDDIR)/linkcheck
rm -f docs-check
 CLEAN_LOCAL += clean-docs
-
-ALL_LOCAL += $(srcdir)/Documentation/conf.py
-$(srcdir)/Documentation/conf.py: $(srcdir)/Documentation/conf.py.in
-   $(AM_V_GEN)($(ro_shell) && sed -e 's,[@]VERSION[@],$(VERSION),g' \
-   -e 's,[@]OVS_MAJOR[@],$(shell echo $(VERSION) | cut -f1 -d.),g' 
\
-   -e 's,[@]OVS_MINOR[@],$(shell echo $(VERSION) | cut -f2 
-d.),g') \
-   < $(srcdir)/Documentation/$(@F).in > $(@F).tmp || exit 1; \
-   if cmp -s $(@F).tmp $@; then touch $@; rm $(@F).tmp; else mv $(@F).tmp 
$@; fi
-
 endif
 .PHONY: check-docs
 .PHONY: clean-docs
diff --git a/Documentation/conf.py b/Documentation/conf.py
index ae672cbe7b0d..bfd7f33d88ba 100644
--- a/Documentation/conf.py
+++ b/Documentation/conf.py
@@ -1,4 +1,3 @@
-# Generated automatically -- do not modify!-*- buffer-read-only: t -*-
 # -*- coding: utf-8 -*-
 #
 # Open vSwitch documentation build configuration file, created by
@@ -63,10 +62,26 @@ author = u'The Open vSwitch Development Community'
 # |version| and |release|, also used in various other places throughout the
 # built documents.
 #
+import string
+import sys
+def get_release():
+filename = "../configure.ac"
+with open(filename, 'rU') as f:
+for line in f:
+if 'AC_INIT' in line:
+# Parse "AC_INIT(openvswitch, 2.7.90, b...@openvswitch.org)":
+return line.split(',')[1].strip(string.whitespace + '[]')
+sys.stderr.write('%s: failed to determine Open vSwitch version\n'
+ % filename)
+sys.exit(1)
+release = get_release() # The full version, including alpha/beta/rc tags.
+
 # The short X.Y version.
-version = u'2.7'
-# The full version, including alpha/beta/rc tags.
-release = u'2.7.90'
+#
+# However, it's important to know the difference between, e.g., 2.7
+# and 2.7.90, which can be very different versions (2.7.90 may be much
+# closer to 2.8 than to 2.7), so check for that.
+version = release if '.90' in release else '.'.join(release.split('.')[0:2])
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
diff --git a/Documentation/conf.py.in b/Documentation/conf.py.in
deleted file mode 100644
index 5ed7006228f2..
--- a/Documentation/conf.py.in
+++ /dev/null
@@ -1,349 +0,0 @@
-# -*- coding: utf-8 -*-
-#
-# Open vSwitch documentation build configuration file, created by
-# sphinx-quickstart on Fri Sep 30 09:57:36 2016.
-#
-# This file is execfile()d with the current directory set to its
-# containing dir.
-#
-# Note that not all possible configuration values are present in this
-# autogenerated file.
-#
-# All configuration values have a default; values that are commented out
-# serve to show the default.
-
-# If extensions (or modules to document with autodoc) are in another directory,
-# add these directories to sys.path here. If the directory is relative to the
-# documentation root, use os.path.abspath to make it absolute, like shown here.
-#
-# import os
-# import sys
-# sys.path.insert(0, os.path.abspath('.'))
-try:
-import ovs_sphinx_theme
-use_ovs_theme = True
-except ImportError:
-print("Cannot find 'ovs_sphinx' package. Falling back to default theme.")
-use_ovs_theme = False
-
-# -- General configuration 
-
-# If your documentation needs a minimal Sphinx version, state it here.
-#
-needs_sphinx = '1.1'
-
-# Add any Sphinx extension module names here, as strings. They can be
-# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
-# ones.
-extensions = []
-
-# Add any paths that contain templates here, relative to this directory.
-templates_path = ['_templates']
-
-# The suffix(es) of source filenames.
-# You can specify multiple suffix as a list of string:
-#
-# source_suffix = ['.rst', '.md']
-source_suffix = '.rst'
-
-# The encoding of source files.
-#
-# source_encoding = 'utf-8-sig'
-
-# The master toctree document.
-master_doc