UPDATE: Found this release tarballs miss required sources · Issue #7407 · obsproject/obs-studio · GitHub which, if I understand correctly, will add the submodules to the source code release tarball. The latest release was Apr 6th, and the issue was closed on Apr 14th. Probably try again on the next stable release
I tried building obs-studio using autospec based on GitHub - clearlinux-pkgs/obs-studio
Got the following error
-- Checking for module 'libva'
-- Found libva, version 1.21.0
-- Checking for module 'libva-drm'
-- Found libva-drm, version 1.21.0
-- Found Libva: /usr/include
-- OBS: ENABLED obs-qsv11
CMake Error at cmake/Modules/ObsHelpers.cmake:373 (message):
OBS: obs-browser submodule not available.
Call Stack (most recent call first):
plugins/CMakeLists.txt:106 (obs_status)
plugins/CMakeLists.txt:149 (check_obs_browser)
-- Configuring incomplete, errors occurred!
error: Bad exit status from /var/tmp/rpm-tmp.Iu3zCw (%build)
Child return code was: 1
How to rectify submodules whilst building with autospec?
Changes made so far
Here is the full gist of results/build.log cat build.log · GitHub
EDIT: added request for an mbedtls bundle mbedtls bundle with pkgconfig files · Issue #3111 · clearlinux/distribution · GitHub
git clone https://github.com/obsproject/obs-studio.git
cd obs-studio
git submodule init
git submodule update
tar -czf obs-studio-with-submodules.tar.gz .
Remove the following from the spec file :
%pkgconfig-ban libx264
%pkgconfig-ban jack
%pkgconfig-ban fdk-aac
Add these to the spec file :
%pkgconfig-ban mbedcrypto
%pkgconfig-ban mbedx509
In the %prep
section, find and remove the line that applies the build-without-libx264.patch
patch.
Update the ‘Source0’ URL in the spec file to point to the created tarball.
Build the package with autospec :
autospec -f
Directly editing the spec file don’t work as the other files (like pkgconfig-ban
and series
) overwrite it.
However, thanks for the idea of replacing the tarball. I just replaced the 30.1.2.tar.gz with the new tarball and ran it, i found this repo GitHub - mihawk90/obs-studio.spec: SPEC file for RPM packaging on Fedora (and - theoretically - centOS/RHEL) which gave me a few ideas on how to proceed and got stuck at nlohmann-json.
Added two more requests on the github devpkg-uthash · Issue #3112 · clearlinux/distribution · GitHub and devpkg-json · Issue #3113 · clearlinux/distribution · GitHub
Added qt6svg-dev
and ninja
to buildreq_add
1 Like
Whilst that may be a valid approach, the control files used by autospec
are defined here GitHub - clearlinux/autospec: RPM packaging automation tool
Now, I would like to know how to reference a package I built with autospec as a dependency with obs-studio. For example, qt6svg
is actually named qt6svg-dev
when referenced in buildreq_add
so I was wondering where I can find this information.
with the latest packages from 41800, building obs-studio 30.1.2 via autospec is now possible!
Maintaining it would be ugly since the submodules aren’t available yet in the tarball, hopefully they’re out in the next release of obs-studio
make[1]: Leaving directory '/home/i/.install/clearlinux/packages/obs-studio'
diffstat for-review.txt
0003-Update_to_libajantv2_17_legacy_path_only.patch | 95 ++++++++++++++++++++++++++++++++++
buildreq_add | 15 +++++
cmake_args | 8 ++
install_macro | 1
make_command | 1
make_prepend | 1
obs-studio.spec | 64 ++++++++++++++--------
options.conf | 1
pkgconfig_ban | 17 +-----
series | 5 +
used_libs | 66 ++++++++++++++++++-----
11 files changed, 222 insertions(+), 52 deletions(-)
**
** NOTICE: A patch with changes is available in the file for-review.txt
** To recreate (e.g., after git commit --amend), run make for-review.txt
** To submit for review: git send-email --to <recipient> for-review.txt
**