aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Fred-Barclay <Fred-Barclay@users.noreply.github.com>2018-10-05 21:10:16 -0500
committerLibravatar Fred-Barclay <Fred-Barclay@users.noreply.github.com>2018-10-05 21:10:16 -0500
commit09124f0f330b2788a9396ef75eb3c10787c183df (patch)
tree27627ac0c918931717787214eb2a1ee468f08056
parentmerges (diff)
downloadfirejail-docs.tar.gz
firejail-docs.tar.zst
firejail-docs.zip
Begin work on docsdocs
-rw-r--r--.gitignore5
-rw-r--r--docs/Makefile20
-rw-r--r--docs/conf.py143
-rw-r--r--docs/getting_started.rst35
-rw-r--r--docs/index.rst32
-rw-r--r--docs/installing.rst36
-rw-r--r--docs/make.bat36
7 files changed, 306 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore
index 5e26f1711..9ccacc9a8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -18,6 +18,10 @@ firejail-users.5
18firejail.1 18firejail.1
19firemon.1 19firemon.1
20firecfg.1 20firecfg.1
21docs/_build
22docs/_static
23docs/_templates
24!docs/Makefile
21src/firejail/firejail 25src/firejail/firejail
22src/firemon/firemon 26src/firemon/firemon
23src/firecfg/firecfg 27src/firecfg/firecfg
@@ -40,4 +44,3 @@ seccomp.64
40seccomp.block_secondary 44seccomp.block_secondary
41seccomp.mdwx 45seccomp.mdwx
42src/common.mk 46src/common.mk
43
diff --git a/docs/Makefile b/docs/Makefile
new file mode 100644
index 000000000..0b6a91a14
--- /dev/null
+++ b/docs/Makefile
@@ -0,0 +1,20 @@
1# Minimal makefile for Sphinx documentation
2#
3
4# You can set these variables from the command line.
5SPHINXOPTS =
6SPHINXBUILD = sphinx-build
7SPHINXPROJ = Firejail
8SOURCEDIR = .
9BUILDDIR = _build
10
11# Put it first so that "make" without argument is like "make help".
12help:
13 @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
14
15.PHONY: help Makefile
16
17# Catch-all target: route all unknown targets to Sphinx using the new
18# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
19%: Makefile
20 @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) \ No newline at end of file
diff --git a/docs/conf.py b/docs/conf.py
new file mode 100644
index 000000000..e1093e9ff
--- /dev/null
+++ b/docs/conf.py
@@ -0,0 +1,143 @@
1# -*- coding: utf-8 -*-
2#
3# Configuration file for the Sphinx documentation builder.
4#
5# This file does only contain a selection of the most common options. For a
6# full list see the documentation:
7# http://www.sphinx-doc.org/en/master/config
8
9# -- Path setup --------------------------------------------------------------
10
11# If extensions (or modules to document with autodoc) are in another directory,
12# add these directories to sys.path here. If the directory is relative to the
13# documentation root, use os.path.abspath to make it absolute, like shown here.
14#
15# import os
16# import sys
17# sys.path.insert(0, os.path.abspath('.'))
18
19# -- Project information -----------------------------------------------------
20
21project = 'Firejail'
22copyright = '2018, Firejail Authors'
23author = 'Firejail Authors'
24
25# The short X.Y version
26version = ''
27# The full version, including alpha/beta/rc tags
28release = '0.9.57'
29
30# -- General configuration ---------------------------------------------------
31
32# If your documentation needs a minimal Sphinx version, state it here.
33#
34# needs_sphinx = '1.0'
35
36# Add any Sphinx extension module names here, as strings. They can be
37# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
38# ones.
39extensions = []
40
41# Add any paths that contain templates here, relative to this directory.
42templates_path = ['_templates']
43
44# The suffix(es) of source filenames.
45# You can specify multiple suffix as a list of string:
46#
47# source_suffix = ['.rst', '.md']
48source_suffix = '.rst'
49
50# The master toctree document.
51master_doc = 'index'
52
53# The language for content autogenerated by Sphinx. Refer to documentation
54# for a list of supported languages.
55#
56# This is also used if you do content translation via gettext catalogs.
57# Usually you set "language" from the command line for these cases.
58language = None
59
60# List of patterns, relative to source directory, that match files and
61# directories to ignore when looking for source files.
62# This pattern also affects html_static_path and html_extra_path .
63exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
64
65# The name of the Pygments (syntax highlighting) style to use.
66pygments_style = 'sphinx'
67
68# -- Options for HTML output -------------------------------------------------
69
70# The theme to use for HTML and HTML Help pages. See the documentation for
71# a list of builtin themes.
72#
73html_theme = 'alabaster'
74
75# Theme options are theme-specific and customize the look and feel of a theme
76# further. For a list of options available for each theme, see the
77# documentation.
78#
79# html_theme_options = {}
80
81# Add any paths that contain custom static files (such as style sheets) here,
82# relative to this directory. They are copied after the builtin static files,
83# so a file named "default.css" will overwrite the builtin "default.css".
84html_static_path = ['_static']
85
86# Custom sidebar templates, must be a dictionary that maps document names
87# to template names.
88#
89# The default sidebars (for documents that don't match any pattern) are
90# defined by theme itself. Builtin themes are using these templates by
91# default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
92# 'searchbox.html']``.
93#
94# html_sidebars = {}
95
96# -- Options for HTMLHelp output ---------------------------------------------
97
98# Output file base name for HTML help builder.
99htmlhelp_basename = 'Firejaildoc'
100
101# -- Options for LaTeX output ------------------------------------------------
102
103latex_elements = {
104 # The paper size ('letterpaper' or 'a4paper').
105 #
106 # 'papersize': 'letterpaper',
107
108 # The font size ('10pt', '11pt' or '12pt').
109 #
110 # 'pointsize': '10pt',
111
112 # Additional stuff for the LaTeX preamble.
113 #
114 # 'preamble': '',
115
116 # Latex figure (float) alignment
117 #
118 # 'figure_align': 'htbp',
119}
120
121# Grouping the document tree into LaTeX files. List of tuples
122# (source start file, target name, title,
123# author, documentclass [howto, manual, or own class]).
124latex_documents = [
125 (master_doc, 'Firejail.tex', 'Firejail Documentation', 'Firejail Authors',
126 'manual'),
127]
128
129# -- Options for manual page output ------------------------------------------
130
131# One entry per manual page. List of tuples
132# (source start file, name, description, authors, manual section).
133man_pages = [(master_doc, 'firejail', 'Firejail Documentation', [author], 1)]
134
135# -- Options for Texinfo output ----------------------------------------------
136
137# Grouping the document tree into Texinfo files. List of tuples
138# (source start file, target name, title, author,
139# dir menu entry, description, category)
140texinfo_documents = [
141 (master_doc, 'Firejail', 'Firejail Documentation', author, 'Firejail',
142 'One line description of project.', 'Miscellaneous'),
143]
diff --git a/docs/getting_started.rst b/docs/getting_started.rst
new file mode 100644
index 000000000..abb9589d0
--- /dev/null
+++ b/docs/getting_started.rst
@@ -0,0 +1,35 @@
1.. _getting_started:
2
3Getting Started with Firejail
4================================================================================
5
6A brief overview of Firejail, how to install it, and some common uses.
7
8What is Firejail?
9--------------------------------------------------------------------------------
10Firejail is a sandbox program for Linux that aims to do three things:
11
121. Reduce the risk of security breaches by isolating and `sandboxing`_ programs.
132. Integrate well with other existing technology like SELinux or AppArmor.
143. Be easy to use, with very little consumption of computer resources.
15
16Traditional Linux sandboxes have offered fine-grained control for users, but
17often at the cost of being difficult to configure and use. In contrast, there is
18no *difficult* in Firejail, at least no *SELinux-difficult*. For us, the
19user always comes first. We want Firejail to be simple to use, powerful but not
20complicated.
21
22
23Quick install tips
24--------------------------------------------------------------------------------
25As with many other Linux programs, it's best to check if Firejail is present in
26your distribution's repositories and install from there, unless you need a
27specific version. Many distributions, such as Arch, Debian, Gentoo, and Ubuntu,
28provide Firejail.
29
30We also provide pre-built packages of the `latest release`_ and
31`latest long-term support (LTS) release`_ on our Sourceforge download page.
32
33.. _sandboxing: https://en.wikipedia.org/wiki/Sandbox_(computer_security)
34.. _latest release: https://sourceforge.net/projects/firejail/files/firejail/
35.. _latest long-term support (LTS) release: https://sourceforge.net/projects/firejail/files/LTS/
diff --git a/docs/index.rst b/docs/index.rst
new file mode 100644
index 000000000..b6ceed917
--- /dev/null
+++ b/docs/index.rst
@@ -0,0 +1,32 @@
1.. Firejail documentation master file, created by
2 sphinx-quickstart on Wed Aug 22 20:47:50 2018.
3 You can adapt this file completely to your liking, but it should at least
4 contain the root `toctree` directive.
5
6Welcome to Firejail's documentation!
7====================================
8
9.. toctree::
10 :maxdepth: 2
11 :caption: Contents:
12
13.. toctree::
14 :maxdepth: 2
15 :caption: Getting Started:
16
17 getting_started.rst
18
19.. toctree::
20 :maxdepth: 2
21 :caption: Installing:
22
23 installing.rst
24
25
26
27Indices and tables
28==================
29
30* :ref:`genindex`
31* :ref:`modindex`
32* :ref:`search`
diff --git a/docs/installing.rst b/docs/installing.rst
new file mode 100644
index 000000000..dfca9155d
--- /dev/null
+++ b/docs/installing.rst
@@ -0,0 +1,36 @@
1Installing Firejail
2================================================================================
3
4Install from distributions repositories (recommended)
5-------------------------------------------------------------------------------
6Some common Linux distributions to provide Firejail in their repositories are:
7 - `Alpine`_
8 - `Arch`_
9 - `Debian`_
10 - `Gentoo`_
11 - `Ubuntu`_
12
13
14*Notes:*
15
161. For Ubuntu users (or those who use derivatives like Linux Mint) who want to always have the latest version of Firejail, we also provide a `PPA`_
172. Ubuntu and Debian users: when installing Firejail from the repository or the PPA, you will probably also want to install the **firejail-profiles** package:
18
19.. code-block:: bash
20
21 sudo apt install firejail firejail-profiles
22
23
24Install directly
25--------------------------------------------------------------------------------
26While we recommend installing from your Linux distribution's repositories, there
27may be times you want to get Firejail directly from the developers.
28
29
30
31.. _Alpine: https://pkgs.alpinelinux.org/packages?name=firejail
32.. _Arch: https://www.archlinux.org/packages/community/x86_64/firejail/
33.. _Debian: https://packages.debian.org/search?keywords=firejail&searchon=names&suite=all&section=all
34.. _Gentoo: https://packages.gentoo.org/packages/sys-apps/firejail
35.. _Ubuntu: https://packages.ubuntu.com/search?keywords=firejail&searchon=names&suite=all&section=all
36.. _PPA: https://launchpad.net/~deki/+archive/ubuntu/firejail
diff --git a/docs/make.bat b/docs/make.bat
new file mode 100644
index 000000000..90a332e2e
--- /dev/null
+++ b/docs/make.bat
@@ -0,0 +1,36 @@
1@ECHO OFF
2
3pushd %~dp0
4
5REM Command file for Sphinx documentation
6
7if "%SPHINXBUILD%" == "" (
8 set SPHINXBUILD=sphinx-build
9)
10set SOURCEDIR=.
11set BUILDDIR=_build
12set SPHINXPROJ=Firejail
13
14if "%1" == "" goto help
15
16%SPHINXBUILD% >NUL 2>NUL
17if errorlevel 9009 (
18 echo.
19 echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
20 echo.installed, then set the SPHINXBUILD environment variable to point
21 echo.to the full path of the 'sphinx-build' executable. Alternatively you
22 echo.may add the Sphinx directory to PATH.
23 echo.
24 echo.If you don't have Sphinx installed, grab it from
25 echo.http://sphinx-doc.org/
26 exit /b 1
27)
28
29%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
30goto end
31
32:help
33%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
34
35:end
36popd