[libcamera-devel] [PATCH] package metadata

Laurent Pinchart laurent.pinchart at ideasonboard.com
Fri Aug 12 00:34:07 CEST 2022


Hi Christian,

Thank you for the patch.

On Thu, Aug 11, 2022 at 09:52:30PM +0200, Christian Rauch via libcamera-devel wrote:
> This metadata file provides information, amongst others, about the version,
> licence, maintainers and build dependencies. This file is used by build
> systems (catkin, colcon) to manage a dependency graph and resolve those
> dependencies automatically.
> 
> The file structure is defined at: https://www.ros.org/reps/rep-0149.html
> 
> Signed-off-by: Christian Rauch <Rauch.Christian at gmx.de>
> ---
>  package.xml | 32 ++++++++++++++++++++++++++++++++
>  1 file changed, 32 insertions(+)
>  create mode 100644 package.xml
> 
> diff --git a/package.xml b/package.xml
> new file mode 100644
> index 00000000..8b06f507
> --- /dev/null
> +++ b/package.xml
> @@ -0,0 +1,32 @@
> +<?xml version="1.0"?>
> +<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
> +<package format="3">
> +  <name>libcamera</name>
> +
> +  <version>0.0.0</version>
> +
> +  <description>An open source camera stack and framework for Linux, Android, and ChromeOS</description>
> +
> +  <maintainer email="libcamera-devel at lists.libcamera.org">libcamera project</maintainer>
> +
> +  <license>LGPL-2.1</license>
> +
> +  <url>https://libcamera.org</url>
> +
> +  <buildtool_depend>python3-meson-pip</buildtool_depend>
> +  <buildtool_depend>ninja-build</buildtool_depend>
> +
> +  <build_depend>python3-yaml</build_depend>
> +  <build_depend>python3-ply</build_depend>
> +  <build_depend>python3-jinja2</build_depend>
> +
> +  <depend>libgnutls28-dev</depend>
> +  <depend>openssl</depend>

openssl is a build dependency. Since a few days ago, it can also
optionally be a runtime dependency to replace gnutls.

> +  <depend>boost</depend>

We don't depend on boost anymore.

> +  <depend>libudev-dev</depend>
> +  <depend>libunwind-dev</depend>

These two dependencies are optional. I'm curious, how are optional
dependencies supposed to be handled ? package.xml seems specific to ROS,
does it need to pick a set of options that will be enabled in the
context of ROS, and then list the corresponding dependencies here ? If
so, how would libcamera be built on ROS, how are the meson configuration
option set ?

> +
> +  <export>
> +    <build_type>meson</build_type>
> +  </export>
> +</package>

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list