From 4d4bad5b782b6bc96bf6a1f86ef2c8655a717be49de43242f127bc61887d1988 Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Tue, 18 Oct 2022 18:50:25 +0000 Subject: [PATCH] Accepting request 1029747 from home:iznogood:branches:graphics New upstream release OBS-URL: https://build.opensuse.org/request/show/1029747 OBS-URL: https://build.opensuse.org/package/show/graphics/libcamera?expand=0&rev=32 --- _service | 15 +++++---- _servicedata | 4 +++ baselibs.conf | 3 +- fix-ppc64.patch | 42 ----------------------- libcamera-0.0.0+g3887.f1776100.tar.xz | 3 -- libcamera-0.0.1.obscpio | 3 ++ libcamera.changes | 32 ++++++++++++++++++ libcamera.obsinfo | 4 +++ libcamera.spec | 47 ++++++++++++++------------ vers.diff | 48 --------------------------- 10 files changed, 79 insertions(+), 122 deletions(-) create mode 100644 _servicedata delete mode 100644 fix-ppc64.patch delete mode 100644 libcamera-0.0.0+g3887.f1776100.tar.xz create mode 100644 libcamera-0.0.1.obscpio create mode 100644 libcamera.obsinfo delete mode 100644 vers.diff diff --git a/_service b/_service index 81a2596..41cf419 100644 --- a/_service +++ b/_service @@ -1,14 +1,17 @@ + - + git git://linuxtv.org/libcamera - f1776100f55e70320a8938586bc8bf2f242addd4 - v0.0.0 - 0.0.0+g@TAG_OFFSET@.%h + refs/tags/v0.0.1 + @PARENT_TAG@ + v([0-9\.]*) + enable - + + *.tar xz - + diff --git a/_servicedata b/_servicedata new file mode 100644 index 0000000..89b93b9 --- /dev/null +++ b/_servicedata @@ -0,0 +1,4 @@ + + + git://linuxtv.org/libcamera + a83aed77df1258e469c0eb42d9cb4f1938db53f2 \ No newline at end of file diff --git a/baselibs.conf b/baselibs.conf index 75e1181..1ef0b27 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1 +1,2 @@ -libcamera-suse7 +libcamera0_0_1 +libcamera-base0_0_1 diff --git a/fix-ppc64.patch b/fix-ppc64.patch deleted file mode 100644 index 92d0421..0000000 --- a/fix-ppc64.patch +++ /dev/null @@ -1,42 +0,0 @@ -From: Antonio Larrosa -Subject: Work around what seems to be a gcc bug only happening in ppc64/ppc64le - -When building code like: -constexpr Duration defaultMinFrameDuration = 1.0s / 30.0; -or -constexpr Duration controllerMinFrameDuration = 1.0s / 60.0; - -gcc 11.1.1 is giving this error: - -[ 235s] In file included from ../include/libcamera/base/log.h:10, -[ 235s] from ../src/ipa/raspberrypi/raspberrypi.cpp:18: -[ 235s] ../src/ipa/raspberrypi/raspberrypi.cpp:64:53: in ‘constexpr’ expansion of ‘std::chrono::operator/, double>(std::literals::chrono_literals::operator""s(1.0e+0l), 3.0e+1)’ -[ 235s] /usr/include/c++/11/chrono:710:39: error: ‘(1.0e+0l / 3.0e+1)’ is not a constant expression -[ 235s] 710 | return __cd(__cd(__d).count() / __s); -[ 235s] | ~~~~~~~~~~~~~~~~~~^~~~~ -[ 235s] ../src/ipa/raspberrypi/raspberrypi.cpp:73:56: in ‘constexpr’ expansion of ‘std::chrono::operator/, double>(std::literals::chrono_literals::operator""s(1.0e+0l), 6.0e+1)’ - -This change works around it to let it build fine. - -Index: libcamera-0~2809.e0704e97/src/ipa/raspberrypi/raspberrypi.cpp -=================================================================== ---- libcamera-0~2809.e0704e97.orig/src/ipa/raspberrypi/raspberrypi.cpp -+++ libcamera-0~2809.e0704e97/src/ipa/raspberrypi/raspberrypi.cpp -@@ -61,7 +61,7 @@ using utils::Duration; - /* Configure the sensor with these values initially. */ - constexpr double defaultAnalogueGain = 1.0; - constexpr Duration defaultExposureTime = 20.0ms; --constexpr Duration defaultMinFrameDuration = 1.0s / 30.0; -+const Duration defaultMinFrameDuration = 1.0s / 30.0; - constexpr Duration defaultMaxFrameDuration = 250.0s; - - /* -@@ -70,7 +70,7 @@ constexpr Duration defaultMaxFrameDurati - * we rate-limit the controller Prepare() and Process() calls to lower than or - * equal to this rate. - */ --constexpr Duration controllerMinFrameDuration = 1.0s / 60.0; -+const Duration controllerMinFrameDuration = 1.0s / 60.0; - - LOG_DEFINE_CATEGORY(IPARPI) - diff --git a/libcamera-0.0.0+g3887.f1776100.tar.xz b/libcamera-0.0.0+g3887.f1776100.tar.xz deleted file mode 100644 index ba6dabb..0000000 --- a/libcamera-0.0.0+g3887.f1776100.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6a20259a6e1a1dbdeea1753e2639f829a3aeffdf236c606004ad1ea66de6ff93 -size 914440 diff --git a/libcamera-0.0.1.obscpio b/libcamera-0.0.1.obscpio new file mode 100644 index 0000000..564a4b9 --- /dev/null +++ b/libcamera-0.0.1.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e66607d2c3a6a10bcaf2856e03ca67c223b57aac2bdb9f78bfd069355783708e +size 5570573 diff --git a/libcamera.changes b/libcamera.changes index f1280f7..7829e49 100644 --- a/libcamera.changes +++ b/libcamera.changes @@ -1,3 +1,35 @@ +------------------------------------------------------------------- +Tue Oct 18 10:15:03 UTC 2022 - Bjørn Lie + +- Update to version 0.0.1: + * This patch release commences the package release procedures for + the project. + * Initial releases will include a bump to the patch (0.0.x) + version number, as well as a corresponding increment to the + soname. + * utils: + - Provide a release script + - semver: Add version helper + * meson: + - Shared Object version handling + - Fix typo + * pipeline: + - rkisp1: Set bytesused before queuing parameters buffer + - ipu3: Set bytesused before queuing parameters buffer + * libcamera: + - v4l2_videodevice: Warn if bytesused == 0 when queuing output + buffer + - framebuffer: Move remaining private data to Private class + - base: utils: Drop defopt +- Change service to use explicit tags and obs_scm. +- Drop vers.diff patch and fix-ppc64.patch: Fixed upstream. +- Change lname define to new upstream soname libcamera0_0_1 and in + baselibs.conf. +- Split out libcamera-base0_0_1 shared library, add to baselibs. + Package the shared librarys in individual packages. +- Use ldconfig_scriptlets macro for post(un) handling. +- Stop exporting -Wno-error to C(XX)FLAGS, no longer needed. + ------------------------------------------------------------------- Fri Sep 2 10:10:53 UTC 2022 - Alexei Sorokin diff --git a/libcamera.obsinfo b/libcamera.obsinfo new file mode 100644 index 0000000..2a7ef02 --- /dev/null +++ b/libcamera.obsinfo @@ -0,0 +1,4 @@ +name: libcamera +version: 0.0.1 +mtime: 1665755326 +commit: a83aed77df1258e469c0eb42d9cb4f1938db53f2 diff --git a/libcamera.spec b/libcamera.spec index be23df3..788034f 100644 --- a/libcamera.spec +++ b/libcamera.spec @@ -16,9 +16,10 @@ # -%define lname libcamera-suse7 +%define lname libcamera0_0_1 +%define lname_base libcamera-base0_0_1 Name: libcamera -Version: 0.0.0+g3887.f1776100 +Version: 0.0.1 Release: 0 Summary: A complex camera support library in C++ License: GPL-2.0-or-later AND LGPL-2.1-or-later @@ -27,8 +28,7 @@ URL: http://libcamera.org/ Source: %name-%version.tar.xz Source1: baselibs.conf -Patch1: vers.diff -Patch2: fix-ppc64.patch + BuildRequires: boost-devel BuildRequires: c++_compiler %if 0%{?suse_version} <= 1500 @@ -38,7 +38,7 @@ BuildRequires: gcc9-c++ BuildRequires: libQt5Core-devel BuildRequires: libQt5Gui-devel BuildRequires: libQt5Widgets-devel -BuildRequires: meson >= 0.53 +BuildRequires: meson >= 0.56 BuildRequires: pkgconfig BuildRequires: python3-Jinja2 BuildRequires: python3-PyYAML @@ -73,10 +73,23 @@ expose multiple kernel device nodes in /dev for different stages of the pipeline. The libcamera API groups and exposes these pieces as what users consider one "camera". +%package -n %lname_base +Summary: A complex camera support library in C++ +Group: System/Libraries + +%description -n %lname_base +libcamera is an experimental camera user-space API. + +A camera may consist of multiple sensors or function blocks, and can +expose multiple kernel device nodes in /dev for different stages of +the pipeline. The libcamera API groups and exposes these pieces as +what users consider one "camera". + %package devel Summary: Development for libcamera, a camera support library Group: Development/Libraries/C and C++ Requires: %lname = %version +Requires: %lname_base = %version %description devel libcamera is an experimental camera user-space API. @@ -103,19 +116,13 @@ libcamera is an experimental camera user-space API. This is its integration plugin for gstreamer. %prep -%autosetup -p1 -N -%patch1 -p1 -%ifarch ppc64 ppc64le -%patch2 -p1 -%endif +%autosetup -p1 %build %if %{pkg_vcmp gcc < 8} export CC=gcc-9 export CXX=g++-9 %endif -export CFLAGS="%optflags -Wno-error" -export CXXFLAGS="$CFLAGS" %meson \ -Ddocumentation=disabled \ -Dqcam=enabled \ @@ -126,19 +133,15 @@ export CXXFLAGS="$CFLAGS" %install %meson_install -# libtool's -release would be so much more direct, but alas, meson... -mv "%buildroot/%_libdir/libcamera-suse.so" "%buildroot/%_libdir/libcamera.so" -mv "%buildroot/%_libdir/libcamera-base-suse.so" "%buildroot/%_libdir/libcamera-base.so" -mv "%buildroot/%_libdir/pkgconfig/libcamera-suse.pc" "%buildroot/%_libdir/pkgconfig/libcamera.pc" -mv "%buildroot/%_libdir/pkgconfig/libcamera-base-suse.pc" "%buildroot/%_libdir/pkgconfig/libcamera-base.pc" -perl -i -pe 's{camera-suse}{camera}' "%buildroot/%_libdir/pkgconfig"/*.pc -perl -i -pe 's{camera-base-suse}{camera-base}' "%buildroot/%_libdir/pkgconfig"/*.pc -%post -n %lname -p /sbin/ldconfig -%postun -n %lname -p /sbin/ldconfig +%ldconfig_scriptlets -n %lname +%ldconfig_scriptlets -n %lname_base %files -n %lname -%_libdir/libcamera*.so.* +%_libdir/libcamera.so.* + +%files -n %lname_base +%_libdir/libcamera-base.so.* %files devel %license LICENSES/*GPL* diff --git a/vers.diff b/vers.diff deleted file mode 100644 index 7874652..0000000 --- a/vers.diff +++ /dev/null @@ -1,48 +0,0 @@ -From: Jan Engelhardt -Date: 2018-12-06 12:28:42.992186963 +0100 - -Every new symbol set shipped needs a new SONAME. - -Normally, a distro would just ship tarballed releases, and so SONAMEs are just -what upstream puts out. - -When shipping snapshots however that have a noncongruent symbol set to any -other release, a custom SONAME will be needed to not claim false compatibility -with any other release. ---- - src/libcamera/base/meson.build | 4 ++-- - src/libcamera/meson.build | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -Index: libcamera-0.0.0+g3076.d79b4120/src/libcamera/base/meson.build -=================================================================== ---- libcamera-0.0.0+g3076.d79b4120.orig/src/libcamera/base/meson.build -+++ libcamera-0.0.0+g3076.d79b4120/src/libcamera/base/meson.build -@@ -27,9 +27,9 @@ libcamera_base_deps = [ - # the use of headers which must not be exposed to the libcamera public api. - libcamera_base_args = [ '-DLIBCAMERA_BASE_PRIVATE' ] - --libcamera_base_lib = shared_library('libcamera-base', -+libcamera_base_lib = shared_library('libcamera-base-suse', - [libcamera_base_sources, libcamera_base_headers], -- version : libcamera_version, -+ soversion : '7', - name_prefix : '', - install : true, - cpp_args : libcamera_base_args, -Index: libcamera-0.0.0+g3076.d79b4120/src/libcamera/meson.build -=================================================================== ---- libcamera-0.0.0+g3076.d79b4120.orig/src/libcamera/meson.build -+++ libcamera-0.0.0+g3076.d79b4120/src/libcamera/meson.build -@@ -126,9 +126,9 @@ libcamera_deps = [ - # runtime if the library is running from an installed location by checking - # for the presence or abscence of the dynamic tag. - --libcamera = shared_library('libcamera', -+libcamera = shared_library('libcamera-suse', - libcamera_sources, -- version : libcamera_version, -+ soversion : '7', - name_prefix : '', - install : true, - include_directories : includes,