Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:12.2
gstreamer-0_10-plugins-bad
gstreamer-0_10-plugins-bad-patch-source.sh
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File gstreamer-0_10-plugins-bad-patch-source.sh of Package gstreamer-0_10-plugins-bad
#!/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 adpcmdec adpcmenc aiff aiffparse amrparse asfmux audioparsers audiovisualizers autoconvert bayer camerabin camerabin2 coloreffects colorspace cdxaparse dataurisrc dccp debugutils dtmf dvbsuboverlay faceoverlay festival fieldanalysis freeverb freeze frei0r gaudieffects geometrictransform h264parse hdvparse hls id3tag inter interlace invtelecine ivfparse jp2kdecimator jpegformat legacyresample librfb liveadder 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 " NOT_ALLOWED=" dvdspu 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\"" 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 = 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 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" 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