From 81bfb062b7eae1291a9020120e1e7d313a274ce5 Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Wed, 20 Dec 2023 17:47:24 -0500 Subject: [PATCH] Enable asfdemux, dvdlpcmdec, dvdsub, and realmedia plugins Disable AMR plugins in RHEL builds Resolves: rhbz#2236889 --- .gitignore | 1 + gst-p-ugly-cleanup.sh | 98 ------------------------------- gstreamer1-plugins-ugly-free.spec | 43 ++++++++++---- sources | 2 +- 4 files changed, 32 insertions(+), 112 deletions(-) delete mode 100755 gst-p-ugly-cleanup.sh diff --git a/.gitignore b/.gitignore index 6212f7b..2c28274 100644 --- a/.gitignore +++ b/.gitignore @@ -40,3 +40,4 @@ /gst-plugins-ugly-free-1.22.5.tar.xz /gst-plugins-ugly-free-1.22.7.tar.xz /gst-plugins-ugly-free-1.22.8.tar.xz +/gst-plugins-ugly-1.22.8.tar.xz diff --git a/gst-p-ugly-cleanup.sh b/gst-p-ugly-cleanup.sh deleted file mode 100755 index 2e1a149..0000000 --- a/gst-p-ugly-cleanup.sh +++ /dev/null @@ -1,98 +0,0 @@ -#!/bin/sh - -# Process a gst-plugins-ugly tarball to remove -# unwanted GStreamer plugins. -# -# See https://bugzilla.redhat.com/show_bug.cgi?id=1397261 -# for details -# -# Bastien Nocera - 2010 -# Yaakov Selkowitz - 2016 -# - -SOURCE="$1" -NEW_SOURCE=`echo $SOURCE | sed 's/ugly-/ugly-free-/'` -DIRECTORY=`echo $SOURCE | sed 's/\.tar\.xz//'` - -ALLOWED=" -xingmux -" - -NOT_ALLOWED=" -asfdemux -dvdlpcmdec -dvdsub -realmedia -" - -error() -{ - MESSAGE=$1 - echo $MESSAGE - exit 1 -} - -check_allowed() -{ - MODULE=$1 - for i in $ALLOWED ; do - if test x$MODULE = x$i ; then - return 0; - fi - done - # Ignore errors coming from ext/ directory - # they require external libraries so are ineffective anyway - return 1; -} - -check_not_allowed() -{ - MODULE=$1 - for i in $NOT_ALLOWED ; do - if test x$MODULE = x$i ; then - return 0; - fi - done - return 1; -} - -rm -rf $DIRECTORY -tar xJf $SOURCE || error "Cannot unpack $SOURCE" -pushd $DIRECTORY > /dev/null || error "Cannot open directory \"$DIRECTORY\"" - -unknown="" -for subdir in gst ext; do - for dir in $subdir/* ; do - # Don't touch non-directories - if ! [ -d $dir ] ; then - continue; - fi - MODULE=`basename $dir` - if ( check_not_allowed $MODULE ) ; then - echo "**** Removing $MODULE ****" - echo "Removing directory $dir" - rm -r $dir || error "Cannot remove $dir" - echo - elif test $subdir = ext || test $subdir = sys; then - # Ignore library or system non-blacklisted plugins - continue; - elif ! ( check_allowed $MODULE ) ; then - echo "Unknown module in $dir" - unknown="$unknown $dir" - fi - done -done - -echo - -if test "x$unknown" != "x"; then - echo -n "Aborting due to unknown modules: " - echo "$unknown" | sed "s/ /\n /g" - exit 1 -fi - -popd > /dev/null - -tar cJf $NEW_SOURCE $DIRECTORY -echo "$NEW_SOURCE is ready to use" - diff --git a/gstreamer1-plugins-ugly-free.spec b/gstreamer1-plugins-ugly-free.spec index d6f9fc8..34eac23 100644 --- a/gstreamer1-plugins-ugly-free.spec +++ b/gstreamer1-plugins-ugly-free.spec @@ -1,12 +1,19 @@ %global majorminor 1.0 +# Only build amrnb/amrwbdec on fedora +%if 0%{?fedora} +%bcond_without amr +%else +%bcond_with amr +%endif + #global gitrel 140 #global gitcommit 4ca3a22b6b33ad8be4383063e76f79c4d346535d #global shortcommit %(c=%{gitcommit}; echo ${c:0:5}) Name: gstreamer1-plugins-ugly-free Version: 1.22.8 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GStreamer streaming media framework "ugly" plugins License: LGPLv2+ and LGPLv2 @@ -14,14 +21,10 @@ URL: http://gstreamer.freedesktop.org/ %if 0%{?gitrel} # git clone git://anongit.freedesktop.org/gstreamer/gst-plugins-ugly # cd gst-plugins-ugly; git reset --hard %{gitcommit}; ./autogen.sh; make; make distcheck -# modified with gst-p-ugly-cleanup.sh from SOURCE1 +Source0: gst-plugins-ugly-%{version}.tar.xz %else -# The source is: -# http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-%{version}.tar.xz -# modified with gst-p-ugly-cleanup.sh from SOURCE1 +Source0: https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-%{version}.tar.xz %endif -Source0: gst-plugins-ugly-free-%{version}.tar.xz -Source1: gst-p-ugly-cleanup.sh BuildRequires: meson >= 0.48.0 BuildRequires: gcc @@ -36,10 +39,12 @@ BuildRequires: liba52-devel BuildRequires: libcdio-devel BuildRequires: libdvdread-devel BuildRequires: libmpeg2-devel +%if %{with amr} BuildRequires: opencore-amr-devel +%endif -# when amr* were moved here from -ugly -Conflicts: gstreamer1-plugins-ugly < 1.20.5-2 +# when asfdemux, dvdlpcmdec, dvdsub, and realmedia were moved here +Conflicts: gstreamer1-plugins-ugly < 1.22.7-2 %description GStreamer is a streaming media framework, based on graphs of elements which @@ -70,10 +75,11 @@ is not fully compatible with LGPL. %meson \ -D package-name="Fedora GStreamer-plugins-ugly package" \ -D package-origin="http://download.fedoraproject.org" \ + %{!?with_amr:-D amrnb=disabled -D amrwbdec=disabled } \ -D doc=disabled \ -D sidplay=disabled \ - -D x264=disabled -D asfdemux=disabled -D dvdlpcmdec=disabled \ - -D dvdsub=disabled -D realmedia=disabled -D gpl=enabled + -D x264=disabled \ + -D gpl=enabled %meson_build @@ -136,15 +142,21 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' %{_datadir}/appdata/*.appdata.xml # Plugins without external dependencies +%{_libdir}/gstreamer-%{majorminor}/libgstasf.so +%{_libdir}/gstreamer-%{majorminor}/libgstdvdlpcmdec.so +%{_libdir}/gstreamer-%{majorminor}/libgstdvdsub.so +%{_libdir}/gstreamer-%{majorminor}/libgstrealmedia.so # Plugins with external dependencies %{_libdir}/gstreamer-%{majorminor}/libgsta52dec.so -%{_libdir}/gstreamer-%{majorminor}/libgstamrnb.so -%{_libdir}/gstreamer-%{majorminor}/libgstamrwbdec.so %{_libdir}/gstreamer-%{majorminor}/libgstcdio.so %{_libdir}/gstreamer-%{majorminor}/libgstdvdread.so %{_libdir}/gstreamer-%{majorminor}/libgstmpeg2dec.so +%if %{with amr} +%{_libdir}/gstreamer-%{majorminor}/libgstamrnb.so +%{_libdir}/gstreamer-%{majorminor}/libgstamrwbdec.so %{_datadir}/gstreamer-%{majorminor}/presets/GstAmrnbEnc.prs +%endif %if 0 %files devel @@ -152,6 +164,11 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' %endif %changelog +* Wed Dec 20 2023 Yaakov Selkowitz - 1.22.8-2 +- Enable asfdemux, dvdlpcmdec, dvdsub, and realmedia plugins +- Disable AMR plugins in RHEL builds +- Resolves: rhbz#2236889 + * Mon Dec 18 2023 Gwyn Ciesla - 1.22.8-1 - 1.22.8 diff --git a/sources b/sources index ac8fd6f..ecad30d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gst-plugins-ugly-free-1.22.8.tar.xz) = c4b6b8739e67edad83931573b1c86b8b668289b7d67f346961edbdd7428bd7645f3f6998bb1585a494c81b3d256193ffc8c6524055d2e0bfa7353f5a96f2a91f +SHA512 (gst-plugins-ugly-1.22.8.tar.xz) = 4c0d0ca3e8e11288ad852ec4c13755b9624ec65a12ef68bdda192326cf205337f766958c4f75d605b04a4f1a06cfff27f418061e9db02119b2fa4c9c0fbb49fe