diff options
Diffstat (limited to 'scripts/sphinx-pre-install')
| -rwxr-xr-x | scripts/sphinx-pre-install | 54 |
1 files changed, 42 insertions, 12 deletions
diff --git a/scripts/sphinx-pre-install b/scripts/sphinx-pre-install index 5d2799dcfceb..677756ae34c9 100755 --- a/scripts/sphinx-pre-install +++ b/scripts/sphinx-pre-install | |||
| @@ -216,7 +216,6 @@ sub check_sphinx() | |||
| 216 | $prog = findprog("virtualenv-3.5") if (!$prog); | 216 | $prog = findprog("virtualenv-3.5") if (!$prog); |
| 217 | 217 | ||
| 218 | check_program("virtualenv", 0) if (!$prog); | 218 | check_program("virtualenv", 0) if (!$prog); |
| 219 | check_program("pip", 0) if (!findprog("pip3")); | ||
| 220 | $need_sphinx = 1; | 219 | $need_sphinx = 1; |
| 221 | } else { | 220 | } else { |
| 222 | add_package("python-sphinx", 0); | 221 | add_package("python-sphinx", 0); |
| @@ -256,7 +255,6 @@ sub give_debian_hints() | |||
| 256 | "python-sphinx" => "python3-sphinx", | 255 | "python-sphinx" => "python3-sphinx", |
| 257 | "sphinx_rtd_theme" => "python3-sphinx-rtd-theme", | 256 | "sphinx_rtd_theme" => "python3-sphinx-rtd-theme", |
| 258 | "virtualenv" => "virtualenv", | 257 | "virtualenv" => "virtualenv", |
| 259 | "pip" => "python3-pip", | ||
| 260 | "dot" => "graphviz", | 258 | "dot" => "graphviz", |
| 261 | "convert" => "imagemagick", | 259 | "convert" => "imagemagick", |
| 262 | "Pod::Usage" => "perl-modules", | 260 | "Pod::Usage" => "perl-modules", |
| @@ -282,7 +280,6 @@ sub give_redhat_hints() | |||
| 282 | "python-sphinx" => "python3-sphinx", | 280 | "python-sphinx" => "python3-sphinx", |
| 283 | "sphinx_rtd_theme" => "python3-sphinx_rtd_theme", | 281 | "sphinx_rtd_theme" => "python3-sphinx_rtd_theme", |
| 284 | "virtualenv" => "python3-virtualenv", | 282 | "virtualenv" => "python3-virtualenv", |
| 285 | "pip" => "python3-pip", | ||
| 286 | "dot" => "graphviz", | 283 | "dot" => "graphviz", |
| 287 | "convert" => "ImageMagick", | 284 | "convert" => "ImageMagick", |
| 288 | "Pod::Usage" => "perl-Pod-Usage", | 285 | "Pod::Usage" => "perl-Pod-Usage", |
| @@ -302,6 +299,13 @@ sub give_redhat_hints() | |||
| 302 | "dejavu-sans-mono-fonts", | 299 | "dejavu-sans-mono-fonts", |
| 303 | ); | 300 | ); |
| 304 | 301 | ||
| 302 | # | ||
| 303 | # Checks valid for RHEL/CentOS version 7.x. | ||
| 304 | # | ||
| 305 | if (! $system_release =~ /Fedora/) { | ||
| 306 | $map{"virtualenv"} = "python-virtualenv"; | ||
| 307 | } | ||
| 308 | |||
| 305 | my $release; | 309 | my $release; |
| 306 | 310 | ||
| 307 | $release = $1 if ($system_release =~ /Fedora\s+release\s+(\d+)/); | 311 | $release = $1 if ($system_release =~ /Fedora\s+release\s+(\d+)/); |
| @@ -312,7 +316,14 @@ sub give_redhat_hints() | |||
| 312 | check_missing(\%map); | 316 | check_missing(\%map); |
| 313 | 317 | ||
| 314 | return if (!$need && !$optional); | 318 | return if (!$need && !$optional); |
| 315 | printf("You should run:\n\n\tsudo dnf install -y $install\n"); | 319 | |
| 320 | if ($release >= 18) { | ||
| 321 | # dnf, for Fedora 18+ | ||
| 322 | printf("You should run:\n\n\tsudo dnf install -y $install\n"); | ||
| 323 | } else { | ||
| 324 | # yum, for RHEL (and clones) or Fedora version < 18 | ||
| 325 | printf("You should run:\n\n\tsudo yum install -y $install\n"); | ||
| 326 | } | ||
| 316 | } | 327 | } |
| 317 | 328 | ||
| 318 | sub give_opensuse_hints() | 329 | sub give_opensuse_hints() |
| @@ -321,7 +332,6 @@ sub give_opensuse_hints() | |||
| 321 | "python-sphinx" => "python3-sphinx", | 332 | "python-sphinx" => "python3-sphinx", |
| 322 | "sphinx_rtd_theme" => "python3-sphinx_rtd_theme", | 333 | "sphinx_rtd_theme" => "python3-sphinx_rtd_theme", |
| 323 | "virtualenv" => "python3-virtualenv", | 334 | "virtualenv" => "python3-virtualenv", |
| 324 | "pip" => "python3-pip", | ||
| 325 | "dot" => "graphviz", | 335 | "dot" => "graphviz", |
| 326 | "convert" => "ImageMagick", | 336 | "convert" => "ImageMagick", |
| 327 | "Pod::Usage" => "perl-Pod-Usage", | 337 | "Pod::Usage" => "perl-Pod-Usage", |
| @@ -360,7 +370,6 @@ sub give_mageia_hints() | |||
| 360 | "python-sphinx" => "python3-sphinx", | 370 | "python-sphinx" => "python3-sphinx", |
| 361 | "sphinx_rtd_theme" => "python3-sphinx_rtd_theme", | 371 | "sphinx_rtd_theme" => "python3-sphinx_rtd_theme", |
| 362 | "virtualenv" => "python3-virtualenv", | 372 | "virtualenv" => "python3-virtualenv", |
| 363 | "pip" => "python3-pip", | ||
| 364 | "dot" => "graphviz", | 373 | "dot" => "graphviz", |
| 365 | "convert" => "ImageMagick", | 374 | "convert" => "ImageMagick", |
| 366 | "Pod::Usage" => "perl-Pod-Usage", | 375 | "Pod::Usage" => "perl-Pod-Usage", |
| @@ -372,8 +381,6 @@ sub give_mageia_hints() | |||
| 372 | "texlive-fontsextra", | 381 | "texlive-fontsextra", |
| 373 | ); | 382 | ); |
| 374 | 383 | ||
| 375 | my $release; | ||
| 376 | |||
| 377 | check_rpm_missing(\@tex_pkgs, 1) if ($pdf); | 384 | check_rpm_missing(\@tex_pkgs, 1) if ($pdf); |
| 378 | check_missing(\%map); | 385 | check_missing(\%map); |
| 379 | 386 | ||
| @@ -386,7 +393,6 @@ sub give_arch_linux_hints() | |||
| 386 | my %map = ( | 393 | my %map = ( |
| 387 | "sphinx_rtd_theme" => "python-sphinx_rtd_theme", | 394 | "sphinx_rtd_theme" => "python-sphinx_rtd_theme", |
| 388 | "virtualenv" => "python-virtualenv", | 395 | "virtualenv" => "python-virtualenv", |
| 389 | "pip" => "python-pip", | ||
| 390 | "dot" => "graphviz", | 396 | "dot" => "graphviz", |
| 391 | "convert" => "imagemagick", | 397 | "convert" => "imagemagick", |
| 392 | "xelatex" => "texlive-bin", | 398 | "xelatex" => "texlive-bin", |
| @@ -410,7 +416,6 @@ sub give_gentoo_hints() | |||
| 410 | my %map = ( | 416 | my %map = ( |
| 411 | "sphinx_rtd_theme" => "dev-python/sphinx_rtd_theme", | 417 | "sphinx_rtd_theme" => "dev-python/sphinx_rtd_theme", |
| 412 | "virtualenv" => "dev-python/virtualenv", | 418 | "virtualenv" => "dev-python/virtualenv", |
| 413 | "pip" => "dev-python/pip", | ||
| 414 | "dot" => "media-gfx/graphviz", | 419 | "dot" => "media-gfx/graphviz", |
| 415 | "convert" => "media-gfx/imagemagick", | 420 | "convert" => "media-gfx/imagemagick", |
| 416 | "xelatex" => "dev-texlive/texlive-xetex media-fonts/dejavu", | 421 | "xelatex" => "dev-texlive/texlive-xetex media-fonts/dejavu", |
| @@ -438,6 +443,18 @@ sub check_distros() | |||
| 438 | give_redhat_hints; | 443 | give_redhat_hints; |
| 439 | return; | 444 | return; |
| 440 | } | 445 | } |
| 446 | if ($system_release =~ /CentOS/) { | ||
| 447 | give_redhat_hints; | ||
| 448 | return; | ||
| 449 | } | ||
| 450 | if ($system_release =~ /Scientific Linux/) { | ||
| 451 | give_redhat_hints; | ||
| 452 | return; | ||
| 453 | } | ||
| 454 | if ($system_release =~ /Oracle Linux Server/) { | ||
| 455 | give_redhat_hints; | ||
| 456 | return; | ||
| 457 | } | ||
| 441 | if ($system_release =~ /Fedora/) { | 458 | if ($system_release =~ /Fedora/) { |
| 442 | give_redhat_hints; | 459 | give_redhat_hints; |
| 443 | return; | 460 | return; |
| @@ -488,9 +505,22 @@ sub check_distros() | |||
| 488 | sub check_needs() | 505 | sub check_needs() |
| 489 | { | 506 | { |
| 490 | if ($system_release) { | 507 | if ($system_release) { |
| 491 | print "Checking if the needed tools for $system_release are available\n"; | 508 | print "Detected OS: $system_release.\n"; |
| 492 | } else { | 509 | } else { |
| 493 | print "Checking if the needed tools are present\n"; | 510 | print "Unknown OS\n"; |
| 511 | } | ||
| 512 | |||
| 513 | # RHEL 7.x and clones have Sphinx version 1.1.x and incomplete texlive | ||
| 514 | if (($system_release =~ /Red Hat Enterprise Linux/) || | ||
| 515 | ($system_release =~ /CentOS/) || | ||
| 516 | ($system_release =~ /Scientific Linux/) || | ||
| 517 | ($system_release =~ /Oracle Linux Server/)) { | ||
| 518 | $virtualenv = 1; | ||
| 519 | $pdf = 0; | ||
| 520 | |||
| 521 | printf("NOTE: On this distro, Sphinx and TexLive shipped versions are incompatible\n"); | ||
| 522 | printf("with doc build. So, use Sphinx via a Python virtual environment.\n\n"); | ||
| 523 | printf("This script can't install a TexLive version that would provide PDF.\n"); | ||
| 494 | } | 524 | } |
| 495 | 525 | ||
| 496 | # Check for needed programs/tools | 526 | # Check for needed programs/tools |
