Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12:Update
gstreamer-plugins-bad.31942
gstreamer-plugins-bad-patch-source.sh
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File gstreamer-plugins-bad-patch-source.sh of Package gstreamer-plugins-bad.31942
#!/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 # See https://bugzilla.novell.com/show_bug.cgi?id=637056 # for openSUSE discussion # # Bastien Nocera <bnocera@redhat.com> - 2010 # SOURCE="$1" NEW_SOURCE=`echo $SOURCE | sed 's/\.tar/-patched.tar/'` DIRECTORY=`echo $SOURCE | sed 's/\.tar\.xz//'` ALLOWED=" aacparse accurip adpcmdec adpcmenc aiff aiffparse amrparse asfmux audiofxbad audioparsers audiovisualizers autoconvert bayer camerabin camerabin2 coloreffects colorspace cdxaparse dataurisrc dccp debugutils dtmf dvbsuboverlay faceoverlay festival fieldanalysis freeverb freeze frei0r gdp gaudieffects geometrictransform h264parse hdvparse hls id3tag inter interlace invtelecine ivfparse ivtc jp2kdecimator jpegformat legacyresample librfb liveadder midi mve mpeg4videoparse mpegdemux mpegpsmux mpegtsdemux mpegtsmux mpegvideoparse mxf nsf nuvdemux patchdetect pcapparse pnm qtmux rawparse real removesilence rtpmux rtpvp8 scaletempo sdi sdp segmentclip selector smooth speed stereo subenc tta valve videofilters videomaxrate videomeasure videoparsers videosignal vmnc y4m yadif " NOT_ALLOWED=" dvdspu siren " error() { MESSAGE=$1 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 xf $SOURCE || error "Cannot unpack $SOURCE" pushd $DIRECTORY > /dev/null || error "Cannot open directory \"$DIRECTORY\"" 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 rm -r $dir || error "Cannot remove $dir" if grep -q "AG_GST_CHECK_PLUGIN($MODULE)" configure.ac ; then grep -v "AG_GST_CHECK_PLUGIN($MODULE)" configure.ac > configure.ac.new && mv configure.ac.new configure.ac fi grep -v "$dir/Makefile" configure.ac > configure.ac.new && mv configure.ac.new configure.ac # Urgh if test $MODULE = mpegtsmux ; then grep -v "gst/mpegtsmux/tsmux/Makefile" configure.ac > configure.ac.new && mv configure.ac.new configure.ac fi if test $MODULE = real ; then grep -v "AG_GST_DISABLE_PLUGIN(real)" configure.ac > configure.ac.new && mv configure.ac.new configure.ac fi 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 elif test $subdir = ext || test $subdir = sys; then # Ignore library or system non-blacklisted plugins continue; elif ! ( check_allowed $MODULE ) ; then exit 1 fi done done autoreconf popd > /dev/null tar cJf $NEW_SOURCE $DIRECTORY rm -rf $DIRECTORY echo "$NEW_SOURCE is ready to use"
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor