Package init

This commit is contained in:
dogsheng 2019-11-19 11:47:05 +08:00
commit 1e5ffe7e65
3 changed files with 476 additions and 0 deletions

208
gst-p-bad-cleanup.sh Normal file
View File

@ -0,0 +1,208 @@
#!/bin/sh
# Process a gst-plugins-bad tarball to remove
# unwanted GStreamer plugins.
#
# See https://bugzilla.redhat.com/show_bug.cgi?id=532470
# for details
#
# Bastien Nocera <bnocera@redhat.com> - 2010
#
SOURCE="$1"
NEW_SOURCE=`echo $SOURCE | sed 's/bad-/bad-free-/'`
DIRECTORY=`echo $SOURCE | sed 's/\.tar\.xz//'`
ALLOWED="
aacparse
accurip
adpcmdec
adpcmenc
aiff
aiffparse
amrparse
asfmux
audiobuffersplit
audiofxbad
audiolatency
audiomixer
audiomixmatrix
audioparsers
audiovisualizers
autoconvert
bayer
camerabin
camerabin2
cdxaparse
coloreffects
colorspace
compositor
dataurisrc
dccp
debugutils
dtmf
faceoverlay
festival
fieldanalysis
freeverb
freeze
frei0r
gaudieffects
gdp
geometrictransform
h264parse
hdvparse
hls
id3tag
inter
interlace
invtelecine
ivfparse
ivtc
jpegformat
jp2kdecimator
legacyresample
librfb
liveadder
midi
mve
mpegdemux
mpeg4videoparse
mpegpsmux
mpegtsdemux
mpegtsmux
mpegvideoparse
mxf
netsim
nsf
nuvdemux
onvif
patchdetect
pcapparse
pnm
proxy
qtmux
rawparse
removesilence
rtp
rtpmux
rtpvp8
scaletempo
sdi
sdp
segmentclip
selector
smooth
speed
stereo
subenc
timecode
tta
valve
videofilters
videoframe_audiolevel
videomaxrate
videomeasure
videoparsers
videosignal
vmnc
yadif
y4m
"
NOT_ALLOWED="
dvbsuboverlay
dvdspu
real
siren
"
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 sys; 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"
if grep -q "AG_GST_CHECK_PLUGIN($MODULE)" configure.ac ; then
echo "Removing element check for $MODULE"
grep -v "AG_GST_CHECK_PLUGIN($MODULE)" configure.ac > configure.ac.new && mv configure.ac.new configure.ac
fi
echo "Removing Makefile generation for $MODULE"
grep -v "$dir/Makefile" configure.ac > configure.ac.new && mv configure.ac.new configure.ac
# Urgh
if test $MODULE = real ; then
grep -v "AG_GST_DISABLE_PLUGIN(real)" configure.ac > configure.ac.new && mv configure.ac.new configure.ac
fi
echo "Removing documentation for $MODULE"
if grep -q "$MODULE" docs/plugins/Makefile.am ; then
grep -v $dir docs/plugins/Makefile.am > docs/plugins/Makefile.am.new && mv docs/plugins/Makefile.am.new docs/plugins/Makefile.am
fi
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 unkown modules: "
echo "$unknown" | sed "s/ /\n /g"
exit 1
fi
#autoreconf
NOCONFIGURE=1 \
./autogen.sh
popd > /dev/null
tar cJf $NEW_SOURCE $DIRECTORY
echo "$NEW_SOURCE is ready to use"

Binary file not shown.

View File

@ -0,0 +1,268 @@
%global majorminor 1.0
%bcond_with extras
Name: gstreamer1-plugins-bad-free
Version: 1.14.4
Release: 2
Summary: Not well tested plugins for GStreamer framework
License: LGPLv2+ and LGPLv2
URL: http://gstreamer.freedesktop.org/
Source0: gst-plugins-bad-free-%{version}.tar.xz
Source1: gst-p-bad-cleanup.sh
BuildRequires: gstreamer1-devel >= %{version}
BuildRequires: gstreamer1-plugins-base-devel >= %{version}
BuildRequires: check gettext-devel libXt-devel gtk-doc
BuildRequires: gobject-introspection-devel >= 1.31.1
BuildRequires: bzip2-devel exempi-devel gsm-devel jasper-devel ladspa-devel
BuildRequires: lcms2-devel libdvdnav-devel libexif-devel libiptcdata-devel
BuildRequires: libmpcdec-devel libnice-devel librsvg2-devel libsndfile-devel
BuildRequires: mesa-libGL-devel mesa-libGLES-devel mesa-libGLU-devel
BuildRequires: openssl-devel orc-devel soundtouch-devel wavpack-devel
BuildRequires: opus-devel nettle-devel libgcrypt-devel libwayland-client-devel
BuildRequires: gnutls-devel libsrtp-devel pkgconfig(gudev-1.0) pkgconfig(libusb-1.0)
BuildRequires: gtk3-devel >= 3.4 bluez-libs-devel >= 5.0 libwebp-devel
BuildRequires: mesa-libEGL-devel webrtc-audio-processing-devel
%if %{with extras}
BuildRequires: libbs2b-devel >= 3.1.0 fluidsynth-devel libass-devel
BuildRequires: libchromaprint-devel libcurl-devel game-music-emu-devel
BuildRequires: libkate-devel libmodplug-devel libofa-devel libvdpau-devel
BuildRequires: openal-soft-devel openjpeg2-devel slv2-devel wildmidi-devel
BuildRequires: zbar-devel zvbi-devel OpenEXR-devel
%endif
%description
GStreamer is a pipeline-based multi media framework that links together a
wide variety of media processing systems to complete complex workflows, based
on graphs of filters which operate on media data.
This package contains plug-ins that are not tested well enough yet, or the code
is not of good enough quality.
%if %{with extras}
%package extras
Summary: Extra GStreamer "bad"(not well tested) plugins
Requires: %{name} = %{version}-%{release}
%description extras
This package (%{name}-extras) providess extra not-well-tested plugins for sources
, sinks and effects which are not used very much and require
additional libraries to be installed.
%package fluidsynth
Summary: GStreamer "bad"(not well tested) plugins fluidsynth plugin
Requires: %{name} = %{version}-%{release}
Requires: soundfont2-default
%description fluidsynth
This package (%{name}-fluidsynth) provides the fluidsynth
plugin which allows playback of midi files.
%package wildmidi
Summary: GStreamer "bad"(not well tested) plugins wildmidi plugin
Requires: %{name} = %{version}-%{release}
%description wildmidi
This package (%{name}-wildmidi) provides the wildmidi plugin which allows playback
of midi files.
%endif
%package devel
Summary: Development files for the GStreamer media framework "bad" plugins
Requires: %{name} = %{version}-%{release}
Requires: gstreamer1-plugins-base-devel
%description devel
This package provides the development files for GStreamer not-well-tested plugins.
%prep
%autosetup -n gst-plugins-bad-%{version}
%build
%configure --disable-silent-rules --disable-fatal-warnings \
--with-package-name="openEuler GStreamer-plugins-bad package" \
--with-package-origin="https://openeuler.org/en/building/download.html" \
%{!?with_extras:--disable-fbdev --disable-decklink --disable-linsys} \
--enable-debug --disable-static --enable-gtk-doc --enable-experimental \
--disable-dts --disable-faac --disable-faad --disable-nas \
--disable-mimic --disable-libmms --disable-mpeg2enc --disable-mplex \
--disable-neon --disable-rtmp --disable-xvid \
--disable-flite --disable-mpg123 --disable-sbc --disable-opencv \
--disable-spandsp --disable-voamrwbenc --disable-x265
%make_build
%install
%make_install
install -d $RPM_BUILD_ROOT%{_datadir}/appdata
cat > $RPM_BUILD_ROOT%{_datadir}/appdata/gstreamer-bad-free.appdata.xml <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2013 Richard Hughes <richard@hughsie.com> -->
<component type="codec">
<id>gstreamer-bad-free</id>
<metadata_license>CC0-1.0</metadata_license>
<name>GStreamer Multimedia Codecs - Extra</name>
<summary>Multimedia playback for AIFF, DVB, GSM, MIDI, MXF and Opus</summary>
<description>
<p>
This addon includes several additional codecs that are missing
something - perhaps a good code review, some documentation, a set of
tests, a real live maintainer, or some actual wide use.
However, they might be good enough to play your media files.
</p>
<p>
These codecs can be used to encode and decode media files where the
format is not patent encumbered.
</p>
<p>
A codec decodes audio and video for for playback or editing and is also
used for transmission or storage.
Different codecs are used in video-conferencing, streaming media and
video editing applications.
</p>
</description>
<keywords>
<keyword>AIFF</keyword>
<keyword>DVB</keyword>
<keyword>GSM</keyword>
<keyword>MIDI</keyword>
<keyword>MXF</keyword>
<keyword>Opus</keyword>
</keywords>
<url type="homepage">http://gstreamer.freedesktop.org/</url>
<url type="bugtracker">https://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer</url>
<url type="help">http://gstreamer.freedesktop.org/documentation/</url>
<url type="donation">http://www.gnome.org/friends/</url>
<update_contact><!-- upstream-contact_at_email.com --></update_contact>
</component>
EOF
%find_lang gst-plugins-bad-%{majorminor}
%delete_la
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files -f gst-plugins-bad-%{majorminor}.lang
%license COPYING COPYING.LIB
%doc AUTHORS README REQUIREMENTS
%{_datadir}/appdata/*.appdata.xml
%{_datadir}/gstreamer-%{majorminor}/presets/GstFreeverb.prs
%{_libdir}/libgst*-%{majorminor}.so.*
%{_libdir}/girepository-1.0/Gst*-%{majorminor}.typelib
%{_libdir}/gstreamer-%{majorminor}/libgstaccurip.so
%{_libdir}/gstreamer-%{majorminor}/libgstadpcmdec.so
%{_libdir}/gstreamer-%{majorminor}/libgstadpcmenc.so
%{_libdir}/gstreamer-%{majorminor}/libgstaiff.so
%{_libdir}/gstreamer-%{majorminor}/libgstasfmux.so
%{_libdir}/gstreamer-%{majorminor}/libgstaudio{buffersplit,fxbad,latency,mixmatrix,visualizers}.so
%{_libdir}/gstreamer-%{majorminor}/libgstautoconvert.so
%{_libdir}/gstreamer-%{majorminor}/libgstbayer.so
%{_libdir}/gstreamer-%{majorminor}/libgstcamerabin.so
%{_libdir}/gstreamer-%{majorminor}/libgstcoloreffects.so
%{_libdir}/gstreamer-%{majorminor}/libgstcompositor.so
%{_libdir}/gstreamer-%{majorminor}/libgstdashdemux.so
%{_libdir}/gstreamer-%{majorminor}/libgstfaceoverlay.so
%if %{with extras}
%{_libdir}/gstreamer-%{majorminor}/libgstfbdevsink.so
%endif
%{_libdir}/gstreamer-%{majorminor}/libgstfestival.so
%{_libdir}/gstreamer-%{majorminor}/libgstfieldanalysis.so
%{_libdir}/gstreamer-%{majorminor}/libgstfreeverb.so
%{_libdir}/gstreamer-%{majorminor}/libgstfrei0r.so
%{_libdir}/gstreamer-%{majorminor}/libgstgaudieffects.so
%{_libdir}/gstreamer-%{majorminor}/libgstgdp.so
%{_libdir}/gstreamer-%{majorminor}/libgstgeometrictransform.so
%{_libdir}/gstreamer-%{majorminor}/libgstlegacyrawparse.so
%{_libdir}/gstreamer-%{majorminor}/libgstid3tag.so
%{_libdir}/gstreamer-%{majorminor}/libgstipcpipeline.so
%{_libdir}/gstreamer-%{majorminor}/libgstinter.so
%{_libdir}/gstreamer-%{majorminor}/libgstinterlace.so
%{_libdir}/gstreamer-%{majorminor}/libgstivfparse.so
%{_libdir}/gstreamer-%{majorminor}/libgstivtc.so
%{_libdir}/gstreamer-%{majorminor}/libgstjp2kdecimator.so
%{_libdir}/gstreamer-%{majorminor}/libgstjpegformat.so
%{_libdir}/gstreamer-%{majorminor}/libgstmidi.so
%{_libdir}/gstreamer-%{majorminor}/libgstmpeg{psdemux,tsdemux,psmux,tsmux}.so
%{_libdir}/gstreamer-%{majorminor}/libgstmxf.so
%{_libdir}/gstreamer-%{majorminor}/libgstnetsim.so
%{_libdir}/gstreamer-%{majorminor}/libgstpcapparse.so
%{_libdir}/gstreamer-%{majorminor}/libgstpnm.so
%{_libdir}/gstreamer-%{majorminor}/libgstproxy.so
%{_libdir}/gstreamer-%{majorminor}/libgstremovesilence.so
%{_libdir}/gstreamer-%{majorminor}/libgstresindvd.so
%{_libdir}/gstreamer-%{majorminor}/libgstrfbsrc.so
%{_libdir}/gstreamer-%{majorminor}/libgstrsvg.so
%{_libdir}/gstreamer-%{majorminor}/libgstrtponvif.so
%{_libdir}/gstreamer-%{majorminor}/libgstsdpelem.so
%{_libdir}/gstreamer-%{majorminor}/libgstsegmentclip.so
%{_libdir}/gstreamer-%{majorminor}/libgstshm.so
%{_libdir}/gstreamer-%{majorminor}/libgstsmooth.so
%{_libdir}/gstreamer-%{majorminor}/libgstsmoothstreaming.so
%{_libdir}/gstreamer-%{majorminor}/libgstspeed.so
%{_libdir}/gstreamer-%{majorminor}/libgststereo.so
%{_libdir}/gstreamer-%{majorminor}/libgstsubenc.so
%{_libdir}/gstreamer-%{majorminor}/libgsttimecode.so
%{_libdir}/gstreamer-%{majorminor}/libgstuvch264.so
%{_libdir}/gstreamer-%{majorminor}/libgstvideo{filtersbad,frame_audiolevel,parsersbad,signal}.so
%{_libdir}/gstreamer-%{majorminor}/libgstvmnc.so
%{_libdir}/gstreamer-%{majorminor}/libgstyadif.so
%{_libdir}/gstreamer-%{majorminor}/libgsty4mdec.so
%{_libdir}/gstreamer-%{majorminor}/libgstdvb.so
%{_libdir}/gstreamer-%{majorminor}/libgstvcdsrc.so
%{_libdir}/gstreamer-%{majorminor}/libgstbluez.so
%{_libdir}/gstreamer-%{majorminor}/libgstbz2.so
%{_libdir}/gstreamer-%{majorminor}/libgstcolormanagement.so
%{_libdir}/gstreamer-%{majorminor}/libgstdtls.so
%{_libdir}/gstreamer-%{majorminor}/libgsthls.so
%{_libdir}/gstreamer-%{majorminor}/libgstgsm.so
%{_libdir}/gstreamer-%{majorminor}/libgstkms.so
%{_libdir}/gstreamer-%{majorminor}/libgstladspa.so
%{_libdir}/gstreamer-%{majorminor}/libgstmusepack.so
%{_libdir}/gstreamer-%{majorminor}/libgstopenglmixers.so
%{_libdir}/gstreamer-%{majorminor}/libgstopusparse.so
%{_libdir}/gstreamer-%{majorminor}/libgstsndfile.so
%{_libdir}/gstreamer-%{majorminor}/libgstsoundtouch.so
%{_libdir}/gstreamer-%{majorminor}/libgstsrtp.so
%{_libdir}/gstreamer-%{majorminor}/libgstttmlsubs.so
%{_libdir}/gstreamer-%{majorminor}/libgstwaylandsink.so
%{_libdir}/gstreamer-%{majorminor}/libgstwebp.so
%{_libdir}/gstreamer-%{majorminor}/libgstwebrtc.so
%{_libdir}/gstreamer-%{majorminor}/libgstwebrtcdsp.so
%{_libdir}/gstreamer-%{majorminor}/libgstdebugutilsbad.so
%if %{with extras}
%files extras
%{_libdir}/gstreamer-%{majorminor}/libgstassrender.so
%{_libdir}/gstreamer-%{majorminor}/libgstbs2b.so
%{_libdir}/gstreamer-%{majorminor}/libgstchromaprint.so
%{_libdir}/gstreamer-%{majorminor}/libgstcurl.so
%{_libdir}/gstreamer-%{majorminor}/libgstdecklink.so
%{_libdir}/gstreamer-%{majorminor}/libgstgme.so
%{_libdir}/gstreamer-%{majorminor}/libgstkate.so
%{_libdir}/gstreamer-%{majorminor}/libgstmodplug.so
%{_libdir}/gstreamer-%{majorminor}/libgstofa.so
%{_libdir}/gstreamer-%{majorminor}/libgstopen{al,exr,jpeg}.so
%{_libdir}/gstreamer-%{majorminor}/libgstteletext.so
%{_libdir}/gstreamer-%{majorminor}/libgstvdpau.so
%{_libdir}/gstreamer-%{majorminor}/libgstzbar.so
%files fluidsynth
%{_libdir}/gstreamer-%{majorminor}/libgstfluidsynthmidi.so
%files wildmidi
%{_libdir}/gstreamer-%{majorminor}/libgstwildmidi.so
%endif
%files devel
%doc %{_datadir}/gtk-doc/html/gst-plugins-bad*-%{majorminor}
%{_datadir}/gir-1.0/Gst*-%{majorminor}.gir
%{_libdir}/libgst*-%{majorminor}.so
%{_libdir}/pkgconfig/gstreamer*-%{majorminor}.pc
%{_includedir}/gstreamer-%{majorminor}/gst/*
%changelog
* Tue Oct 22 2019 Alex Chao <zhaolei746@huawei.com> - 1.14.4-2
- Package init