Bug 2361814 - Review Request: pipewire-epel - Media Sharing Server
Summary: Review Request: pipewire-epel - Media Sharing Server
Keywords:
Status: ASSIGNED
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Neal Gompa
QA Contact: Fedora Extras Quality Assurance
URL: https://pipewire.org/
Whiteboard:
Depends On:
Blocks: 2318266
TreeView+ depends on / blocked
 
Reported: 2025-04-23 02:53 UTC by Davide Cavalca
Modified: 2025-04-23 02:57 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:
ngompa13: fedora-review?


Attachments (Terms of Use)

Description Davide Cavalca 2025-04-23 02:53:14 UTC
Spec URL: https://dcavalca.fedorapeople.org/review/pipewire-epel/pipewire-epel.spec
SRPM URL: https://dcavalca.fedorapeople.org/review/pipewire-epel/pipewire-epel-1.2.7-2.el10.src.rpm

Description:
PipeWire is a multimedia server for Linux and other Unix like operating
systems.

Fedora Account System Username: dcavalca

Comment 1 Davide Cavalca 2025-04-23 02:54:15 UTC
This is an EPEL-only package to workaround https://issues.redhat.com/browse/RHEL-62314 by providing the pipewire-module-filter-chain-lv2 subpackage. It is designed to minimize the delta with the upstream spec for ease of maintenance. Here's the full diff:

--- pipewire.spec	2025-04-22 19:13:48.736486047 -0700
+++ pipewire-epel.spec	2025-04-22 19:51:01.509282769 -0700
@@ -1,3 +1,6 @@
+%global srcname pipewire
+%global pipewire_release 1.el10
+
 %global majorversion 1
 %global minorversion 2
 %global microversion 7
@@ -9,11 +12,11 @@
 %global ms_version   0.4.2
 
 # For rpmdev-bumpspec and releng automation
-%global baserelease 1
+%global baserelease 2
 
 #global snapdate   20210107
 #global gitcommit  b17db2cebc1a5ab2c01851d29c05f79cd2f262bb
-#global shortcommit %(c=%{gitcommit}; echo ${c:0:7})
+#global shortcommit %%(c=%%{gitcommit}; echo ${c:0:7})
 
 # https://bugzilla.redhat.com/983606
 %global _hardened_build 1
@@ -23,7 +26,7 @@
 
 # Build conditions for various features
 %bcond_without alsa
-%bcond_without vulkan
+%bcond_with vulkan
 
 # Features disabled for RHEL 8
 %if 0%{?rhel} && 0%{?rhel} < 9
@@ -38,7 +41,7 @@
 %if 0%{?rhel}
 %bcond_with jackserver_plugin
 %bcond_with libmysofa
-%bcond_with lv2
+%bcond_without lv2
 %bcond_with roc
 %else
 %bcond_without jackserver_plugin
@@ -57,12 +60,12 @@
 %if (0%{?rhel} && 0%{?rhel} < 10) || (0%{?fedora} && 0%{?fedora} < 36) || ("%{_arch}" == "s390x") || ("%{_arch}" == "ppc64le")
 %bcond_with libcamera_plugin
 %else
-%bcond_without libcamera_plugin
+%bcond_with libcamera_plugin
 %endif
 
 %bcond_without v4l2
 
-Name:           pipewire
+Name:           %{srcname}-epel
 Summary:        Media Sharing Server
 Version:        %{majorversion}.%{minorversion}.%{microversion}
 Release:        %{baserelease}%{?snapdate:.%{snapdate}git%{shortcommit}}%{?dist}
@@ -95,6 +98,7 @@
 BuildRequires:  pkgconfig(gstreamer-plugins-base-1.0) >= 1.10.0
 BuildRequires:  pkgconfig(gstreamer-net-1.0) >= 1.10.0
 BuildRequires:  pkgconfig(gstreamer-allocators-1.0) >= 1.10.0
+%if 0
 # libldac is not built on x390x, see rhbz#1677491
 %ifnarch s390x
 BuildRequires:  pkgconfig(ldacBT-enc)
@@ -102,6 +106,7 @@
 %endif
 BuildRequires:  pkgconfig(fdk-aac)
 BuildRequires:  pkgconfig(bluez)
+%endif
 BuildRequires:  systemd
 BuildRequires:  systemd-devel
 BuildRequires:  alsa-lib-devel
@@ -109,8 +114,10 @@
 BuildRequires:  doxygen
 BuildRequires:  python-docutils
 BuildRequires:  graphviz
+%if 0
 BuildRequires:  sbc-devel
 BuildRequires:  liblc3-devel
+%endif
 BuildRequires:  libsndfile-devel
 BuildRequires:  ncurses-devel
 BuildRequires:  pulseaudio-libs-devel
@@ -142,6 +149,7 @@
 PipeWire is a multimedia server for Linux and other Unix like operating
 systems.
 
+%if 0
 %package libs
 Summary:        Libraries for PipeWire clients
 License:        MIT
@@ -395,22 +403,23 @@
 %description module-filter-chain-sofa
 This package contains the mysofa support for PipeWire filter-chain.
 %endif
+%endif
 
 %if %{with lv2}
-%package module-filter-chain-lv2
+%package -n %{srcname}-module-filter-chain-lv2
 Summary:        PipeWire media server lv2 filter-chain support
 License:        MIT
 BuildRequires:  lilv-devel
-Recommends:     %{name}%{?_isa} = %{version}-%{release}
-Requires:       %{name}-libs%{?_isa} = %{version}-%{release}
+Recommends:     %{srcname}%{?_isa} = %{version}-%{pipewire_release}
+Requires:       %{srcname}-libs%{?_isa} = %{version}-%{pipewire_release}
 
-%description module-filter-chain-lv2
+%description -n %{srcname}-module-filter-chain-lv2
 This package contains the mysofa support for PipeWire filter-chain.
 %endif
 
 
 %prep
-%autosetup -p1 %{?snapdate:-n %{name}-%{gitcommit}}
+%autosetup -p1 %{?snapdate:-n %{srcname}-%{gitcommit}} %{!?snapdate:-n %{srcname}-%{version}}
 
 
 %if %{with media-session}
@@ -441,6 +450,7 @@
     %{!?with_lv2:-D lv2=disabled}						\
     %{!?with_roc:-D roc=disabled}						\
     %{!?with_ffado:-D libffado=disabled}					\
+    -D bluez5=disabled								\
     %{nil}
 %meson_build
 
@@ -481,7 +491,9 @@
 install -d -m 0755 %{buildroot}%{_datadir}/pipewire/pipewire-pulse.conf.d/
 %endif
 
-%find_lang %{name}
+%find_lang %{srcname}
+
+find %{buildroot} \( -type f -o -type l \) ! -path %{buildroot}%{_libdir}/pipewire-%{apiversion}/libpipewire-module-filter-chain-lv2.so -delete
 
 %check
 %meson_test || TESTS_ERROR=$?
@@ -490,6 +502,7 @@
 %{!?tests_nonfatal:exit $TESTS_ERROR}
 fi
 
+%if 0
 %pre
 %sysusers_create_compat %{SOURCE1}
 
@@ -829,13 +842,20 @@
 %files module-filter-chain-sofa
 %{_libdir}/pipewire-%{apiversion}/libpipewire-module-filter-chain-sofa.so
 %endif
+%endif
 
 %if %{with lv2}
-%files module-filter-chain-lv2
+%files -n %{srcname}-module-filter-chain-lv2
+%license LICENSE COPYING
 %{_libdir}/pipewire-%{apiversion}/libpipewire-module-filter-chain-lv2.so
 %endif
 
 %changelog
+* Tue Apr 22 2025 Davide Cavalca <dcavalca> - 1.2.7-2
+- Rename to pipewire-epel
+- Enable lv2, disable bluez5, vulkan, libcamera
+- Only build the lv2 subpackage
+
 * Thu Jan 23 2025 Wim Taymans <wtaymans> - 1.2.7-1
 - Update version to 1.2.7
 - Resolves: RHEL-76017

Comment 2 Fedora Review Service 2025-04-23 02:54:41 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/8953931
(failed)

Build log:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2361814-pipewire-epel/fedora-rawhide-x86_64/08953931-pipewire-epel/builder-live.log.gz

Please make sure the package builds successfully at least for Fedora Rawhide.

- If the build failed for unrelated reasons (e.g. temporary network
  unavailability), please ignore it.
- If the build failed because of missing BuildRequires, please make sure they
  are listed in the "Depends On" field


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

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 3 Neal Gompa 2025-04-23 02:57:17 UTC
Taking this review.


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