doc: allow sphinx build with no DPDK version

Message ID 027ca076ea8e2be6bd76987da23298ffd5db550f.1605782511.git.anatoly.burakov@intel.com (mailing list archive)
State Accepted, archived
Delegated to: David Marchand
Headers
Series doc: allow sphinx build with no DPDK version |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/travis-robot success Travis build: passed

Commit Message

Burakov, Anatoly Nov. 19, 2020, 10:41 a.m. UTC
  Currently, when building sphinx documentation, the build will only
succeed if being run from the build system, because the conf.py script
expects DPDK_VERSION environment variable to be set, and crashes if it
is not.

However, there are certain external tools (such as sphinx documentation
preview extensions for certain IDE's) that use live preview and thus
rely on running their own sphinx commands. In these cases, it is useful
to permit building sphinx documentation without specifying the
DPDK_VERSION environment variable. The version string is the only thing
preventing manual sphinx build commands from working.

Fix the conf.py to use "None" as a version string in cases when
DPDK_VERSION environment variable is not set.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
 doc/guides/conf.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Bruce Richardson Nov. 19, 2020, 11:24 a.m. UTC | #1
On Thu, Nov 19, 2020 at 10:41:56AM +0000, Anatoly Burakov wrote:
> Currently, when building sphinx documentation, the build will only
> succeed if being run from the build system, because the conf.py script
> expects DPDK_VERSION environment variable to be set, and crashes if it
> is not.
> 
> However, there are certain external tools (such as sphinx documentation
> preview extensions for certain IDE's) that use live preview and thus
> rely on running their own sphinx commands. In these cases, it is useful
> to permit building sphinx documentation without specifying the
> DPDK_VERSION environment variable. The version string is the only thing
> preventing manual sphinx build commands from working.
> 
> Fix the conf.py to use "None" as a version string in cases when
> DPDK_VERSION environment variable is not set.
> 
> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
> ---
>  doc/guides/conf.py | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/doc/guides/conf.py b/doc/guides/conf.py
> index 9de490e1c4..aceeb62a4f 100644
> --- a/doc/guides/conf.py
> +++ b/doc/guides/conf.py
> @@ -36,7 +36,7 @@
>  html_show_copyright = False
>  highlight_language = 'none'
>  
> -release = environ['DPDK_VERSION']
> +release = environ.setdefault('DPDK_VERSION', "None")
>  version = release

Since this is python, we can probably pull the value from the VERSION file
on the FS if it's not specified in the environment. However, for now in
terms of solving this problem, this version is ok.

Acked-by: Bruce Richardson <bruce.richardson@intel.com>
  
Burakov, Anatoly Nov. 19, 2020, 11:44 a.m. UTC | #2
On 19-Nov-20 11:24 AM, Bruce Richardson wrote:
> On Thu, Nov 19, 2020 at 10:41:56AM +0000, Anatoly Burakov wrote:
>> Currently, when building sphinx documentation, the build will only
>> succeed if being run from the build system, because the conf.py script
>> expects DPDK_VERSION environment variable to be set, and crashes if it
>> is not.
>>
>> However, there are certain external tools (such as sphinx documentation
>> preview extensions for certain IDE's) that use live preview and thus
>> rely on running their own sphinx commands. In these cases, it is useful
>> to permit building sphinx documentation without specifying the
>> DPDK_VERSION environment variable. The version string is the only thing
>> preventing manual sphinx build commands from working.
>>
>> Fix the conf.py to use "None" as a version string in cases when
>> DPDK_VERSION environment variable is not set.
>>
>> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
>> ---
>>   doc/guides/conf.py | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/doc/guides/conf.py b/doc/guides/conf.py
>> index 9de490e1c4..aceeb62a4f 100644
>> --- a/doc/guides/conf.py
>> +++ b/doc/guides/conf.py
>> @@ -36,7 +36,7 @@
>>   html_show_copyright = False
>>   highlight_language = 'none'
>>   
>> -release = environ['DPDK_VERSION']
>> +release = environ.setdefault('DPDK_VERSION', "None")
>>   version = release
> 
> Since this is python, we can probably pull the value from the VERSION file
> on the FS if it's not specified in the environment. However, for now in
> terms of solving this problem, this version is ok.
> 
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> 

Yes, we could, and i had that thought. I just decided to keep it simple 
and not depending on FS layout. If there's consensus that picking it up 
from FS is better approach, i can submit a v2.
  
Bruce Richardson Nov. 19, 2020, 11:48 a.m. UTC | #3
On Thu, Nov 19, 2020 at 11:44:06AM +0000, Burakov, Anatoly wrote:
> On 19-Nov-20 11:24 AM, Bruce Richardson wrote:
> > On Thu, Nov 19, 2020 at 10:41:56AM +0000, Anatoly Burakov wrote:
> > > Currently, when building sphinx documentation, the build will only
> > > succeed if being run from the build system, because the conf.py
> > > script expects DPDK_VERSION environment variable to be set, and
> > > crashes if it is not.
> > > 
> > > However, there are certain external tools (such as sphinx
> > > documentation preview extensions for certain IDE's) that use live
> > > preview and thus rely on running their own sphinx commands. In these
> > > cases, it is useful to permit building sphinx documentation without
> > > specifying the DPDK_VERSION environment variable. The version string
> > > is the only thing preventing manual sphinx build commands from
> > > working.
> > > 
> > > Fix the conf.py to use "None" as a version string in cases when
> > > DPDK_VERSION environment variable is not set.
> > > 
> > > Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com> ---
> > > doc/guides/conf.py | 2 +- 1 file changed, 1 insertion(+), 1
> > > deletion(-)
> > > 
> > > diff --git a/doc/guides/conf.py b/doc/guides/conf.py index
> > > 9de490e1c4..aceeb62a4f 100644 --- a/doc/guides/conf.py +++
> > > b/doc/guides/conf.py @@ -36,7 +36,7 @@ html_show_copyright = False
> > > highlight_language = 'none' -release = environ['DPDK_VERSION']
> > > +release = environ.setdefault('DPDK_VERSION', "None") version =
> > > release
> > 
> > Since this is python, we can probably pull the value from the VERSION
> > file on the FS if it's not specified in the environment. However, for
> > now in terms of solving this problem, this version is ok.
> > 
> > Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> > 
> 
> Yes, we could, and i had that thought. I just decided to keep it simple
> and not depending on FS layout. If there's consensus that picking it up
> from FS is better approach, i can submit a v2.
> 

My view is that it depends on whether you want this considered for 20.11.
If so, I'd suggest that a one-line fix is ok for possible inclusion. For
21.02, a fuller solution would probably be better.

/Bruce
  
Burakov, Anatoly Nov. 19, 2020, 12:03 p.m. UTC | #4
On 19-Nov-20 11:48 AM, Bruce Richardson wrote:
> On Thu, Nov 19, 2020 at 11:44:06AM +0000, Burakov, Anatoly wrote:
>> On 19-Nov-20 11:24 AM, Bruce Richardson wrote:
>>> On Thu, Nov 19, 2020 at 10:41:56AM +0000, Anatoly Burakov wrote:
>>>> Currently, when building sphinx documentation, the build will only
>>>> succeed if being run from the build system, because the conf.py
>>>> script expects DPDK_VERSION environment variable to be set, and
>>>> crashes if it is not.
>>>>
>>>> However, there are certain external tools (such as sphinx
>>>> documentation preview extensions for certain IDE's) that use live
>>>> preview and thus rely on running their own sphinx commands. In these
>>>> cases, it is useful to permit building sphinx documentation without
>>>> specifying the DPDK_VERSION environment variable. The version string
>>>> is the only thing preventing manual sphinx build commands from
>>>> working.
>>>>
>>>> Fix the conf.py to use "None" as a version string in cases when
>>>> DPDK_VERSION environment variable is not set.
>>>>
>>>> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com> ---
>>>> doc/guides/conf.py | 2 +- 1 file changed, 1 insertion(+), 1
>>>> deletion(-)
>>>>
>>>> diff --git a/doc/guides/conf.py b/doc/guides/conf.py index
>>>> 9de490e1c4..aceeb62a4f 100644 --- a/doc/guides/conf.py +++
>>>> b/doc/guides/conf.py @@ -36,7 +36,7 @@ html_show_copyright = False
>>>> highlight_language = 'none' -release = environ['DPDK_VERSION']
>>>> +release = environ.setdefault('DPDK_VERSION', "None") version =
>>>> release
>>>
>>> Since this is python, we can probably pull the value from the VERSION
>>> file on the FS if it's not specified in the environment. However, for
>>> now in terms of solving this problem, this version is ok.
>>>
>>> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
>>>
>>
>> Yes, we could, and i had that thought. I just decided to keep it simple
>> and not depending on FS layout. If there's consensus that picking it up
>> from FS is better approach, i can submit a v2.
>>
> 
> My view is that it depends on whether you want this considered for 20.11.
> If so, I'd suggest that a one-line fix is ok for possible inclusion. For
> 21.02, a fuller solution would probably be better.
> 
> /Bruce
> 

It would be nice if this was included in 20.11, so i'll leave it as is :)
  
Bruce Richardson Nov. 19, 2020, 12:22 p.m. UTC | #5
On Thu, Nov 19, 2020 at 12:03:11PM +0000, Burakov, Anatoly wrote:
> On 19-Nov-20 11:48 AM, Bruce Richardson wrote:
> > On Thu, Nov 19, 2020 at 11:44:06AM +0000, Burakov, Anatoly wrote:
> > > On 19-Nov-20 11:24 AM, Bruce Richardson wrote:
> > > > On Thu, Nov 19, 2020 at 10:41:56AM +0000, Anatoly Burakov wrote:
> > > > > Currently, when building sphinx documentation, the build will only
> > > > > succeed if being run from the build system, because the conf.py
> > > > > script expects DPDK_VERSION environment variable to be set, and
> > > > > crashes if it is not.
> > > > > 
> > > > > However, there are certain external tools (such as sphinx
> > > > > documentation preview extensions for certain IDE's) that use live
> > > > > preview and thus rely on running their own sphinx commands. In these
> > > > > cases, it is useful to permit building sphinx documentation without
> > > > > specifying the DPDK_VERSION environment variable. The version string
> > > > > is the only thing preventing manual sphinx build commands from
> > > > > working.
> > > > > 
> > > > > Fix the conf.py to use "None" as a version string in cases when
> > > > > DPDK_VERSION environment variable is not set.
> > > > > 
> > > > > Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com> ---
> > > > > doc/guides/conf.py | 2 +- 1 file changed, 1 insertion(+), 1
> > > > > deletion(-)
> > > > > 
> > > > > diff --git a/doc/guides/conf.py b/doc/guides/conf.py index
> > > > > 9de490e1c4..aceeb62a4f 100644 --- a/doc/guides/conf.py +++
> > > > > b/doc/guides/conf.py @@ -36,7 +36,7 @@ html_show_copyright = False
> > > > > highlight_language = 'none' -release = environ['DPDK_VERSION']
> > > > > +release = environ.setdefault('DPDK_VERSION', "None") version =
> > > > > release
> > > > 
> > > > Since this is python, we can probably pull the value from the VERSION
> > > > file on the FS if it's not specified in the environment. However, for
> > > > now in terms of solving this problem, this version is ok.
> > > > 
> > > > Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> > > > 
> > > 
> > > Yes, we could, and i had that thought. I just decided to keep it simple
> > > and not depending on FS layout. If there's consensus that picking it up
> > > from FS is better approach, i can submit a v2.
> > > 
> > 
> > My view is that it depends on whether you want this considered for 20.11.
> > If so, I'd suggest that a one-line fix is ok for possible inclusion. For
> > 21.02, a fuller solution would probably be better.
> > 
> > /Bruce
> > 
> 
> It would be nice if this was included in 20.11, so i'll leave it as is :)
>
Thought so. Therefore I suggest you also need feedback from Thomas or
David? Adding them on CC...
  
Thomas Monjalon Nov. 19, 2020, 2:11 p.m. UTC | #6
19/11/2020 13:22, Bruce Richardson:
> On Thu, Nov 19, 2020 at 12:03:11PM +0000, Burakov, Anatoly wrote:
> > On 19-Nov-20 11:48 AM, Bruce Richardson wrote:
> > > On Thu, Nov 19, 2020 at 11:44:06AM +0000, Burakov, Anatoly wrote:
> > > > On 19-Nov-20 11:24 AM, Bruce Richardson wrote:
> > > > > On Thu, Nov 19, 2020 at 10:41:56AM +0000, Anatoly Burakov wrote:
> > > > > > Currently, when building sphinx documentation, the build will only
> > > > > > succeed if being run from the build system, because the conf.py
> > > > > > script expects DPDK_VERSION environment variable to be set, and
> > > > > > crashes if it is not.
> > > > > > 
> > > > > > However, there are certain external tools (such as sphinx
> > > > > > documentation preview extensions for certain IDE's) that use live
> > > > > > preview and thus rely on running their own sphinx commands. In these
> > > > > > cases, it is useful to permit building sphinx documentation without
> > > > > > specifying the DPDK_VERSION environment variable. The version string
> > > > > > is the only thing preventing manual sphinx build commands from
> > > > > > working.
> > > > > > 
> > > > > > Fix the conf.py to use "None" as a version string in cases when
> > > > > > DPDK_VERSION environment variable is not set.
> > > > > > 
> > > > > > Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com> ---
> > > > > > doc/guides/conf.py | 2 +- 1 file changed, 1 insertion(+), 1
> > > > > > deletion(-)
> > > > > > 
> > > > > > diff --git a/doc/guides/conf.py b/doc/guides/conf.py index
> > > > > > 9de490e1c4..aceeb62a4f 100644 --- a/doc/guides/conf.py +++
> > > > > > b/doc/guides/conf.py @@ -36,7 +36,7 @@ html_show_copyright = False
> > > > > > highlight_language = 'none' -release = environ['DPDK_VERSION']
> > > > > > +release = environ.setdefault('DPDK_VERSION', "None") version =
> > > > > > release
> > > > > 
> > > > > Since this is python, we can probably pull the value from the VERSION
> > > > > file on the FS if it's not specified in the environment. However, for
> > > > > now in terms of solving this problem, this version is ok.
> > > > > 
> > > > > Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> > > > > 
> > > > 
> > > > Yes, we could, and i had that thought. I just decided to keep it simple
> > > > and not depending on FS layout. If there's consensus that picking it up
> > > > from FS is better approach, i can submit a v2.
> > > > 
> > > 
> > > My view is that it depends on whether you want this considered for 20.11.
> > > If so, I'd suggest that a one-line fix is ok for possible inclusion. For
> > > 21.02, a fuller solution would probably be better.
> > > 
> > > /Bruce
> > > 
> > 
> > It would be nice if this was included in 20.11, so i'll leave it as is :)
> >
> Thought so. Therefore I suggest you also need feedback from Thomas or
> David? Adding them on CC...

That's OK for me.
  
David Marchand Nov. 20, 2020, 9:19 a.m. UTC | #7
On Thu, Nov 19, 2020 at 11:42 AM Anatoly Burakov
<anatoly.burakov@intel.com> wrote:
>
> Currently, when building sphinx documentation, the build will only
> succeed if being run from the build system, because the conf.py script
> expects DPDK_VERSION environment variable to be set, and crashes if it
> is not.
>
> However, there are certain external tools (such as sphinx documentation
> preview extensions for certain IDE's) that use live preview and thus
> rely on running their own sphinx commands. In these cases, it is useful
> to permit building sphinx documentation without specifying the
> DPDK_VERSION environment variable. The version string is the only thing
> preventing manual sphinx build commands from working.
>
> Fix the conf.py to use "None" as a version string in cases when
> DPDK_VERSION environment variable is not set.
>
> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>

So now, no excuse for documentation patches that fail to build :-).

Applied, thanks.
  

Patch

diff --git a/doc/guides/conf.py b/doc/guides/conf.py
index 9de490e1c4..aceeb62a4f 100644
--- a/doc/guides/conf.py
+++ b/doc/guides/conf.py
@@ -36,7 +36,7 @@ 
 html_show_copyright = False
 highlight_language = 'none'
 
-release = environ['DPDK_VERSION']
+release = environ.setdefault('DPDK_VERSION', "None")
 version = release
 
 master_doc = 'index'