Bug 2158678 - Review Request: libcamera-apps - A small suite of libcamera-based apps
Summary: Review Request: libcamera-apps - A small suite of libcamera-based apps
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Javier Martinez Canillas
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-01-06 04:20 UTC by Peter Robinson
Modified: 2023-02-01 09:28 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2023-02-01 09:28:33 UTC
Type: Bug
Embargoed:
fmartine: fedora-review+


Attachments (Terms of Use)
The .spec file difference from Copr build 5252674 to 5385625 (872 bytes, patch)
2023-02-01 09:09 UTC, Jakub Kadlčík
no flags Details | Diff

Description Peter Robinson 2023-01-06 04:20:46 UTC
SPEC: https://pbrobinson.fedorapeople.org/libcamera-apps.spec
SRPM: https://pbrobinson.fedorapeople.org/libcamera-apps-1.0.2-1.fc37.src.rpm

Description:
This is a small suite of libcamera-based apps that aim to copy the functionality
of the existing "raspicam" apps.

FAS: pbrobinson

koji: https://koji.fedoraproject.org/koji/taskinfo?taskID=95790983

Comment 1 Jakub Kadlčík 2023-01-06 04:36:58 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/5203603
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/frostyx/fedora-review-2158678-libcamera-apps/fedora-rawhide-x86_64/05203603-libcamera-apps/fedora-review/review.txt

Please take a look if any issues were found.

---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

Comment 2 Petr Menšík 2023-01-18 18:25:12 UTC
This package contains a lot of lib*.so shared libraries used by executables, which lack soname versions [1]. They are required by packaging guidelines. Those libraries are used at link time as a normal library, not as plugins loaded runtime.

rpms-unpacked/libcamera-apps-1.0.2-1.fc38.x86_64.rpm/usr/lib64/libcamera_app.so
rpms-unpacked/libcamera-apps-1.0.2-1.fc38.x86_64.rpm/usr/lib64/libencoders.so
rpms-unpacked/libcamera-apps-1.0.2-1.fc38.x86_64.rpm/usr/lib64/libimages.so
rpms-unpacked/libcamera-apps-1.0.2-1.fc38.x86_64.rpm/usr/lib64/liboutputs.so
rpms-unpacked/libcamera-apps-1.0.2-1.fc38.x86_64.rpm/usr/lib64/libpost_processing_stages.so
rpms-unpacked/libcamera-apps-1.0.2-1.fc38.x86_64.rpm/usr/lib64/libpreview.so

Such format is usually provided by *-devel subpackages, but this package does not have such thing.

I think they are supposed to be internal for the program and they should be placed into %{_libdir}/%{name} with using rpath for this case [2].
It seems those libraries are not meant to be reused by any other tools directly, because no -devel headers allows linking to them. It seems those names do not conflicts with any existing packages now, but those names are not specialized enough. I think moving them to to application specific subdirectory is desireable to avoid future conflicts.

[1] https://docs.fedoraproject.org/en-US/packaging-guidelines/#_downstream_so_name_versioning
[2] https://docs.fedoraproject.org/en-US/packaging-guidelines/#_rpath_for_internal_libraries

Comment 3 Peter Robinson 2023-01-19 11:20:13 UTC
(In reply to Petr Menšík from comment #2)
> This package contains a lot of lib*.so shared libraries used by executables,
> which lack soname versions [1]. They are required by packaging guidelines.
> Those libraries are used at link time as a normal library, not as plugins
> loaded runtime.

In some cases if the .so is a plugin and not a library it's not always the cases, there are numerous examples of this.

> rpms-unpacked/libcamera-apps-1.0.2-1.fc38.x86_64.rpm/usr/lib64/libcamera_app.
> so
> rpms-unpacked/libcamera-apps-1.0.2-1.fc38.x86_64.rpm/usr/lib64/libencoders.so
> rpms-unpacked/libcamera-apps-1.0.2-1.fc38.x86_64.rpm/usr/lib64/libimages.so
> rpms-unpacked/libcamera-apps-1.0.2-1.fc38.x86_64.rpm/usr/lib64/liboutputs.so
> rpms-unpacked/libcamera-apps-1.0.2-1.fc38.x86_64.rpm/usr/lib64/
> libpost_processing_stages.so
> rpms-unpacked/libcamera-apps-1.0.2-1.fc38.x86_64.rpm/usr/lib64/libpreview.so

We already have a fix posted for upstream: https://github.com/raspberrypi/libcamera-apps/pull/441

Comment 5 Jakub Kadlčík 2023-01-19 13:11:22 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/5252674
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2158678-libcamera-apps/fedora-rawhide-x86_64/05252674-libcamera-apps/fedora-review/review.txt

Please take a look if any issues were found.

---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

Comment 7 Javier Martinez Canillas 2023-02-01 08:58:10 UTC
All looks good to me now!

Comment 8 Fedora Admin user for bugzilla script actions 2023-02-01 09:04:44 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/libcamera-apps

Comment 9 Jakub Kadlčík 2023-02-01 09:09:23 UTC
Created attachment 1941486 [details]
The .spec file difference from Copr build 5252674 to 5385625


Note You need to log in before you can comment on or make changes to this bug.