#!/bin/sh

#set -e
DATE=`date +".%Y-%m-%d.%H-%M-%S"`

# === add softdecoder base structure ===
easyvdr-config-m2npv.sh -f -x

# === add/replace kernel params for VGA 640x480 mode (safe for SCART devices) ===
mv -v /boot/grub/menu.lst /boot/grub/menu.lst$DATE
awk '{
    if (match($0, "^kernel.*vmlinuz")) {
        if (match($0, "^(.*vga=)([^ ]*)(| .*)$", a)) {
            print a[1] "0x301" a[3] 
        } else {
            print $0 " vga=0x301"
        }
    } else {
    	print
    }
}' < /boot/grub/menu.lst$DATE > /boot/grub/menu.lst

# === xserver-xorg-video-intel FRC patch ===
stopvdr
/etc/init.d/displaymanager stop
cd /usr/local/src
apt-get -y source xserver-xorg-video-intel
cd /usr/local/src/xserver-xorg-video-intel-2.2.1
apt-get -y install xserver-xorg-dev x11proto-gl-dev libdrm-dev x11proto-xf86dri-dev quilt diffstat
dpkg-buildpackage 
dpkg -i ../xserver-xorg-video-intel_2.2.1-1~etchnhalf2_i386.deb
wget -q http://lowbyte.de/easy-vdr/0.6.02/vga2scart/xv-intel_0.0.2.patch -O - | patch -p1 -l
cd obj-i486-linux-gnu
make -j2
cp ./src/.libs/intel_drv.so /usr/lib/xorg/modules/drivers

# === xorg.conf for PAL/RGB ===
cd /etc/X11
mv -v xorg.conf xorg.conf$DATE
wget -q http://lowbyte.de/easy-vdr/0.6.02/vga2scart/xorg_0.0.2.conf -O xorg.conf

# === some fixes in Runvdr ===
# REMOVE: nice -n -19 vdr 
cd /etc/init.d
wget -q http://lowbyte.de/easy-vdr/0.6.02/vga2scart/Runvdr_0.0.3.patch -O - | patch 

# === upgrade to VDR 1.6 ===
cd /usr/vdr
ln -vnfs /usr/vdr/vdr-1.6.0-1-extp60 vdr
ln -vnfs /usr/vdr/plugins-1.6.0 plugins
cd /usr/local/src
ln -vnfs  /usr/local/src/vdr-1.6.0-1-extp60 VDR
ln -vnfs /usr/local/src/VDR/locale /usr/vdr/locale
cd /usr/local/src/VDR
make

# === xine-lib FRC patches ===
rm -rf /usr/lib/libxine*
rm -rf /usr/lib/xine
rm -rf /usr/bin/xine*
rm -rf /usr/lib/pkgconfig/libxine.pc
cd /usr/local/src
hg clone http://hg.debian.org/hg/xine-lib/xine-lib
cd xine-lib
wget -q http://lowbyte.de/easy-vdr/0.6.02/vga2scart/xine-lib_0.0.1.patch -O - | patch -p1   
./autogen.sh
make -j2
make -j2 install
ldconfig

# === xineliboutput FRC patches ===
cd /usr/local/src/VDR/PLUGINS
mv -v src src.org 
mkdir src
cd src
wget http://ftp3.ie.freebsd.org/pub/sourceforge/x/xi/xineliboutput/vdr-xineliboutput-1.0.3.tar.bz2 -O - | tar -jxvf - 
ln -vnfs xineliboutput-1.0.3 xineliboutput
cd xineliboutput
wget -q http://lowbyte.de/easy-vdr/0.6.02/vga2scart/xineliboutput-tuning-step_0.0.2.patch -O - | patch -p1 
cd /usr/local/src/VDR
make plugins
cd /usr/local/src/VDR/PLUGINS/src/xineliboutput
make install
cd /usr/local/src/VDR/PLUGINS/lib
strip *.*
rm -v /usr/vdr/plugins/*xineliboutput*
cp -v *xineliboutput* /usr/vdr/plugins
cd ..
rm -rf src.org/xineliboutput*
mv -v src/xineliboutput* src.org
rmdir src
mv -v src.org src
startvdr


