Bug 2361814

Summary: Review Request: pipewire-epel - Media Sharing Server
Product: [Fedora] Fedora Reporter: Davide Cavalca <davide>
Component: Package ReviewAssignee: Neal Gompa <ngompa13>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: ngompa13, package-review
Target Milestone: ---Flags: ngompa13: fedora-review+
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://pipewire.org/
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-05-21 02:19:56 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2318266    

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.

Comment 4 Neal Gompa 2025-05-19 12:39:46 UTC
Review notes:

* Package follows EPEL subpackage guidelines
* Package follows Fedora packaging guidelines
* Package builds and installs
* No serious issues from rpmlint

PACKAGE APPROVED.

Comment 5 Fedora Admin user for bugzilla script actions 2025-05-19 12:41:17 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/pipewire-epel

Comment 6 Fedora Update System 2025-05-19 13:14:29 UTC
FEDORA-EPEL-2025-9f58d477b3 (asahi-audio-3.3-2.el10_1 and pipewire-epel-1.2.7-2.el10_1) has been submitted as an update to Fedora EPEL 10.1.
https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2025-9f58d477b3

Comment 7 Fedora Update System 2025-05-20 02:31:44 UTC
FEDORA-EPEL-2025-9f58d477b3 has been pushed to the Fedora EPEL 10.1 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2025-9f58d477b3

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 8 Fedora Update System 2025-05-21 02:19:56 UTC
FEDORA-EPEL-2025-9f58d477b3 (asahi-audio-3.3-2.el10_1 and pipewire-epel-1.2.7-2.el10_1) has been pushed to the Fedora EPEL 10.1 stable repository.
If problem still persists, please make note of it in this bug report.