[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#996856: libcamera: Update package to a more recent version



Hello Dorota,

Am 20.10.21 um 15:50 schrieb Dorota Czaplejewicz:
...
Currently lintian shows these interesting tags after a package build:

$ lintian -IE
E: libcamera-dev: lacks-ldconfig-trigger usr/lib/x86_64-linux-gnu/v4l2-compat.so

I think this error isn't a real error lintian is thinking about, the .so
file is within the -dev package is a real file and not a symlink as
usual in a -dev package.
OTOH I don't know enough about libcamera currently, is this file then
within the correct binary package? Or needs upstream to change the way
this library is built?

As far as I understand it, this file is not only useful for
development, so it should be in a non--dev package. It's part of a
compatibility layer that's meant to be used by applications at
runtime.

that was my thinking too after a while, it's maybe an oversight that this shared object file isn't places into the lib package (libcamera0). Otherwise it doesn't make any sense for me to install v4l2-compat.so into the -dev package without any symlinks for versioning (which aren't available or provided currently).

Changing this in the packaging let lintian still warns about missing unversioned symlinks, but yeah, there is no versioning of v4l2-compat.so :)

...
Please let me know if it's possible to proceed and if you are interested
to pull in my current work.
If there are things we need to address upstream I think that this
partially can be done by Dorota at one point, I'm sure she will also
figure out things that need to get fixed, discussed or changed upstream.


I pushed my current WIP to https://salsa.debian.org/tijuca/libcamera

I checked the repository, and you left out the soname patch, but it
does not apply to ./src/libcamera/meson.build. It might apply to
./meson.build though, after some changes.

First I wasn't see your point, then I've looked again at the build log,

../src/libcamera/meson.build:129: WARNING: Keyword argument "version" defined multiple times.
WARNING: This will be an error in future Meson releases.

and yes, upstream is now also set up a version variable so we don't want this patch applying any more I guess.

129 libcamera = shared_library('libcamera',
130                            libcamera_sources,
131                            version : libcamera_version,   <--- upstream
132                            name_prefix : '',
133                            install : true,
134                            include_directories : includes,
135                            build_rpath : '/',
136                            dependencies : libcamera_deps)

$ git grep -n libcamera_version
...
include/libcamera/meson.build:78:version = libcamera_version.split('.')
include/libcamera/meson.build:79:libcamera_version_config = configuration_data()
include/libcamera/meson.build:80:libcamera_version_config.set('LIBCAMERA_VERSION_MAJOR', version[0])
include/libcamera/meson.build:81:libcamera_version_config.set('LIBCAMERA_VERSION_MINOR', version[1])
include/libcamera/meson.build:82:libcamera_version_config.set('LIBCAMERA_VERSION_PATCH', version[2])
include/libcamera/meson.build:86:               configuration : libcamera_version_config,
meson.build:15:# the libcamera_version variable contains the major.minor.patch (e.g. 1.2.3)
meson.build:25:libcamera_version = libcamera_git_version.split('+')[0]
src/libcamera/base/meson.build:50:                                    version : libcamera_version,
src/libcamera/meson.build:131:                           version : libcamera_version,

The soname.patch was added directly in preparation of the Debian packaging on top of the first imported upstream version. Upstream changed and modified the variable 'version' from '0.1' to '0.0.0' since the import of 0~git20190625+cb21bb3 (the first imported version) but the patch wasn't turned back.

So currently the Debian packaging is adding a version 0.1.0 to the created shared library files while upstream is still using 0.0.0. I think it's not correct to still use the Debian added version and the patch should be dropped. OTOH the library isn't real versioned nor is using a stable ABI/API. I've no idea how the future plans of upstream are.

I've done two modifications to the packaging (removing soname.patch and move v4l2-compat.so into libcamera0) and forced pushed this to my WIP tree.

--
Regards
Carsten Schoenert

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


Reply to: