• Mauro Carvalho Chehab's avatar
    scripts/sphinx-pre-install: always check if version is compatible with build · 9b88ad54
    Mauro Carvalho Chehab authored
    Call the script every time a make docs target is selected, on
    a simplified check mode.
    
    With this change, the script will set two vars:
    
    $min_version - obtained from `needs_sphinx` var inside
    	       conf.py (currently, '1.3')
    
    $rec_version - obtained from sphinx/requirements.txt.
    
    With those changes, a target like "make htmldocs" will do:
    
    1) If no sphinx-build/sphinx-build3 is found, it will run
       the script on normal mode as before, checking for all
       system dependencies and providing install hints for the
       needed programs and will abort the build;
    
    2) If no sphinx-build/sphinx-build3 is found, but there is
       a sphinx_${VER}/bin/activate file, and if
       ${VER} >= $min_version (string comparation), it will
       run in full mode, and will recommend to activate the
       virtualenv. If there are multiple virtualenvs, it
       will string sort the versions, recommending the
       highest version and will abort the build;
    
    3) If Sphinx is detected but has a version lower than
       $min_version, it will run in full mode - with will
       recommend creating a virtual env using sphinx/requirements.txt,
       and will abort the build.
    
    4) If Sphinx is detected and version is lower than
       $rec_version, it will run in full mode and will
       recommend creating a virtual env using sphinx/requirements.txt.
    
       In this case, it **won't** abort the build.
    
    5) If Sphinx is detected and version is equal or righer than
       $rec_version it will return just after detecting the
       version ("quick mode"), not checking if are there any
       missing dependencies.
    
    Just like before, if one wants to install Sphinx from the
    distro, it has to call the script manually and use `--no-virtualenv`
    argument to get the hints for his OS:
    
        You should run:
    
    	sudo dnf install -y python3-sphinx python3-sphinx_rtd_theme
    
    While here, add a small help for the three optional arguments
    for the script.
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
    9b88ad54
sphinx-pre-install 16 KB