kameleon-builder 2.0.0.dev
Sign up to get free protection for your applications and to get access to all the features.
- data/.editorconfig +23 -0
- data/.env +51 -0
- data/.gitignore +22 -0
- data/AUTHORS +19 -0
- data/CHANGELOG +36 -0
- data/COPYING +340 -0
- data/Gemfile +4 -0
- data/README.md +53 -0
- data/Rakefile +24 -0
- data/Vagrantfile +68 -0
- data/bin/kameleon +16 -0
- data/contrib/kameleon_bashrc.sh +138 -0
- data/contrib/scripts/VirtualBox_deploy.sh +12 -0
- data/contrib/scripts/chroot_env +9 -0
- data/contrib/scripts/create_passwd.py +17 -0
- data/contrib/scripts/umount-chroot.sh +290 -0
- data/contrib/steps/bootstrap/debian/bootstrap_if_needed.yaml +47 -0
- data/contrib/steps/bootstrap/debian/bootstrap_static.yaml +38 -0
- data/contrib/steps/setup/add_timestamp.yaml +6 -0
- data/contrib/steps/setup/autologin.yaml +16 -0
- data/contrib/steps/setup/copy_ssh_auth_file.yaml +10 -0
- data/contrib/steps/setup/debian/add_network_interface.yaml +7 -0
- data/contrib/steps/setup/debian/cluster_tools_install.yaml +16 -0
- data/contrib/steps/setup/debian/network_config_static.yaml +17 -0
- data/contrib/steps/setup/generate_user_ssh_key.yaml +15 -0
- data/contrib/steps/setup/install_my_ssh_key.yaml +26 -0
- data/contrib/steps/setup/make_swap_file.yaml +9 -0
- data/contrib/steps/setup/root_ssh_config.yaml +18 -0
- data/contrib/steps/setup/set_user_password.yaml +7 -0
- data/contrib/steps/setup/system_optimization.yaml +8 -0
- data/docs/.gitignore +1 -0
- data/docs/Makefile +177 -0
- data/docs/make.bat +242 -0
- data/docs/source/_static/.gitignore +0 -0
- data/docs/source/aliases.rst +29 -0
- data/docs/source/checkpoint.rst +28 -0
- data/docs/source/cli.rst +3 -0
- data/docs/source/commands.rst +62 -0
- data/docs/source/conf.py +254 -0
- data/docs/source/context.rst +42 -0
- data/docs/source/faq.rst +3 -0
- data/docs/source/getting_started.rst +3 -0
- data/docs/source/index.rst +38 -0
- data/docs/source/installation.rst +3 -0
- data/docs/source/recipe.rst +256 -0
- data/docs/source/why.rst +3 -0
- data/docs/source/workspace.rst +11 -0
- data/kameleon-builder.gemspec +37 -0
- data/lib/kameleon.rb +75 -0
- data/lib/kameleon/cli.rb +176 -0
- data/lib/kameleon/context.rb +83 -0
- data/lib/kameleon/engine.rb +357 -0
- data/lib/kameleon/environment.rb +38 -0
- data/lib/kameleon/error.rb +51 -0
- data/lib/kameleon/logger.rb +53 -0
- data/lib/kameleon/recipe.rb +474 -0
- data/lib/kameleon/shell.rb +290 -0
- data/lib/kameleon/step.rb +213 -0
- data/lib/kameleon/utils.rb +45 -0
- data/lib/kameleon/version.rb +3 -0
- data/templates/COPYRIGHT +21 -0
- data/templates/aliases/defaults.yaml +83 -0
- data/templates/checkpoints/docker.yaml +14 -0
- data/templates/checkpoints/qcow2.yaml +44 -0
- data/templates/debian-wheezy-chroot.yaml +98 -0
- data/templates/debian-wheezy-docker.yaml +97 -0
- data/templates/fedora-docker.yaml +96 -0
- data/templates/steps/bootstrap/debian/debootstrap.yaml +13 -0
- data/templates/steps/bootstrap/fedora/docker_bootstrap.yaml +25 -0
- data/templates/steps/bootstrap/fedora/yum_bootstrap.yaml +22 -0
- data/templates/steps/bootstrap/prepare_appliance_with_nbd.yaml +93 -0
- data/templates/steps/bootstrap/prepare_docker.yaml +38 -0
- data/templates/steps/bootstrap/start_chroot.yaml +53 -0
- data/templates/steps/bootstrap/start_docker.yaml +12 -0
- data/templates/steps/export/build_appliance_from_docker.yaml +105 -0
- data/templates/steps/export/clean_appliance.yaml +3 -0
- data/templates/steps/export/save_appliance_from_nbd.yaml +54 -0
- data/templates/steps/setup/create_user.yaml +12 -0
- data/templates/steps/setup/debian/kernel_install.yaml +20 -0
- data/templates/steps/setup/debian/keyboard_config.yaml +10 -0
- data/templates/steps/setup/debian/network_config.yaml +30 -0
- data/templates/steps/setup/debian/software_install.yaml +15 -0
- data/templates/steps/setup/debian/system_config.yaml +12 -0
- data/templates/steps/setup/fedora/kernel_install.yaml +27 -0
- data/templates/steps/setup/fedora/software_install.yaml +10 -0
- data/tests/helper.rb +22 -0
- data/tests/recipes/dummy_recipe.yaml +48 -0
- data/tests/recipes/steps/bootstrap/dummy_distro/dummy_bootstrap_static.yaml +4 -0
- data/tests/recipes/steps/export/dummy_save_appliance.yaml +9 -0
- data/tests/recipes/steps/setup/default/dummy_root_passwd.yaml +8 -0
- data/tests/recipes/steps/setup/dummy_distro/dummy_software_install.yaml +7 -0
- data/tests/test_context.rb +16 -0
- data/tests/test_recipe.rb +15 -0
- data/tests/test_version.rb +9 -0
- metadata +300 -0
@@ -0,0 +1,47 @@
|
|
1
|
+
# This step store the bootstrap for a particular distrib and achitechture
|
2
|
+
# to avoid downloading on every execution
|
3
|
+
# Bootstrap if needed
|
4
|
+
- debootstrap:
|
5
|
+
- exec_out: |
|
6
|
+
export tgz_bootstrap_file=$(echo "../$$workdir""/bootstrap/""$$distrib""_$$debian_version_name""_$$arch"".tar.gz")
|
7
|
+
mkdir -p $(dirname $tgz_bootstrap_file)
|
8
|
+
if [ ! -f "$tgz_bootstrap_file" ]
|
9
|
+
then
|
10
|
+
debootstrap --arch=$$arch $$debian_version_name $$rootfs $$distrib_repository
|
11
|
+
tar zcf $tgz_bootstrap_file -C $$rootfs --numeric-owner --one-file-system .
|
12
|
+
else
|
13
|
+
tar zxf $tgz_bootstrap_file -C $$rootfs
|
14
|
+
cp -f /etc/resolv.conf $$rootfs/etc
|
15
|
+
fi
|
16
|
+
#- include:
|
17
|
+
# - mount_proc
|
18
|
+
- mount_dev:
|
19
|
+
- exec_out: mount -o bind /dev $$rootfs/dev
|
20
|
+
- on_setup_clean: |
|
21
|
+
if mountpoint -q $$rootfs/dev
|
22
|
+
then umount $$rootfs/dev
|
23
|
+
fi
|
24
|
+
|
25
|
+
- exec_out: mount -o bind /dev/pts $$rootfs/dev/pts
|
26
|
+
- on_setup_clean: |
|
27
|
+
if mountpoint -q $$rootfs/dev/pts
|
28
|
+
then umount $$rootfs/dev/pts
|
29
|
+
fi
|
30
|
+
- mount_proc:
|
31
|
+
- exec_out: mount -o bind /proc $$rootfs/proc
|
32
|
+
- on_setup_clean: |
|
33
|
+
if mountpoint -q $$rootfs/proc
|
34
|
+
then umount $$rootfs/proc
|
35
|
+
fi
|
36
|
+
- mount_sys:
|
37
|
+
- exec_out: mount -o bind /sys $$rootfs/sys
|
38
|
+
- on_setup_clean: |
|
39
|
+
if mountpoint -q $$rootfs/sys
|
40
|
+
then umount $$rootfs/sys
|
41
|
+
fi
|
42
|
+
|
43
|
+
- update_bootstrap:
|
44
|
+
- exec_in: |
|
45
|
+
DEBIAN_FRONTEND=noninteractive apt-get -y --force-yes update
|
46
|
+
DEBIAN_FRONTEND=noninteractive apt-get -y --force-yes dist-upgrade
|
47
|
+
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# # Bootstrap Static
|
2
|
+
- debootstrap:
|
3
|
+
- check_cmd: cdebootstrap-static
|
4
|
+
- exec_out: |
|
5
|
+
cdebootstrap-static \
|
6
|
+
--verbose \
|
7
|
+
--allow-unauthenticated \
|
8
|
+
--arch=$$arch \
|
9
|
+
--include=locales \
|
10
|
+
$$debian_version_name \
|
11
|
+
$$rootfs \
|
12
|
+
$$distrib_repository
|
13
|
+
#- include:
|
14
|
+
# - mount_proc
|
15
|
+
- mount_dev:
|
16
|
+
- exec_out: mount -o bind /dev $$rootfs/dev
|
17
|
+
- on_setup_clean: |
|
18
|
+
if mountpoint -q $$rootfs/dev
|
19
|
+
then umount $$rootfs/dev
|
20
|
+
fi
|
21
|
+
|
22
|
+
- exec_out: mount -o bind /dev/pts $$rootfs/dev/pts
|
23
|
+
- on_setup_clean: |
|
24
|
+
if mountpoint -q $$rootfs/dev/pts
|
25
|
+
then umount $$rootfs/dev/pts
|
26
|
+
fi
|
27
|
+
- mount_proc:
|
28
|
+
- exec_out: mount -o bind /proc $$rootfs/proc
|
29
|
+
- on_setup_clean: |
|
30
|
+
if mountpoint -q $$rootfs/proc
|
31
|
+
then umount $$rootfs/proc
|
32
|
+
fi
|
33
|
+
- mount_sys:
|
34
|
+
- exec_out: mount -o bind /sys $$rootfs/sys
|
35
|
+
- on_setup_clean: |
|
36
|
+
if mountpoint -q $$rootfs/sys
|
37
|
+
then umount $$rootfs/sys
|
38
|
+
fi
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# # Autologin
|
2
|
+
- set_autologin:
|
3
|
+
- exec_in: |
|
4
|
+
# check SysV init
|
5
|
+
if [ -f '/etc/inittab' ]
|
6
|
+
then
|
7
|
+
perl -pi -e 's;/sbin/getty.*tty1;/bin/login -f $$user_name tty1 </dev/tty1 >/dev/tty1 2>&1;' /etc/inittab
|
8
|
+
else
|
9
|
+
# use systemd
|
10
|
+
mkdir -p /etc/systemd/system/getty@tty1.service.d
|
11
|
+
cat > /etc/systemd/system/getty@tty1.service.d/autologin.conf <<< '
|
12
|
+
[Service]
|
13
|
+
ExecStart=
|
14
|
+
ExecStart=-/usr/bin/agetty --autologin <username> --noclear %I 38400 linux
|
15
|
+
'
|
16
|
+
fi
|
@@ -0,0 +1,10 @@
|
|
1
|
+
# Copy auth file from local to in
|
2
|
+
- home_in: /root
|
3
|
+
- auth_file_in: $$home_in/.ssh/authorized_keys
|
4
|
+
- auth_file_local: $$auth_file_in
|
5
|
+
|
6
|
+
- copy_ssh_auth_content:
|
7
|
+
- exec_in: mkdir -p $$home_in/.ssh
|
8
|
+
- pipe:
|
9
|
+
- exec_local: cat $$auth_file_local
|
10
|
+
- exec_in: cat >> $$auth_file_in
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# Cluster Tools Install
|
2
|
+
- install_build_essentials:
|
3
|
+
- deb_install_in: build-essential
|
4
|
+
- install_openmpi:
|
5
|
+
- deb_install_in: |
|
6
|
+
openmpi-bin openmpi-common \
|
7
|
+
openssh-client openssh-server \
|
8
|
+
libopenmpi1.3 libopenmpi-dbg libopenmpi-dev
|
9
|
+
- install_python:
|
10
|
+
- deb_install_in: python python-dev
|
11
|
+
- install_java:
|
12
|
+
- deb_install_in: openjdk-6-jre
|
13
|
+
- install_perl:
|
14
|
+
- deb_install_in: perl
|
15
|
+
- install_tcl:
|
16
|
+
- deb_install_in: tcl
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# Network Static Config
|
2
|
+
- network_interfaces:
|
3
|
+
# WARNING: The MTU is set to 1492 to avoid connection failure over some
|
4
|
+
# network du to PPP header
|
5
|
+
- write_in:
|
6
|
+
- /etc/network/interfaces
|
7
|
+
- |
|
8
|
+
auto lo
|
9
|
+
iface lo inet loopback
|
10
|
+
|
11
|
+
auto eth0
|
12
|
+
iface eth0 inet static
|
13
|
+
address $$ip_address
|
14
|
+
netmask $$netmask
|
15
|
+
gateway $$gateway
|
16
|
+
dns-nameservers $$dns
|
17
|
+
mtu $$mtu
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# # Generate User Ssh Key
|
2
|
+
- generate_keys:
|
3
|
+
- exec_in: |
|
4
|
+
mkdir -p /home/$$user_name/.ssh
|
5
|
+
ssh-keygen -t rsa -C "$$user_name@$$network_hostname" -N "" -f home/$$user_name/.ssh/id_rsa
|
6
|
+
#fix permissions
|
7
|
+
chmod 700 /home/$$user_name/.ssh
|
8
|
+
chmod 644 /home/$$user_name/.ssh/id_rsa.pub
|
9
|
+
chmod 600 /home/$$user_name/.ssh/id_rsa
|
10
|
+
- exec_in: chown -R $$user_name:$$user_group home/$$user_name/.ssh
|
11
|
+
- save_public_key:
|
12
|
+
- in2local:
|
13
|
+
- /home/$$user_name/.ssh/id_rsa.pub
|
14
|
+
- $$generated_rsa_pub_dir
|
15
|
+
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# Install your own key in the selected user home
|
2
|
+
# By default from local root to in root
|
3
|
+
|
4
|
+
- local_private_key: /root/.ssh/id_rsa
|
5
|
+
- local_public_key: $$local_private_key.pub
|
6
|
+
- in_user: root
|
7
|
+
- in_group: root
|
8
|
+
- in_home: /root
|
9
|
+
- in_private_key: $$in_home/.ssh/id_rsa
|
10
|
+
- in_public_key: $$in_private_key.pub
|
11
|
+
|
12
|
+
- copy_my_key:
|
13
|
+
- local2in:
|
14
|
+
- $$local_private_key
|
15
|
+
- $$in_private_key
|
16
|
+
- local2in:
|
17
|
+
- $$local_public_key
|
18
|
+
- $$in_public_key
|
19
|
+
|
20
|
+
|
21
|
+
- fix_permissions:
|
22
|
+
- exec_in: |
|
23
|
+
chown -R $$in_user:$$in_group $$in_home/.ssh
|
24
|
+
chmod 755 $$in_home/.ssh
|
25
|
+
chmod 600 $$in_private_key
|
26
|
+
chmod 644 $$in_public_key
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# # Root Ssh Config
|
2
|
+
- ssh_key_create:
|
3
|
+
- exec_in: mkdir -p /root/.ssh
|
4
|
+
- exec_in: ssh-keygen -t rsa -f /root/.ssh/id_rsa -C "root@$$network_hostname" -N ''
|
5
|
+
- exec_in: ssh-keygen -t dsa -f /root/.ssh/id_dsa -C "root@$$network_hostname" -N ''
|
6
|
+
- copy_key_to_auth_file:
|
7
|
+
- exec_in: cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
|
8
|
+
- copy_key_to_auth2_file:
|
9
|
+
- exec_in: cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys2
|
10
|
+
- root_ssh_config:
|
11
|
+
- append_in:
|
12
|
+
- /root/.ssh/config
|
13
|
+
- |
|
14
|
+
Host *
|
15
|
+
PasswordAuthentication yes
|
16
|
+
RSAAuthentication yes
|
17
|
+
StrictHostKeyChecking no
|
18
|
+
NoHostAuthenticationForLocalhost yes
|
@@ -0,0 +1,7 @@
|
|
1
|
+
# Sets the user password to "kameleon" hash in SHA512. Use create_script.py
|
2
|
+
# in contrib/scripts to generate your own password
|
3
|
+
|
4
|
+
- hash_password: $6$vDcPTe4u$EMxu.WTCjZaZeWQxiqFLC00gYledHmrvHsjvmAE1yQ/7d43EZrb0QuzcFdDv.Fm2IbbOLNdPvqdS08os6HHPH/
|
5
|
+
|
6
|
+
- set_user_passwd:
|
7
|
+
- exec_in: usermod -p '$$hash_password' $$user_name
|
data/docs/.gitignore
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
build
|
data/docs/Makefile
ADDED
@@ -0,0 +1,177 @@
|
|
1
|
+
# Makefile for Sphinx documentation
|
2
|
+
#
|
3
|
+
|
4
|
+
# You can set these variables from the command line.
|
5
|
+
SPHINXOPTS =
|
6
|
+
SPHINXBUILD = sphinx-build
|
7
|
+
PAPER =
|
8
|
+
BUILDDIR = build
|
9
|
+
|
10
|
+
# User-friendly check for sphinx-build
|
11
|
+
ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
|
12
|
+
$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed : "easy_install sphinx sphinx_rtd_theme")
|
13
|
+
endif
|
14
|
+
|
15
|
+
# Internal variables.
|
16
|
+
PAPEROPT_a4 = -D latex_paper_size=a4
|
17
|
+
PAPEROPT_letter = -D latex_paper_size=letter
|
18
|
+
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
|
19
|
+
# the i18n builder cannot share the environment and doctrees with the others
|
20
|
+
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
|
21
|
+
|
22
|
+
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
|
23
|
+
|
24
|
+
help:
|
25
|
+
@echo "Please use \`make <target>' where <target> is one of"
|
26
|
+
@echo " html to make standalone HTML files"
|
27
|
+
@echo " dirhtml to make HTML files named index.html in directories"
|
28
|
+
@echo " singlehtml to make a single large HTML file"
|
29
|
+
@echo " pickle to make pickle files"
|
30
|
+
@echo " json to make JSON files"
|
31
|
+
@echo " htmlhelp to make HTML files and a HTML help project"
|
32
|
+
@echo " qthelp to make HTML files and a qthelp project"
|
33
|
+
@echo " devhelp to make HTML files and a Devhelp project"
|
34
|
+
@echo " epub to make an epub"
|
35
|
+
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
|
36
|
+
@echo " latexpdf to make LaTeX files and run them through pdflatex"
|
37
|
+
@echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
|
38
|
+
@echo " text to make text files"
|
39
|
+
@echo " man to make manual pages"
|
40
|
+
@echo " texinfo to make Texinfo files"
|
41
|
+
@echo " info to make Texinfo files and run them through makeinfo"
|
42
|
+
@echo " gettext to make PO message catalogs"
|
43
|
+
@echo " changes to make an overview of all changed/added/deprecated items"
|
44
|
+
@echo " xml to make Docutils-native XML files"
|
45
|
+
@echo " pseudoxml to make pseudoxml-XML files for display purposes"
|
46
|
+
@echo " linkcheck to check all external links for integrity"
|
47
|
+
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
|
48
|
+
|
49
|
+
clean:
|
50
|
+
rm -rf $(BUILDDIR)/*
|
51
|
+
|
52
|
+
html:
|
53
|
+
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
|
54
|
+
@echo
|
55
|
+
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
|
56
|
+
|
57
|
+
dirhtml:
|
58
|
+
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
|
59
|
+
@echo
|
60
|
+
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
|
61
|
+
|
62
|
+
singlehtml:
|
63
|
+
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
|
64
|
+
@echo
|
65
|
+
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
|
66
|
+
|
67
|
+
pickle:
|
68
|
+
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
|
69
|
+
@echo
|
70
|
+
@echo "Build finished; now you can process the pickle files."
|
71
|
+
|
72
|
+
json:
|
73
|
+
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
|
74
|
+
@echo
|
75
|
+
@echo "Build finished; now you can process the JSON files."
|
76
|
+
|
77
|
+
htmlhelp:
|
78
|
+
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
|
79
|
+
@echo
|
80
|
+
@echo "Build finished; now you can run HTML Help Workshop with the" \
|
81
|
+
".hhp project file in $(BUILDDIR)/htmlhelp."
|
82
|
+
|
83
|
+
qthelp:
|
84
|
+
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
|
85
|
+
@echo
|
86
|
+
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
|
87
|
+
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
|
88
|
+
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Kameleon.qhcp"
|
89
|
+
@echo "To view the help file:"
|
90
|
+
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Kameleon.qhc"
|
91
|
+
|
92
|
+
devhelp:
|
93
|
+
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
|
94
|
+
@echo
|
95
|
+
@echo "Build finished."
|
96
|
+
@echo "To view the help file:"
|
97
|
+
@echo "# mkdir -p $$HOME/.local/share/devhelp/Kameleon"
|
98
|
+
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Kameleon"
|
99
|
+
@echo "# devhelp"
|
100
|
+
|
101
|
+
epub:
|
102
|
+
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
|
103
|
+
@echo
|
104
|
+
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
|
105
|
+
|
106
|
+
latex:
|
107
|
+
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
108
|
+
@echo
|
109
|
+
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
|
110
|
+
@echo "Run \`make' in that directory to run these through (pdf)latex" \
|
111
|
+
"(use \`make latexpdf' here to do that automatically)."
|
112
|
+
|
113
|
+
latexpdf:
|
114
|
+
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
115
|
+
@echo "Running LaTeX files through pdflatex..."
|
116
|
+
$(MAKE) -C $(BUILDDIR)/latex all-pdf
|
117
|
+
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
|
118
|
+
|
119
|
+
latexpdfja:
|
120
|
+
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
121
|
+
@echo "Running LaTeX files through platex and dvipdfmx..."
|
122
|
+
$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
|
123
|
+
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
|
124
|
+
|
125
|
+
text:
|
126
|
+
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
|
127
|
+
@echo
|
128
|
+
@echo "Build finished. The text files are in $(BUILDDIR)/text."
|
129
|
+
|
130
|
+
man:
|
131
|
+
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
|
132
|
+
@echo
|
133
|
+
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
|
134
|
+
|
135
|
+
texinfo:
|
136
|
+
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
|
137
|
+
@echo
|
138
|
+
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
|
139
|
+
@echo "Run \`make' in that directory to run these through makeinfo" \
|
140
|
+
"(use \`make info' here to do that automatically)."
|
141
|
+
|
142
|
+
info:
|
143
|
+
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
|
144
|
+
@echo "Running Texinfo files through makeinfo..."
|
145
|
+
make -C $(BUILDDIR)/texinfo info
|
146
|
+
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
|
147
|
+
|
148
|
+
gettext:
|
149
|
+
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
|
150
|
+
@echo
|
151
|
+
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
|
152
|
+
|
153
|
+
changes:
|
154
|
+
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
|
155
|
+
@echo
|
156
|
+
@echo "The overview file is in $(BUILDDIR)/changes."
|
157
|
+
|
158
|
+
linkcheck:
|
159
|
+
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
|
160
|
+
@echo
|
161
|
+
@echo "Link check complete; look for any errors in the above output " \
|
162
|
+
"or in $(BUILDDIR)/linkcheck/output.txt."
|
163
|
+
|
164
|
+
doctest:
|
165
|
+
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
|
166
|
+
@echo "Testing of doctests in the sources finished, look at the " \
|
167
|
+
"results in $(BUILDDIR)/doctest/output.txt."
|
168
|
+
|
169
|
+
xml:
|
170
|
+
$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
|
171
|
+
@echo
|
172
|
+
@echo "Build finished. The XML files are in $(BUILDDIR)/xml."
|
173
|
+
|
174
|
+
pseudoxml:
|
175
|
+
$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
|
176
|
+
@echo
|
177
|
+
@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
|