Das ist ein "simples installations script" für den Video Disk Recorder (VDR) Geschrieben von: Dieses script: Uwe Ortner uwe.ortner@classic-net.de Dimitrios Dimitrakos mail@dimitrios.de Jan Lipkowski j.t.l@gmx.de Ronny Kornexl ronny.kornexl@arcor.de Übersetzung: Jürgen Bäumer Commander_Adama@gmx.net Andere Quellen: Kernel Menuconfig, Dialog samples http://tldp.org/LDP/abs/html http://www.netzmafia.de/skripten/unix http://home.t-online.de/home/hubertus.sandmann Project's homepage: ftp://ftp.cadsoft.de/vdr/Tools aktuelle version: ftp://ftp.cadsoft.de/vdr/Tools ---------------------------------------------------------------------- Beschreibung: ---------------------------------------------------------------------- - Scripts mit Download, Installations-Manager für Klaus Schmidinger's VDR Dieses arbeitet unter: ---------------------------------------------------------------------- - SuSE 7.3/8.0/8.1/8.2 (Professional Edition), JBLinux Berichtet wurde das die Scripts auch unter Mandrake, Peanut-Purehead, Gentoo, Debian funktionieren, jedoch ohne Gewähr von meiner Seite Nicht SuSE User am besten die Punkte in denen RPMs vorkommen überspringen, das wären folgende: MJPEGTOOLS, VCDIMAGER, NASM, nutzt am besten den jeweils integrierten Paket Manager Eurer Distri (emerge, apt-get, dpkg -i ...) Anleitung: ---------------------------------------------------------------------- - Scripts nicht unter M$ entpacken, es giebt nur Ärger, meist mit den Rechten, die zum Teil schon gesetzt wurden und zum anderen mit Datei/Verzeichnis Namen. - Schau mal ins readme Verzeichnis, alles was sich dort befindet sollte man sich mal in Ruhe durchlesen. - Globale Einstellungen kannst Du hier editieren: [*/setup/config/default.set] - Überprüfe ob alle Voraussetzungen erfüllt sind, eine liste findest Du dort [*/readme/rpms]. Falls Du vorhast alles zu installieren, und yast ist vorhanden (SuSE), versuche es mal mit dem "1" Zeiler: [~] for x in $(cat */setup/readme/rpms | awk '{print $1}'); do rpm -q $x >/dev/null || yast -i $x; done Oder über Menu Punkt: --> Misc: rpm/dead link check, sequence/cmd editor" --> Rpm Check/Install - Simple rpm -q, yast -i function" Perl:Module kannst Du hier [*/setup/bin] prüfen [~] ./modulescheck LWP::UserAgent, LWP::Protocol::http, Storable, Compress::Zlib, Digest::MD5, MIME::Base64, IPC::Open2, CGI, IO::Socket, Time::Local, POSIX, Tk - Standart Phad für Konfigurations Dateien lautet [/usr/local/src/VDRtmp], könnt Ihr aber in der default.set ändern. Kurz und Knapp: [~] cd /usr/local/src [~] tar -xjvf plugin-install-*.*.*.bz2 [~] cd VDRtmp/setup [~] ./setup.sh - 1. Check Internet for new downloads and download it ---> [optional] - 2. Check linvdr.org for new downloads and download it ---> [optional] benötigt 'lynx', 'wget', und eine Internet Verbindung Ist letzeres nicht vorhanden, müßte man sich die Sachen manuell besorgen, Versionen mit welchen das ganze getestet wurde sind in folgendem file aufgeführt: [*/setup/readme/directory] Scripts sind dennoch "variabel", das heißt Ihr könnt Euch alles nach belieben zusammen stellen, die Liste ist somit nur als kleine Orientierungs Hilfe anzusehen. Beachte aber die Verzeichnis "Hirachie", alternativ kannst Du die Scripts auch ausführen, die erste "stage" erzeugt alle Directory(s) in denen während der Installation nach Package(s) gesucht wird. Wenn was nicht gefunden werden sollte, wird sich das Script schon melden. - 3. Select software and unpack it/build cmdlist/installation ---> [erforderlich] - 4. Plugins Manager: update/install/delete plugins ---> [erforderlich] - 5. Compiling Video Disk Recorder and Plugins ---> [erforderlich]   - 6. Create a runvdr/changing ownership and permissions ---> [erforderlich] - 7. Create a commands/reccmds config ---> [optional] Die Punkte: 8,9,0 sind für die Installation nicht von Belang. Tips: ---------------------------------------------------------------------- - Wget: Du gehst über einen Router/Proxy ins Internet? ändere folgendes in [*/setup/config/default.set] # wegt options for get package(s), e.g: wget_opt="-v -c -t 30" Router: wget_opt="--passive-ftp -v -c -t 30" Proxy: wget_opt="--proxy=on --proxy-user=ID --proxy-passwd=PW -v -c -t 30" - Lynx: Du gehst über einen Proxy ins Internet? ändere folgendes in [*/setup/config/default.set] # lynx options, e.g: lynx_opt="-connect_timeout=10" lynx_opt="-pauth=ID:PW -connect_timeout=10" - Dial: Die Kommandos sind ebenfalls in der [*/setup/config/default.set] zu setzen: dialin="cinternet -start" hangup="cinternet -stop" Müßt Ihr mal schauen, welche Kommandos auf der Konsole greifen: [~] isdnctrl dial ippp0 [~] isdnctrl hangup ippp0 [~] cinternet -start [~] cinternet -stop - Wichtig: Das Script editiert während der Installation folgende System files: [/etc/fstab] line(s) 8-12 in [*/preeplugins/teletext.cmd] line(s) 8-12 in [*/preeplugins/osdteletext.cmd] [/etc/crontab] line(s) 33-37 in [*/preesoft/MASTERTIMER.cmd] [/etc/modules.conf] line(s) 50-57 in [*/preesoft/LIRC.cmd] [/etc/inittab] line(s) 47 in [*/preesoft/VDR.cmd] [/etc/sudoers] for den VDR User, ist eine Function in [*/func/editall.func] [/etc/boot.local] falls keine runlevels angelegt werden, alles weitere unter [*/setup/preesoft/contrib] Bitte überprüfe oben aufgezählte Sachen nach der Installation. Backups befinden sich später unter [*/VDRtmp/backup]. - VDR: Wenn Peanut-Linux das System ist, werden in libvdr.c ein paar Phade geändert, lines 110-125 in [*/preesoft/VDR.cmd] - DVB: Peanut (compat.c,compat.h), lines 74-86 in [*/preesoft/DVB.cmd] - Driver: Voraussetzung für eine erfolgreiche Übersetzung ist ein aktueller Kernel der Version 2.4 mit Unterstützung für: Video4Linux Support -> (CONFIG_VIDEODEV) Input Core Support -> (CONFIG_INPUT) and Event Device Support -> (CONFIG_INPUT_EVDEV) - Patches: Probleme mit Plugins in Verbindung mit dem Auto Pid Patch? Versuche es mal so [*/setup/config/default.set] # includes and defines, e.g: "-D_GNU_SOURCE" DEFINES="-D_GNU_SOURCE" - Config: Kopiere Deine lircd.conf nach [/etc] - Remote: infrared remote control (lirc, remote plugin DVB-S Rev. 2.1/2.2) arbeitet nicht mit VDR? Lösche einfach die remote.conf unter [*/VDRtmp] (ist nur ein sample) - Cleanup: Ist eine Variable in der [*/setup/config/default.set] # deleting, cleaning older sources (uninstall) ? (yes/no) Cleanup="yes" Deinstallations Aufrufe kannst Du in den entprechenden [*/preesoft/*.cmd(s)] ändern Bsp: LAME.cmd UnInstall if [ -d ${MYPATH}/lame* ] then cd ${MYPATH}/lame*; make uninstall >/dev/null 2>&1 rm -rf ${MYPATH}/lame* fi END Ist ein bischen "Hardcore": [>r=recursive<] besser Du stellst es auf: Cleanup="", und deinstallierst (libs,packages,rpms) manuell - Module: Module(s) kannst Du leicht selbst erstellen, hier mal ein Beispiel für eine "plugin.cmd": auslesen des packages: gz|GZ|tgz|TGZ [~] tar -tvzf vdr-teletext-0.7.6.tgz | awk '{print $6}' | head -1 [~] teletext-0.7.6/ bz2 [~] bunzip2 -k *.bz2 [~] tar -tvf *.tar | awk '{print $6}' | head -1 [~] teletext-0.7.6/ Das ist der "-" Seperator, der Name lautet also: [teletext].cmd ------------------------------------ ## TELETEXT PLUGIN installmodul for installer #################################### # hier die Befehle, diese werden Zeitgleich mit dem entpacken des Plugins ausgeführt: #################################### if [ -e ${PLGDIR}/src/teletext ] then mkdir -p /vtx fi exit 0 #################################### # Download Part: #################################### DownLoadMenu TEXT=" |---+ Teletext Plugin, Fast Teletextdecoder" # 1. Anzeige im Download Manager. DL_DIR="plugins" # 2. Download Verzeichnis? DL_URL_1="http://www.dapeace.de" # 3. Wo findet wget das Packet? DL_LST_1="http://www.dapeace.de/download.htm" # 4. Kein Lynx access oder files nicht gefunden unter DL_URL_1? LYNXOP_1="grep '.tgz$' | awk '{print \$2}'" # 5. Filter. DL_URL_2="http://linvdr.org/download/vdr-teletext" # 6. Download Mirror(s) max 15. LYNXOP_2="${LYNXOP_1}" # 7. Mirror Filter. END #################################### # Description: #################################### # # 1, 2, 3, 6 diese Punkte sollten keine Probleme bereiten # # 4. Test: [~] lynx -dump http://www.dapeace.de | grep 'http' # [~] .... # [~] 1. http://www.google.de/ # [~] 2. http://ww2.homebanking-sachsen.de/cgi/anfang.cgi/Spk_Vogtland?KtoNr=4570000000 # [~] 3. http://www.ps2-news.org/ # [~] .... # # Ergebnis unbrauchbar, da keine "Package(s)" mit aufgeführt sind. # # Next: [~] lynx -dump http://www.dapeace.de/download.htm | grep 'http' # [~] .... # [~] 5. http://www.dapeace.de/vdr-mail.htm # [~] 6. http://www.dapeace.de/cgi-bin/download.pl?file=vdr-teletext-0.7.6.tgz # [~] 7. http://www.dapeace.de/cgi-bin/download.pl?file=vdr-teletext-0.7.5.tgz # [~] 9. http://rachmaninoff.informatik.uni-mannheim.de/private/index.html # [~] .... # # 5. Filter, :-(: [~] lynx -dump http://www.dapeace.de/download.htm | grep 'vdr' # [~] .... # [~] 5. http://www.dapeace.de/vdr-mail.htm # [~] 6. http://www.dapeace.de/cgi-bin/download.pl?file=vdr-teletext-0.7.6.tgz # [~] .... # :-): [~] lynx -dump http://www.dapeace.de/download.htm | grep '.tgz$' # [~] 6. http://www.dapeace.de/cgi-bin/download.pl?file=vdr-teletext-0.7.6.tgz # [~] 7. http://www.dapeace.de/cgi-bin/download.pl?file=vdr-teletext-0.7.5.tgz # # 7. Mirror Filter: wenn schon "Filter" oben aufgeführt sind: LYNXOP_2="${LYNXOP_1}" # oder seperat: LYNXOP_2="grep '.tgz$' | awk '{print \$2}'" # #################################### #################################### # Abhängigkeiten: #################################### DEPENDENCE="FFMPEG" #################################### # Beschreibung: #################################### # # Plugin 'teletext' benötigt 'ffmpeg' # # DEPENDENCE="FFMPEG" FFMPEG ist somit der Name [*/preesoft/*.cmd(s)] # # [FFPMEG].cmd # # Der 'Plugins Manager', nimmt sich folgende Daten, also nur das Ergebnis [*] # # ----------<*/preesoft/FFMPEG.cmd>---------- # .... # CHECKDST="which ffmpeg >/dev/null && echo '*'" # .... # ------------------------------------------- # # Ist 'ffmpeg' nicht installiert, kommt eine kleine Yes/No Box mit dem Hinweis was fehlt, und der Abfrage ob man dieses installieren möchte. # Es stehen auch Sachen in den "DEPENDENCE" drinnen, die eigentlich nicht direct für Plugins benötigt werden. XviD zb für das mp3-mplayer Plugin. # Jedoch sind die "Configure Option" beim Mplayer Dialog auf "on" gesetzt für Xvid Support ... # #################################### --------------------------------------------------------------- Nun kannst Du das "Modul" nach [*/preeplugins] kopieren, setup.sh neu starten, Oder Du schreibst es direct in die [*/setup/config/default.menu] ## menu order set by setup DNLDItems=" .... mplayercluster [teletext] CL .... " ISTPLUGIN=" .... subtitles [teletext] CL ......... " CL = ist zur besseren Übersicht in den Menüs eine "Leere Linie" ----------------------------------------------------------------------------------------------------------------- Beschreibung für 'software.cmd(s)' die Syntax ist die "selbe", ein kleines Beispiel: ------------------------------------ ## CDFS installmodul for installer SoftWareMenu TEXT=" |---+ CDFS, File System for Audio CDs" # 1. Anzeige im Software Manager. CHECKDST="[ -e ${MYPATH}/cdfs*/audio.o ] && echo '*'" # 2. Test. LIST_DIR="utilities" # 3. Download/Such Verzeichnis. PHRASE="cdfs*" # 4. Such Phrases. DEPNR="18" # 5. Installation Reihenfolge. END #################################### # Beschreibung: #################################### # # 1, 3 kein Problem # # 2. Test: Binarys im PHAD: "which name> /dev/null && echo '*'" # RPMs: "rpm -q package >/dev/null && echo '*'" # Test: " [ -(option) (/dir/file) ] && echo '*'" # # ansonnsten: [~] 'man test' # # Wird im Dialog angezeigt: [*] ---> = Files gefunden, somit installiert # ---> = File nicht gefunden, nicht installiert # # 4. Such Phrasen: cdfs*, *.bz2, *.gz # # 5. Installations Reihenfolge, b.s.p: 1 = DVB # 2 = AUTOMAKE # 18 = CDFS # 22 = AUTOCONF # # Reihenfolge wäre dann: DVB -> AUTOMAKE -> CDFS -> AUTOCONF # #################################### DownLoadMenu siehe oben (plugin part) END InMenuCall cat << EOM >/tmp/${LABEL}.stage${DEPNR} ## ${LABEL} cmds cd ${MYPATH}/${ORG_DIR} #################################### # hier werden die Kommandos eingetragen, diese werden temp "abgelegt" # und beim verlassen des 'Software Menüs' eingelesen und ausgeführt: #################################### ------------------------------------ ./configure make make install ldconfig ------------------------------------ EOM END UnInstall #################################### # # Siehe oben (Cleanup part) es sei noch erwähnt das man die Struktur möglicht beibehalten sollte. # Erste Zeile muß am Anfang ein "if", stehen und in der zweiten das "then", sonnst wertet es folgende funktion # [*/func/deinstall.func], nicht sauber aus. # #################################### END ----------------------------------------------------------- Wie gehabt kopiere das "Modul" nach [*/preesoft] oder schreibe es direct in die [*/setup/config/default.menu] ## menu order set by setup M1Items=" ... LIBSNDFILE [CDFS] CL .... " DNLDItems=" ... VDR [CDFS] CL .......... " IST=" ....VDR [CDFS] CL ........... " Du kannst auch in den anderen *.cmd(s) stöbern, da finden sich mehr Beispiele ... - Fragen: Nutze am besten die Buttons, in den Dialogen - Fazit: Du führst die Scripts auf eigene Gefahr aus Start: ---------------------------------------------------------------------- - [~] cd ${MYPATH}/VDR [~] ./runvdr Informationen zu VDR findest Du hier: ---------------------------------------------------------------------- - Klaus Schmidinger's VDR homepage: http://www.cadsoft.de/~kls/vdr Installations Anleitung: http://home.t-online.de/home/hubertus.sandmann Dokumentation: http://www.datacrystal.de/vdr Mailinglist: http://LinuxTV.org Newsserver: news://ltv.boerde.de:119 Infos/Board: http://www.vdr-portal.de (es giebt sicher noch mehr Adressen, gieb einfach mal "VDR" in google ein) OT: ---------------------------------------------------------------------- - have fun - E O F --------------------------------------------------------------