From 26a047a816428b58e3694f94c9ef921234f8b820 Mon Sep 17 00:00:00 2001 From: diego Date: Thu, 31 Jul 2008 09:49:16 +0000 Subject: Rename binary-codecs.sh once more to binary_codecs.sh as it is called in Debian. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27382 b3059339-0415-0410-9bf9-f77b7e298cf2 --- TOOLS/README | 6 +- TOOLS/binary-codecs.sh | 181 --------------------------------------- TOOLS/binary_codecs.sh | 225 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 228 insertions(+), 184 deletions(-) delete mode 100755 TOOLS/binary-codecs.sh create mode 100755 TOOLS/binary_codecs.sh (limited to 'TOOLS') diff --git a/TOOLS/README b/TOOLS/README index bbeb6177af..7aa32bd150 100644 --- a/TOOLS/README +++ b/TOOLS/README @@ -429,15 +429,15 @@ Note: You will need the libwww-perl stuff and the cabextract utility which can be found at http://www.kyz.uklinux.net/cabextract.php3. -binary-codecs.sh +binary_codecs.sh Author: Andrea Menucci, thuglife Description: Downloads binary codecs from mplayerhq.hu and installs them on a Debian system. -Usage: binary-codecs.sh install - binary-codecs.sh uninstall +Usage: binary_codecs.sh install + binary_codecs.sh uninstall vobshift.py diff --git a/TOOLS/binary-codecs.sh b/TOOLS/binary-codecs.sh deleted file mode 100755 index c4ab61cf4b..0000000000 --- a/TOOLS/binary-codecs.sh +++ /dev/null @@ -1,181 +0,0 @@ -#!/bin/sh -set -e - -# This script will download binary codecs for MPlayer unto a Debian system. - -# Author: thuglife, mennucc1 -# - -CODECDIR=/usr/lib/codecs -PREFDIR=/var/lib/mplayer/prefs -MYSITE='http://people.debian.org/~mennucc1/mplayer' - -dpkgarch=$(dpkg --print-installation-architecture) - -[ -d $PREFDIR ] || mkdir -v $PREFDIR -[ -d $CODECDIR ] || mkdir -v $CODECDIR -cd $CODECDIR -[ -d mplayer_binary_codecs ] || mkdir -v mplayer_binary_codecs - - -choosemirror () -{ - cd $PREFDIR - - #if [ ! -r mirrors ] || find mirrors -mtime +20 ; then - echo Downloading mirrors list.. - wget -nv -c -N $MYSITE/mirrors || true - #fi - if [ ! -r bestsites ] || [ mirrors -nt bestsites ] || \ - find bestsites -mtime +20 > /dev/null ; then - if which netselect > /dev/null ; then - echo Choosing best mirrors using netselect.... - netselect -s 5 $( cat mirrors ) | awk '{print $2}' > bestsites - elif which fping > /dev/null ; then - fping -C 1 $( sed 's#.*//##;s#/.*##' mirrors ) 2>&1 | \ - egrep -v 'bytes.*loss' | sort -n -k3 | \ - grep -v ': *-' | awk '/:/{print $1}' | head -5 > bestsites - else - echo "(If you install 'netselect', it will select the best mirror for you" - echo " you may wish to stop this script and rerun after installation)" - sleep 5 - head -3 mirrors > bestsites - fi - fi -} - - - -INSTALL () { - filename="$3" - dir="$2" - url="$1" - - cd $CODECDIR/mplayer_binary_codecs - - if [ -r $filename ] ; then - cp $filename $filename.bak - fi - - if [ "$url" = @MAINSITE@ ] ; then - cat $PREFDIR/bestsites | while read mainsite ; do - echo Downloading $filename from $mainsite ... - wget -v -c -N $mainsite/$dir/$filename || true - if [ -r "$filename" ] ; then - UNPACK "$filename" - [ -r $filename.bak ] && rm $filename.bak - return 0 - fi - done - else - wget -v -c -N $url/$dir/$filename || true - if [ -r "$filename" ] ; then - UNPACK "$filename" - [ -r $filename.bak ] && rm $filename.bak - return 0 - fi - fi -} - - - - -UNPACK () -{ - filename="$1" - if [ ! -r $filename.bak ] || ! cmp $filename.bak $filename ; then - echo Installing $filename ... - if [ -r $filename.list ] ; then - tr '\n' '\000' < $filename.list | xargs -r0 rm || true - UNLINK $filename.list - rm $filename.list - fi - - case "$filename" in - *.tar.gz) - tar xvzf $filename > $filename.list - #rm $filename - ;; - *.tgz) - tar xvzf $filename > $filename.list - #rm $filename - ;; - *.tar.bz2) - tar --bzip2 -xvf $filename > $filename.list - #rm $filename - ;; - esac - LINK $filename.list - echo "Installed $filename Succesfully!" - fi -} - -LINK () { - cd $CODECDIR/ - cat $CODECDIR/mplayer_binary_codecs/$1 | while read f ; do - ln -sbf mplayer_binary_codecs/"$f" . - done -} - -UNLINK () { -### FIXME -# cd $CODECDIR -# cat $CODECDIR/mplayer_binary_codecs/$1 | while f do -# ln -sbf mplayer_binary_codecs/"$f" -# done - if which symlinks > /dev/null ; then - symlinks -d $CODECDIR - fi -} - -if [ `whoami` != root ]; then - echo "You must be 'root' to use this script. Login as root first!" - exit 1 -fi - -case "$1" in - install) - choosemirror - cd $PREFDIR - #if [ ! -r codecs_list ] || find codecs_list -mtime +20 ; then - echo 'Getting codecs list ...' - wget -nv -c -N $MYSITE/codecs_list || true - #fi - - if grep -q "^$dpkgarch" $PREFDIR/codecs_list ] ; then - egrep -v "^[[:space:]]*(#|$)" $PREFDIR/codecs_list | \ - while read arch url dir file info ; do - if [ "$dpkgarch" = "$arch" ]; then - echo Installing $file $info... - INSTALL "$url" "$dir" "$file" - n=1 - fi - done - else - echo "Sorry, no codecs for your arch '$dpkgarch'. Sorry dude :(" - exit 1 - fi - ;; - - uninstall) - cd $CODECDIR/ - rm -rf mplayer_binary_codecs - #FIXME we need a better clean system - if which symlinks > /dev/null ; then - symlinks -d . - else - echo "please install the package 'symlinks' and run 'symlinks -d $CODECDIR' " - fi - echo "Uninstalled Succesfully!" - ;; - - *) - echo "Usage: {install|uninstall}" - echo "This program will install binary codecs for MPlayer." - exit 1 - ;; - -esac - - -exit 0 diff --git a/TOOLS/binary_codecs.sh b/TOOLS/binary_codecs.sh new file mode 100755 index 0000000000..6d530dd344 --- /dev/null +++ b/TOOLS/binary_codecs.sh @@ -0,0 +1,225 @@ +#!/bin/sh +set -e +umask 0022 + +# This script will download binary codecs for MPlayer unto a Debian system. + +# Author: thuglife, mennucc1 +# + +CODECDIR=/usr/lib/codecs +PREFDIR=/var/lib/mplayer/prefs +MYSITE='http://people.debian.org/~mennucc1/mplayer' + +dpkgarch=$(dpkg --print-installation-architecture) + +[ -d $PREFDIR ] || mkdir -v $PREFDIR +[ -d $CODECDIR ] || mkdir -v $CODECDIR +cd $CODECDIR +[ -d mplayer_binary_codecs ] || mkdir -v mplayer_binary_codecs + + +choosemirror () +{ + cd $PREFDIR + + #if [ ! -r mirrors ] || find mirrors -mtime +20 ; then + echo Downloading mirrors list.. + wget -nv -N $MYSITE/mirrors || true + #fi + if [ ! -r bestsites ] || [ mirrors -nt bestsites ] || \ + find bestsites -mtime +20 | grep -q bestsites ; then + if which netselect > /dev/null ; then + echo Choosing best mirrors using netselect.... + netselect -s 5 -t 5 $( cat mirrors ) | awk '{print $2}' > bestsites + elif which fping > /dev/null ; then + fping -C 1 $( sed 's#.*//##;s#/.*##' mirrors ) 2>&1 | \ + egrep -v 'bytes.*loss' | sort -n -k3 | \ + grep -v ': *-' | awk '/:/{print $1}' | head -5 | ( while read mainsite ; do + grep $mainsite $PREFDIR/mirrors ; done ) > bestsites + else + echo "(If you install 'netselect' or 'fping', it will select the best mirror for you" + echo " you may wish to stop this script and rerun after installation)" + sleep 3 + head -3 mirrors > bestsites + fi + fi + + #sometimes the above fails + if ! test -s bestsites ; then + head -3 mirrors > bestsites + fi +} + + + +INSTALL () { + filename="$3" + dir="$2" + url="$1" + + cd $CODECDIR/mplayer_binary_codecs + + if [ -r $filename ] ; then + cp $filename $filename.bak + fi + + if [ "$url" = @MAINSITE@ ] ; then + cat $PREFDIR/bestsites | while read mainsite ; do + echo Downloading $filename from $mainsite ... + wget -c -N $mainsite/$dir/$filename || true + if [ -r "$filename" ] ; then + UNPACK "$filename" + return 0 + fi + done + else + wget -c -N $url/$dir/$filename || true + if [ -r "$filename" ] ; then + UNPACK "$filename" + return 0 + fi + fi +} + + + + +UNPACK () +{ + filename="$1" + if [ -r $filename.bak ] && cmp $filename.bak $filename && [ -r $filename.list ] ; then + echo It appears that $filename was already succesfully installed + [ -r $filename.bak ] && rm $filename.bak + else + if grep -q " $filename$" $PREFDIR/MD5SUMS ; then + echo Checking MD5 for $filename + grep " $filename$" $PREFDIR/MD5SUMS | md5sum -c - + else + echo Warning: no MD5 for $filename were found. Hit enter to continue. + read + fi + echo Installing $filename ... + if [ -r $filename.list ] ; then + tr '\n' '\000' < $filename.list | xargs -r0 rm || true + UNLINK $filename.list + rm $filename.list + fi + + tarfail () { echo FAILED $filename ; rm $filename.list ; exit 1 ; } + + case "$filename" in + *.tar.gz) + tar xvzf $filename > $filename.list || tarfail + #rm $filename + ;; + *.tgz) + tar xvzf $filename > $filename.list || tarfail + #rm $filename + ;; + *.tar.bz2) + tar --bzip2 -xvf $filename > $filename.list || tarfail + #rm $filename + ;; + esac + [ -r $filename.bak ] && rm $filename.bak + LINK $filename.list + echo "Installed $filename Succesfully!" + fi +} + +LINK () { + cd $CODECDIR/ + cat $CODECDIR/mplayer_binary_codecs/$1 | while read f ; do + ln -sbf mplayer_binary_codecs/"$f" . + done +} + +UNLINK () { +### FIXME +# cd $CODECDIR +# cat $CODECDIR/mplayer_binary_codecs/$1 | while f do +# ln -sbf mplayer_binary_codecs/"$f" +# done + if which symlinks > /dev/null ; then + symlinks -d $CODECDIR + fi +} + +if [ `whoami` != root ]; then + echo "You must be 'root' to use this script. Login as root first!" + exit 1 +fi + +case "$1" in + install) + if test -x /bin/bzip2 || test -x /usr/bin/bzip2 ; then : ; else + echo You need to install bzip2 + exit 1 + fi + choosemirror + cd $PREFDIR + #if [ ! -r codecs_list ] || find codecs_list -mtime +20 ; then + echo 'Getting codecs list ...' + wget -nv -N $MYSITE/codecs_list || true + #fi + + cd $PREFDIR + echo Downloading MD5 sums from main site + [ -r MD5SUMS ] && mv MD5SUMS MD5SUMS.bak + if wget -nv -N http://www.mplayerhq.hu/MPlayer/releases/codecs/MD5SUMS ; then + [ -r MD5SUMS.bak ] && rm MD5SUMS.bak + else + echo failed... + if [ -r MD5SUMS.bak ] ; then + echo trying to use backup ... ; + mv MD5SUMS.bak MD5SUMS + fi + fi + + if grep -q "^$dpkgarch" $PREFDIR/codecs_list ; then + egrep -v "^[[:space:]]*(#|$)" $PREFDIR/codecs_list | \ + while read arch url dir file info ; do + if [ "$dpkgarch" = "$arch" ]; then + echo Downloading and installing $file $info... + INSTALL "$url" "$dir" "$file" + fi + done + if test "$dpkgarch" = powerpc && ! test -r /usr/lib/libstdc++.so.5 ; then + echo 'Warning: you need to install libstdc++ 5 libraries' + echo -n 'Do it now? ' + read R + case $R in + y*) apt-get install libstdc++5 ;; + *) echo 'If you change your mind, use the command' + echo ' apt-get install libstdc++5' ;; + esac + fi + else + echo "Sorry, no codecs for your arch '$dpkgarch'. Sorry dude :(" + exit 1 + fi + ;; + + uninstall) + cd $CODECDIR/ + rm -rf mplayer_binary_codecs + #FIXME we need a better clean system + if which symlinks > /dev/null ; then + symlinks -d . + else + echo "please install the package 'symlinks' and run 'symlinks -d $CODECDIR' " + fi + echo "Uninstalled Succesfully!" + ;; + + *) + echo "Usage: {install|uninstall}" + echo "This program will install binary codecs for MPlayer." + exit 1 + ;; + +esac + + +exit 0 -- cgit v1.2.3