[PATCH v1 2/2] Documentation: Add tuning guide from external source
Stefan Klug
stefan.klug at ideasonboard.com
Wed Aug 14 10:41:03 CEST 2024
Add the external tuning guide as meson subproject. Symlink it into the
Documentation/guides directory, so that sphinx can pick it up.
This setup feels a bit cumbersome, therefore I try to explain the
reasoning (and maybe someone comes up with a better solution):
The main reason is that we don't want to have large binary files (aka
images) in the main libcamera repository. Especially if they change a
lot the repository size increases tremendously. In a meson based
project, meson subprojects are the way to go. This however has the
following side effects:
- The subprojects needs to contain a meson.build (That's why
libcamera-tuning-guide is also meson based)
- We can't reference ../subproject/libcamera-tuning-guide/tuning.rst
from within the main meson build, as that violates the meson sandbox
- Referencing ../subproject/libcamera-tuning-guide/tuning.rst via a
sphinx include directive doesn't work either as sphinx then tries to
resolve images relative to the outer document.
- Symlinking ../subprojects/libcameta-tuning-guide into
Documentation/guides works wuite well, but fails as soon as
libcamera-tuning-guide contains an additional rst file (like index.rst)
which is not referenced from the libcamera documentation.
The solution is to move the actual content into
../subproject/libcamera-tuning-guide/content/ and to symlink that
directory into Documentation/guides.
Signed-off-by: Stefan Klug <stefan.klug at ideasonboard.com>
---
Documentation/conf.py | 4 ++--
Documentation/guides/tuning | 1 +
Documentation/index.rst | 1 +
Documentation/meson.build | 2 ++
subprojects/libcamera-tuning-guide.wrap | 7 +++++++
5 files changed, 13 insertions(+), 2 deletions(-)
create mode 120000 Documentation/guides/tuning
create mode 100644 subprojects/libcamera-tuning-guide.wrap
diff --git a/Documentation/conf.py b/Documentation/conf.py
index 022e698efac4..7675efb6682a 100644
--- a/Documentation/conf.py
+++ b/Documentation/conf.py
@@ -21,8 +21,8 @@
# -- Project information -----------------------------------------------------
project = 'libcamera'
-copyright = '2018-2019, The libcamera documentation authors'
-author = u'Kieran Bingham, Jacopo Mondi, Laurent Pinchart, Niklas Söderlund'
+copyright = '2018-2024, The libcamera documentation authors'
+author = u'Kieran Bingham, Jacopo Mondi, Laurent Pinchart, Niklas Söderlund, Stefan Klug'
# Version information is provided by the build environment, through the
# sphinx command line.
diff --git a/Documentation/guides/tuning b/Documentation/guides/tuning
new file mode 120000
index 000000000000..3e62b7b660d0
--- /dev/null
+++ b/Documentation/guides/tuning
@@ -0,0 +1 @@
+../../subprojects/libcamera-tuning-guide/content/
\ No newline at end of file
diff --git a/Documentation/index.rst b/Documentation/index.rst
index 5442ae75dde7..991dcf2b66fb 100644
--- a/Documentation/index.rst
+++ b/Documentation/index.rst
@@ -16,6 +16,7 @@
Developer Guide <guides/introduction>
Application Writer's Guide <guides/application-developer>
+ Sensor Tuning Guide <guides/tuning/tuning>
Pipeline Handler Writer's Guide <guides/pipeline-handler>
IPA Writer's guide <guides/ipa>
Tracing guide <guides/tracing>
diff --git a/Documentation/meson.build b/Documentation/meson.build
index 1ba40fdf67ac..58c656a54150 100644
--- a/Documentation/meson.build
+++ b/Documentation/meson.build
@@ -143,6 +143,8 @@ if sphinx.found()
'../README.rst',
]
+ subproject('libcamera-tuning-guide', required : true)
+
release = 'release=v' + libcamera_git_version
custom_target('documentation',
diff --git a/subprojects/libcamera-tuning-guide.wrap b/subprojects/libcamera-tuning-guide.wrap
new file mode 100644
index 000000000000..d8e172471fa6
--- /dev/null
+++ b/subprojects/libcamera-tuning-guide.wrap
@@ -0,0 +1,7 @@
+# SPDX-License-Identifier: CC0-1.0
+
+[wrap-git]
+directory = libcamera-tuning-guide
+url = https://git.uk.ideasonboard.com/sklug/libcamera-tuning-guide.git
+# tags/0.2.5
+revision = head
--
2.43.0
More information about the libcamera-devel
mailing list