Installscript

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Scripts)
(Entfernen von "Vorraussetzungen": checkreq scheint es nicht mehr zu geben, ebensowenig einen ähnlichen Befehl)
 
(312 dazwischenliegende Versionen von mehr als 100 Benutzern, die nicht angezeigt werden)
Zeile 1: Zeile 1:
 
==Was ist das Installscript?==
 
==Was ist das Installscript?==
Das Installscript ist ein Tool, mit dem die üblichen Installationsschritte durch eine Sammlung von Scripts erledigt werden.
+
Das Installscript ist ein Tool, mit dem die üblichen Installationsschritte durch eine Sammlung von Skripten erledigt werden.
  
==Vorraussetzungen==
+
{|
* Entwicklungsumgebung
+
|[[Bild:installscript-0.png|thumb|none|''0.5.8'']]
 +
|[[Bild:installscript-1.jpg|thumb|none|''0.9.8.7'']]
 +
|}
  
==Manual==
+
==Webvideo==
* [[installscript-manual-de|'''Manual De''']]
+
Mal eine Installation, als {{vdrportal board|85149|Webvideo}} unter {{wikipedia|openSuSE}} 11.1 auf der {{wikipedia|Konsole}}, mit ''geschnitten''.
* [[installscript-manual-en|'''Manual En''']]
+
 
 +
==Download==
 +
bash> wget ftp://ftp.tvdr.de/vdr/Tools/vdr-install-script-current.run
  
 
==Anleitung==
 
==Anleitung==
 
===Vorab===
 
===Vorab===
 
* Linux-Grundwissen erforderlich.
 
* Linux-Grundwissen erforderlich.
* Man sollte schon das ein oder ander mal einen VDR von Hand aufgesetzt haben.
+
* Man sollte schon das eine und auch andere mal einen VDR von Hand kompiliert haben.
 +
* In Deutsch?
 +
 
 +
Normal werden die lokalen (''locale'') Einstellungen uebernommen.
 +
 
 +
Sprich ist die Konsole in Deutsch ('''LC_MESSAGES="de_DE.UTF8"''' oder '''de_DE.iso885915@euro'''), sind auch die Scripts in Deutsch, sollte das nicht der Fall sein.
 +
 
 +
Einfach, vorm ausfuehren der Scripts.
 +
 
 +
bash> export LANG=de_DE.UTF8
 +
 
 +
Alternativ.
 +
 
 +
bash> LANG=de_DE.UTF8 sh setup.sh
 +
bash> LANG=de_DE.UTF8 sh vdr-install-script-current.run
  
===Scripts anpassen===
+
===Skripte anpassen===
 
Entpacken.
 
Entpacken.
  
 
<pre>
 
<pre>
bash> sh vdr-install-script-<VERSION>.run --noexec --target /tmp/VDRtmp
+
bash> sh vdr-install-script-current.run --noexec --target /tmp/vdr
bash> cd /tmp/VDRtmp/setup
+
bash> cd /tmp/vdr/setup
 
</pre>
 
</pre>
  
 
Folgende Konfigurationsdateien sollte man sich an seine Bedürfnisse anpassen (Beschreibungen befinden sich unter den Links...).
 
Folgende Konfigurationsdateien sollte man sich an seine Bedürfnisse anpassen (Beschreibungen befinden sich unter den Links...).
  
<code>config/[[installscript-setup.conf|'''setup.conf''']]</code><br>
+
+-- [[Bild:Folder.png]] $DISDIR
<code>config/[[installscript-commands.conf|'''commands.conf''']]</code><br>
+
    +-- [[Bild:Folder.png]] setup
<code>config/[[installscript-reccmds.conf|'''reccmds.conf''']]</code><br>
+
        +-- [[Bild:Folder.png]] config
<code>config/[[installscript-make.conf|'''make.conf''']]</code><br>
+
            |--+ [[installscript-different.conf|'''different.conf''']]
<code>config/[[installscript-kernel.conf|'''kernel.conf''']]</code><br>
+
            |--+ [[installscript-setup.conf|'''setup.conf''']]
<code>config/[[installscript-configure.conf|'''configure.conf''']]</code><br>
+
            |--+ [[installscript-make.conf|'''make.conf''']]
<code>examples/[[installscript-accounts.conf|'''accounts.conf''']]</code>
+
            |--+ [[installscript-modules.conf|'''modules.conf''']]
 +
            |--+ [[installscript-sources.conf|'''sources.conf''']]
 +
            |--+ [[installscript-keymacros.conf|'''keymacros.conf''']]
 +
        +-- [[Bild:Folder.png]] examples
 +
            +-- [[Bild:Folder.png]] plugins
 +
                +-- [[Bild:Folder.png]] mailbox
 +
                    |--+ '''[[accounts.conf]]'''
 +
            +-- [[Bild:Folder.png]] vdr
 +
                |--+ [[installscript-vdr.conf|'''vdr.conf''']]
 +
 
 +
Die meisten Optionen können unabhängig von der '''setup.conf''' auf der Komandozeile übergeben werden:
  
 
<pre>
 
<pre>
bash> mcedit config/setup.conf
+
bash> LANG="de_DE@euro" ./setup.sh --help
 +
bash> LANG="de_DE@euro" sh vdr-install-script-current.run -- --help
 
</pre>
 
</pre>
  
Die meisten Optionen können unabhängig von der '''setup.conf''' auf der Komandozeile übergeben werden:
+
===CMD(s)===
 +
Beschreibungen... Links folgen :-)
  
 +
+-- [[Bild:Folder.png]] $DISDIR
 +
    +-- [[Bild:Folder.png]] admin
 +
        +-- [[Bild:Folder.png]] [[installscript-command-cmds|'''command-cmds''']]
 +
        +-- [[Bild:Folder.png]] [[installscript-plugin-cmds|'''plugin-cmds''']]
 +
        +-- [[Bild:Folder.png]] [[installscript-recording-cmds|'''recording-cmds''']]
 +
        +-- [[Bild:Folder.png]] [[installscript-shutdown-cmds|'''shutdown-cmds''']]
 +
        +-- [[Bild:Folder.png]] [[installscript-start-cmds|'''start-cmds''']]
 +
            |--+ [[Bild:Folder.png]] rc
 +
            |--+ [[Bild:Folder.png]] rc.d
 +
            |--+ [...]
 +
 +
===Struktur===
 +
Verzeichnis für die Konfiguration, ist '''$PREFIX/etc (Standard)''', es sei denn es wurde anders Definiert.
 +
 +
--prefix=DIR
 +
 +
Das ganze schaut in etwa wie folgt aus, es wurde soweit wie möglich versucht System + VDR zu trennen.
 +
 +
+-- [[Bild:Folder.png]] /usr/local ("'''$INSTALLPREFIX'''")
 +
    +-- [[Bild:Folder.png]] src
 +
        +-- [[Bild:Folder.png]] VDR -> vdr-$VERSION
 +
        +-- [[Bild:Folder.png]] DVB -> v4l-dvb-snapshot-$TIMESTAMP
 +
    +-- [[Bild:Folder.png]] stow
 +
        +-- [[Bild:Folder.png]] package
 +
            +-- [[Bild:Folder.png]] bin
 +
            +-- [[Bild:Folder.png]] lib
 +
            +-- [[Bild:Folder.png]] doc
 +
    +-- [[Bild:Folder.png]] cache
 +
        +-- [[Bild:Folder.png]] cddb
 +
        +-- [[Bild:Folder.png]] gameboy
 +
        +-- [[Bild:Folder.png]] infosatepg
 +
        +-- [[Bild:Folder.png]] mp3
 +
        +-- [[Bild:Folder.png]] podcatcher
 +
        +-- [[Bild:Folder.png]] mldonkey
 +
        +-- [[Bild:Folder.png]] vtx
 +
    +-- [[Bild:Folder.png]] etc
 +
        +-- [[Bild:Folder.png]] graphlcd
 +
            |--+ graphlcd.conf
 +
        +-- [[Bild:Folder.png]] igor
 +
            |--+ igor.conf
 +
        +-- [[Bild:Folder.png]] lcdproc
 +
            |--+ LCDd.conf
 +
        +-- [[Bild:Folder.png]] lirc
 +
            |--+ lircd.conf
 +
            |--+ lircrc
 +
        +-- [[Bild:Folder.png]] nvram-wakeup
 +
            |--+ nvram-wakeup.conf
 +
        +-- [[Bild:Folder.png]] vdr ("'''$DISDIR'''")
 +
            |--+ setup.conf
 +
        +-- [[Bild:Folder.png]] vdradmin
 +
            |--+ vdradmind.{at,bl,conf,done}
 +
 +
===Module===
 +
====Hinzufügen====
 +
Im Mainmenü.
 +
 +
Oder von '''../preeplugins/<PLUGIN>.bak''' nach '''../preeplugins/<PLUGIN>.cmd''' umbenennen.
 +
 +
====Import====
 
<pre>
 
<pre>
bash> ./setup.sh --help
+
bash> ./vdr-install-script-<VERSION>.run -- --add="<URL>/<MODUL>"
bash> ./vdr-install-script-<VERSION>.run -- --help
+
bash> ./setup.sh --add="<URL>/<MODUL>"
 
</pre>
 
</pre>
  
===Sicherung===
+
Achso, wie auch bei den Scripts... alles ''ungetestet''.
Damit Einstellungen bei "updates" nicht verloren gehen, sichern Sie das ganze:
+
 
 +
* Ein Modul setzt Kernel 2.6.* vorraus...
 +
* Einige sind nicht über den ''Beta'' Status hinaus gekommen... (kann ich nicht beurteilen, am besten selbst testen)
 +
* Bei anderen fehlen Links...
 +
* usw...
 +
 
 +
====Erweitern====
 +
Scripts für andere Distributionen erweitern, version auslesen.
  
 
<pre>
 
<pre>
bash> ./setup.sh
+
shell> sh setup.sh --ostype
 +
==>  real_os_type="Redhat Linux Desktop"
 +
==>  real_os_version="10.0"
 
</pre>
 
</pre>
  
Über folgenden Menüpunkt:
+
Module erweitern.
  
 
<pre>
 
<pre>
<-> - Configuration
+
CallDepend() {
    | - Load an Alternate Configuration File --->
+
"Arch Linux")
    | - Save Configuration to an Alternate File --->
+
if ! pacman -Q libcap libjpeg freetype2 fontconfig gettext ; then
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
    pacman -S libcap libjpeg freetype2 fontconfig gettext
 +
fi
 +
;;
 +
"Crux Linux")
 +
if ! prt-get isinst libcap libjpeg freetype fontconfig gettext ; then
 +
    prt-get depinst libcap libjpeg freetype fontconfig gettext
 +
fi
 +
;;
 +
"Debian Linux") apt-get install dialog libcap-dev libjpeg62-dev libfreetype6{,-dev} fontconfig{,-config} libfontconfig1{,-dev} ;;
 +
"Gentoo Linux") emerge sys-libs/libcap media-libs/jpeg media-libs/freetype media-libs/fontconfig sys-devel/gettext -n ;;
 +
"SuSE Linux")
 +
case $real_os_version in
 +
    7.3|8.0|8.1|8.2|9.0|9.1)
 +
if ! rpm -q libcap libjpeg ; then
 +
    yast -i libcap libjpeg
 +
fi
 +
;;
 +
    *)
 +
if ! rpm -q libcap-devel libjpeg-devel freetype2{,-devel} fontconfig{,-devel} gettext{,-devel} ; then
 +
    yast -i libcap-devel libjpeg-devel freetype2{,-devel} fontconfig{,-devel} gettext{,-devel}
 +
fi
 +
;;
 +
esac
 +
;;
 +
+ "Redhat Linux Desktop")
 +
+ if ! <TEST(S)> ; then
 +
+     <INSTALLATIONS-BEFEHL(E)> <PAKETE>
 +
+ fi
 +
+ ;;
 +
    esac
 +
}
 
</pre>
 
</pre>
  
Im folge Dialog '''/media/floppy/.config''' (ca 150Kb), einspielen über:
+
Wer die Abhängkeiten selbst auflösen möchte, kann diese ''function'' aushebeln.
  
 
<pre>
 
<pre>
<-> - Configuration
+
shell> sh setup.sh --without-depends
    | - Load an Alternate Configuration File --->
+
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
 
</pre>
 
</pre>
  
Andere Möglichkeit, packen der kompletten Scripts:
+
==Tipps==
 +
===Mehrere Versionen===
 +
Mehrere Versionen von VDR nebenher installieren, einfach '''--prefix''' ändern.
  
 
<pre>
 
<pre>
bash> ./setup.sh --buildrunpackage
+
bash> ./setup.sh --prefix=/usr/local/testumgebung
      Label (default "vdr-install-script-<VERSION>.run"):
+
                  ^^^^^^
 +
                  entpricht sonst /usr/local
 
</pre>
 
</pre>
  
===Installations-Protokoll===
+
Dann.
{|
+
|[[Bild:installscript-1.png|thumb|none|''Mainmenu'']]
+
|Startmenu. Der Punkt '''Select software to uninstall --->''' ist obsolete, zum ''deinstallieren'' einfach Packages im '''Software Manager''' makieren, ueber Key '''<N>''' oder '''<M>''' kann gelöscht werden. Postinstallation wird ebenfalls entfernt ('''dselect'''). Für Patches gilt das selbe, '''--reverse''' ueber '''<N>''' oder '''<M>''', man kann somit Patches die auf VDR angewendet wurden, jederzeit Rückgängig machen.
+
|-
+
|[[Bild:installscript-2.png|thumb|none|''Download Manager'']]
+
|Dialog des Download Manager's.
+
|-
+
|[[Bild:installscript-3.png|thumb|none|''DL Manager Sub 1'']]
+
|Eine ''Ebene'' tiefer.
+
|-
+
|[[Bild:installscript-4.png|thumb|none|''DL Manager Sub 2'']]
+
|Hier stellt man sich letztendlich die Sourcen zusammen.
+
|-
+
|[[Bild:installscript-5.png|thumb|none|''Download Status'']]
+
|Status der Download's.
+
|-
+
|[[Bild:installscript-6.png|thumb|none|''Mainmenu'']]
+
|Startmenu => ''Software Manager''
+
|-
+
|[[Bild:installscript-7.png|thumb|none|''Software Manager'']]
+
|Auswahl der Packages.
+
|-
+
|[[Bild:installscript-8.png|thumb|none|''Software Select'']]
+
|Hier erfolgt die Auswahl der Sourcen (Versionsunabhängig), man sollte in etwa wissen was zusammenpasst!
+
|-
+
|[[Bild:installscript-9.png|thumb|none|''Start up'']]
+
|Eintrag für '''<code>[[Dir_etc#.2Fetc.2Finttab|/etc/inittab]]</code>'''
+
|-
+
|[[Bild:installscript-10.png|thumb|none|''Channels Select'']]
+
|Auswahl der ''[[Syntax_der_channels.conf|channels.conf]]''
+
|-
+
|[[Bild:installscript-11.png|thumb|none|''Software Manager'']]
+
|Software Manager => ''[[Patches]]''
+
|-
+
|[[Bild:installscript-12.png|thumb|none|''Patch Select'']]
+
|Im Grunde genommen kann man alle Patches die verfügbar sind anwenden. Einfach in den entsprechenden Ordner '''../packages/vdr/patches''' packen. (vorrausgesetzt '''--dry-run''' passt)
+
|-
+
|[[Bild:installscript-13.png|thumb|none|''Patchlog'']]
+
|So sollte ein ''Patchlog'' ausschauen, ansonnsten ''Patch <NAME> not applied / nicht angewendet...''
+
|-
+
|[[Bild:installscript-14.png|thumb|none|''Mainmenu'']]
+
|Mainmenu => ''Plugins Manager''
+
|-
+
|[[Bild:installscript-15.png|thumb|none|''Plugins Manager'']]
+
|Optionen gibt es 3 '''<nowiki><I></nowiki>''' installieren, '''<nowiki><U></nowiki>''' ersetzen, '''<nowiki><D></nowiki>''' löschen. Manchmal muß VDR für einiege Plugins gepatcht werden, sollte im plugins.log ersichtlich sein, für '''--reverese''' eines Patches, das entsprechende Plugin deinstallieren '''<nowiki><D></nowiki>'''. ('''<nowiki><U></nowiki>''' != '''<nowiki><D></nowiki>''')
+
|-
+
|[[Bild:installscript-16.png|thumb|none|''Plugins Opt'']]
+
|Zeigt zusätzliche Optionen zum übersetzen der Plugins an. (siehe <code>[[installscript-make.conf|'''make.conf''']]</code>)
+
|-
+
|[[Bild:installscript-17.png|thumb|none|''Mainmenu'']]
+
|Mainmenu => ''Compiling''
+
|-
+
|[[Bild:installscript-18.png|thumb|none|''Driver Select'']]
+
|Auswahl der DVB Driver.
+
|-
+
|[[Bild:installscript-19.png|thumb|none|''Postinstallation'']]
+
|Zeigt die auszuführende ''Postinstallation''.
+
|-
+
|[[Bild:installscript-20.png|thumb|none|''Compile Menu'']]
+
|Auswahl der Optionen.
+
|-
+
|[[Bild:installscript-21.png|thumb|none|''Edit'']]
+
|Hier können die Optionen zum übersetzen von VDR geändert werden.
+
|-
+
|[[Bild:installscript-22.png|thumb|none|''Plugins Check'']]
+
|Zeigt an was übersetzt worden ist.
+
|-
+
|[[Bild:installscript-23.png|thumb|none|''Mainmenu'']]
+
|Mainmenu => ''pluginsetup''
+
|-
+
|[[Bild:installscript-24.png|thumb|none|''Plugins Select'']]
+
|Dialog zum aktivieren der Plugins, kann später über das ''[[pluginsetup-plugin|pluginsetup plugin]]'' geändert werden. (''Reihenfolge/on/off'')
+
|-
+
|[[Bild:installscript-25.png|thumb|none|''Installationslog'']]
+
|Logfiles befinden sich Standart in '''/var/log/vdr'''.
+
|}
+
  
===Scripts===
+
<pre>
<code>[[installscript-runvdr|'''runvdr''']]</code><br>
+
bash> /usr/local/testumgebung/bin/runvdr start
<code>[[installscript-vdr.conf|'''vdr.conf''']]</code><br>
+
</pre>
<code>[[installscript-shutdown.sh|'''shutdown.sh''']]</code>
+
  
===Verfügbare Module===
+
===Update===
Hier befindet sich ein Index der verfügbaren [[installscript-module|'''Module''']], alles unterhalb von '''../add''' kann nachgerüstet werden.
+
Normal wird beim ausführen von '''*.run''' das gröbste ''überschrieben'' (alles unterhalb von '''../setup'''). Rest bleibt erhalten... (zbs)
  
Module im Ordner '''../untestet''' sind anzupassen!
+
+-- [[Bild:Folder.png]] $DISDIR
 +
    +-- [[Bild:Folder.png]] admin
 +
    +-- [[Bild:Folder.png]] plugins
  
* Ein Modul setzt Kernel 2.6.* vorraus.
+
Sollte es bei Versionswechseln zu Fehlern kommen, kann folgende Übergabe Sinnvoll sein.
* Einiege sind nicht über den Beta Status hinaus gekommen.
+
* Bei anderen fehlen Links.
+
===Stow(ES)===
+
GNU stow hilft die Dateien unter '''/usr/local''' zu organisieren, indem jede Software in ihrem eigenen Verzeichnis-Baum unter '''/usr/local/stow''' installiert wird und dann durch die Benutzung von symbolischen Links die Illusion erzeugt wird, das alle Software an der gleichen Stelle installiert sei.
+
  
Hier mal die wichtigsten Befehle.
+
bash> ./setup.sh --load-default-settings
 +
bash> ./vdr-install-script-<VERSION>.run -- --load-default-settings
  
* '''help'''
+
Damit werden die Standard-Einstellungen ''geladen''.
<pre>
+
bash> /usr/local/stow/stowES help --prog stow=/usr/local/stow/stow
+
</pre>
+
  
* '''(c)heck(s)tow / überprüfe'''
+
===Distributions-spezifisch===
<pre>
+
====[[Crux]]====
bash> /usr/local/stow/stowES cs --prog stow=/usr/local/stow/stow
+
Der Support für [[Crux]], ist zwar noch drinnen, besser das Port-System nutzen => [[Crux_2.5#VDR_installation]] => http://ronny-kornexl.homepage.t-online.de/crux/ports/
Checking packages in /usr/local/stow (78 matches):
+
I (  772.5) DFB++-0.9.20
+
I (  1,385) DirectFB-0.9.20
+
I (19223.5) ImageMagick-6.0.2
+
I ( 10,085) MPlayer-1.0pre4
+
....
+
</pre>
+
  
* '''(c)heck(i)n / linkout'''
+
====[[Gentoo]]====
<pre>
+
Da war etwas mit den MPlayer, siehe [[Gentoo VdrMplayer]] ''USE-Variablen''.
bash> /usr/local/stow/stowES ci MPlayer-1.0pre4 --prog stow=/usr/local/stow/stow
+
Calling "stow" to check in package MPlayer-1.0pre4 ...done.
+
Calling ldconfig
+
</pre>
+
  
* '''(c)eck(o)ut / linkin'''
+
====[[Debian]]====
<pre>
+
Bei [[Debian]] am besten hier schauen [[Debian - mit 2.6.9er / 2.6.10er Kernel für VDR aufsetzen]], für das erweitern der '''sources.list'''.
bash> /usr/local/stow/stowES co MPlayer-1.0pre4 --prog stow=/usr/local/stow/stow
+
Calling "stow -D" to check out package MPlayer-1.0pre4 ...done.
+
Calling ldconfig.
+
</pre>
+
  
* '''(r)e(m)ove / löschen'''
+
====[[SuSE]]====
<pre>
+
Community Repositories hinzufügen. (in '''0.9.7.4''' obsolete)
bash> /usr/local/stow/stowES rm MPlayer-1.0pre4 --prog stow=/usr/local/stow/stow
+
Calling "stow -D" to check out package MPlayer-1.0pre4 ...done.
+
Calling "rm -rf" to remove package MPlayer-1.0pre4 ...done.
+
Calling ldconfig.
+
</pre>
+
  
* '''exchange / wechsel'''
+
shell> yast inst_productsources
<pre>
+
shell> yast2 inst_productsources
bash> /usr/local/stow/stowES exchange MPlayer-1.0pre4 MPlayer-1.0pre5 --prog stow=/usr/local/stow/stow
+
Calling "stow -D" to check out package MPlayer-1.0pre4 ...done.
+
Calling "stow" to check in package MPlayer-1.0pre5 ...done.
+
Calling ldconfig.
+
</pre>
+
  
===to be continued...===
+
'''[x] Packman Repository'''<br>
 +
'''[x] VideoLan Repository'''
 +
 
 +
Kurz:
 +
 
 +
shell> zypper ar -t YUM ftp://ftp5.gwdg.de/pub/linux/misc/packman/suse/<'''VERSION'''> Packman
 +
shell> zypper ar -t YUM http://download.videolan.org/pub/videolan/vlc/SuSE/<'''VERSION'''> VideoLan
 +
 
 +
 
 +
 
 +
===Internationalisierung {{wikipedia|I18N}}===
 +
 
 +
Derzeit ist EN / DE vorhanden, hier ein kleine Anleitung, zum hinzufügen anderer Übersetzungen. (Bsp.: '''fr_FR''')
 +
 
 +
shell> cd setup/locale
 +
shell> make
 +
shell> cp vdr-install-script.pot fr_FR.po
 +
                                  ^^^^^
 +
                                  shell> locale -a | cut -d. -f1
 +
 
 +
shell> sed -i 's:charset=CHARSET:charset=ISO-8859-15:' fr_FR.po
 +
 
 +
Jetzt kann in '''fr_FR.po''', die Übersetzung erfolgen.
 +
 
 +
  #: ../admin/shutdown-cmds/procs.run:6
 +
  msgid "proc(s) running"
 +
  msgstr "<übersetzung>"
 +
 
 +
Zu guter letzt:
 +
 
 +
shell> make
 +
 
 +
==Probleme==
 +
===unexpected operator, beim ausführen des Skripts===
 +
Bei einem Fehler in der Art:
 +
 
 +
''[: 28: 0: unexpected operator
 +
./setup/setup.sh: 41: Syntax error: Bad substitution''
 +
 
 +
sollte überprüft werden ob der Link von '/bin/sh' auf '/bin/bash' verweist.
 +
 
 +
===umlaute in vdr menus===
 +
Wenn Umlaute, nicht richtig dargestellt werden.
 +
 
 +
Zbs. Kan'''<span style="color:#ff0000;">?</span>'''le anstatt Kan'''<span style="color:#ff0000;">ä</span>'''le im VDR Menu, folgende Variable in der '''[[installscript-vdr.conf|vdr.conf]]''' auskommentieren.
 +
 
 +
# VDR needs to run in non-UTF8 locale?
 +
- LC_CTYPE="POSIX
 +
+ #LC_CTYPE="POSIX
 +
 
 +
==Wunschliste==
  
 
==Links==
 
==Links==
{|
+
# [ftp://ftp.tvdr.de/vdr/Tools VDR Ftp]
| [1]
+
# [http://linvdr.org/download/vdr/Tools Download Spiegel]
| ftp://ftp.cadsoft.de/vdr/Tools
+
# [http://savannah.gnu.org/projects/stow GNU Stow Projekt Homepage]
| Cadsoft Ftp
+
# [http://www.inf.tu-dresden.de/~al10/stowES Erweiterung für Stow]
|-
+
# [http://linuxwiki.de/Stow Stow Wiki]
| [2]
+
 
| http://linvdr.org/download/vdr/Tools
+
[[Kategorie:Skripte]][[Kategorie:Installscript]][[Kategorie:Installationsanleitungen]]
| Download Spiegel
+
{{i18n|Installscript}}
|-
+
| [3]
+
| http://savannah.gnu.org/projects/stow
+
| GNU Stow Projekt Homepage
+
|-
+
| [4]
+
| http://www.inf.tu-dresden.de/~al10/stowES
+
| Erweiterung für Stow
+
|-
+
| [5]
+
| http://linuxwiki.de/Stow
+
| Stow Wiki
+
|}[[Kategorie:Installscript]]
+

Aktuelle Version vom 9. Dezember 2012, 18:09 Uhr

Inhaltsverzeichnis

[Bearbeiten] Was ist das Installscript?

Das Installscript ist ein Tool, mit dem die üblichen Installationsschritte durch eine Sammlung von Skripten erledigt werden.

0.5.8
0.9.8.7

[Bearbeiten] Webvideo

Mal eine Installation, als Webvideo unter openSuSE 11.1 auf der Konsole, mit geschnitten.

[Bearbeiten] Download

bash> wget ftp://ftp.tvdr.de/vdr/Tools/vdr-install-script-current.run

[Bearbeiten] Anleitung

[Bearbeiten] Vorab

  • Linux-Grundwissen erforderlich.
  • Man sollte schon das eine und auch andere mal einen VDR von Hand kompiliert haben.
  • In Deutsch?

Normal werden die lokalen (locale) Einstellungen uebernommen.

Sprich ist die Konsole in Deutsch (LC_MESSAGES="de_DE.UTF8" oder de_DE.iso885915@euro), sind auch die Scripts in Deutsch, sollte das nicht der Fall sein.

Einfach, vorm ausfuehren der Scripts.

bash> export LANG=de_DE.UTF8

Alternativ.

bash> LANG=de_DE.UTF8 sh setup.sh
bash> LANG=de_DE.UTF8 sh vdr-install-script-current.run

[Bearbeiten] Skripte anpassen

Entpacken.

bash> sh vdr-install-script-current.run --noexec --target /tmp/vdr
bash> cd /tmp/vdr/setup

Folgende Konfigurationsdateien sollte man sich an seine Bedürfnisse anpassen (Beschreibungen befinden sich unter den Links...).

+-- Folder.png $DISDIR
    +-- Folder.png setup
        +-- Folder.png config
            |--+ different.conf
            |--+ setup.conf
            |--+ make.conf
            |--+ modules.conf
            |--+ sources.conf
            |--+ keymacros.conf
        +-- Folder.png examples
            +-- Folder.png plugins
                +-- Folder.png mailbox
                    |--+ accounts.conf
            +-- Folder.png vdr
                |--+ vdr.conf

Die meisten Optionen können unabhängig von der setup.conf auf der Komandozeile übergeben werden:

bash> LANG="de_DE@euro" ./setup.sh --help
bash> LANG="de_DE@euro" sh vdr-install-script-current.run -- --help

[Bearbeiten] CMD(s)

Beschreibungen... Links folgen :-)

+-- Folder.png $DISDIR
    +-- Folder.png admin
        +-- Folder.png command-cmds
        +-- Folder.png plugin-cmds
        +-- Folder.png recording-cmds
        +-- Folder.png shutdown-cmds
        +-- Folder.png start-cmds
            |--+ Folder.png rc
            |--+ Folder.png rc.d
            |--+ [...]

[Bearbeiten] Struktur

Verzeichnis für die Konfiguration, ist $PREFIX/etc (Standard), es sei denn es wurde anders Definiert.

--prefix=DIR

Das ganze schaut in etwa wie folgt aus, es wurde soweit wie möglich versucht System + VDR zu trennen.

+-- Folder.png /usr/local ("$INSTALLPREFIX")
    +-- Folder.png src
        +-- Folder.png VDR -> vdr-$VERSION
        +-- Folder.png DVB -> v4l-dvb-snapshot-$TIMESTAMP
    +-- Folder.png stow
        +-- Folder.png package
            +-- Folder.png bin
            +-- Folder.png lib
            +-- Folder.png doc
    +-- Folder.png cache
        +-- Folder.png cddb
        +-- Folder.png gameboy
        +-- Folder.png infosatepg
        +-- Folder.png mp3
        +-- Folder.png podcatcher
        +-- Folder.png mldonkey
        +-- Folder.png vtx
    +-- Folder.png etc
        +-- Folder.png graphlcd
            |--+ graphlcd.conf
        +-- Folder.png igor
            |--+ igor.conf
        +-- Folder.png lcdproc
            |--+ LCDd.conf
        +-- Folder.png lirc
            |--+ lircd.conf
            |--+ lircrc
        +-- Folder.png nvram-wakeup
            |--+ nvram-wakeup.conf
        +-- Folder.png vdr ("$DISDIR")
            |--+ setup.conf
        +-- Folder.png vdradmin
            |--+ vdradmind.{at,bl,conf,done}

[Bearbeiten] Module

[Bearbeiten] Hinzufügen

Im Mainmenü.

Oder von ../preeplugins/<PLUGIN>.bak nach ../preeplugins/<PLUGIN>.cmd umbenennen.

[Bearbeiten] Import

bash> ./vdr-install-script-<VERSION>.run -- --add="<URL>/<MODUL>"
bash> ./setup.sh --add="<URL>/<MODUL>"

Achso, wie auch bei den Scripts... alles ungetestet.

  • Ein Modul setzt Kernel 2.6.* vorraus...
  • Einige sind nicht über den Beta Status hinaus gekommen... (kann ich nicht beurteilen, am besten selbst testen)
  • Bei anderen fehlen Links...
  • usw...

[Bearbeiten] Erweitern

Scripts für andere Distributionen erweitern, version auslesen.

shell> sh setup.sh --ostype
==>  real_os_type="Redhat Linux Desktop"
==>  real_os_version="10.0"

Module erweitern.

CallDepend() {
	 "Arch Linux")
		if ! pacman -Q libcap libjpeg freetype2 fontconfig gettext ; then
		    pacman -S libcap libjpeg freetype2 fontconfig gettext
		fi
		;;
	 "Crux Linux")
		if ! prt-get isinst libcap libjpeg freetype fontconfig gettext ; then
		    prt-get depinst libcap libjpeg freetype fontconfig gettext
		fi
		;;
	 "Debian Linux") apt-get install dialog libcap-dev libjpeg62-dev libfreetype6{,-dev} fontconfig{,-config} libfontconfig1{,-dev} ;;
	 "Gentoo Linux") emerge sys-libs/libcap media-libs/jpeg media-libs/freetype media-libs/fontconfig sys-devel/gettext -n ;;
	 "SuSE Linux")
		case $real_os_version in
		     7.3|8.0|8.1|8.2|9.0|9.1)
			if ! rpm -q libcap libjpeg ; then
			    yast -i libcap libjpeg
			fi
			;;
		     *)
			if ! rpm -q libcap-devel libjpeg-devel freetype2{,-devel} fontconfig{,-devel} gettext{,-devel} ; then
			    yast -i libcap-devel libjpeg-devel freetype2{,-devel} fontconfig{,-devel} gettext{,-devel}
			fi
			;;
		esac
		;;
+	"Redhat Linux Desktop")
+		if ! <TEST(S)> ; then
+		    <INSTALLATIONS-BEFEHL(E)> <PAKETE>
+		fi
+		;;
    esac
}

Wer die Abhängkeiten selbst auflösen möchte, kann diese function aushebeln.

shell> sh setup.sh --without-depends

[Bearbeiten] Tipps

[Bearbeiten] Mehrere Versionen

Mehrere Versionen von VDR nebenher installieren, einfach --prefix ändern.

bash> ./setup.sh --prefix=/usr/local/testumgebung
                   ^^^^^^
                   entpricht sonst /usr/local

Dann.

bash> /usr/local/testumgebung/bin/runvdr start

[Bearbeiten] Update

Normal wird beim ausführen von *.run das gröbste überschrieben (alles unterhalb von ../setup). Rest bleibt erhalten... (zbs)

+-- Folder.png $DISDIR
    +-- Folder.png admin
    +-- Folder.png plugins

Sollte es bei Versionswechseln zu Fehlern kommen, kann folgende Übergabe Sinnvoll sein.

bash> ./setup.sh --load-default-settings
bash> ./vdr-install-script-<VERSION>.run -- --load-default-settings

Damit werden die Standard-Einstellungen geladen.

[Bearbeiten] Distributions-spezifisch

[Bearbeiten] Crux

Der Support für Crux, ist zwar noch drinnen, besser das Port-System nutzen => Crux_2.5#VDR_installation => http://ronny-kornexl.homepage.t-online.de/crux/ports/

[Bearbeiten] Gentoo

Da war etwas mit den MPlayer, siehe Gentoo VdrMplayer USE-Variablen.

[Bearbeiten] Debian

Bei Debian am besten hier schauen Debian - mit 2.6.9er / 2.6.10er Kernel für VDR aufsetzen, für das erweitern der sources.list.

[Bearbeiten] SuSE

Community Repositories hinzufügen. (in 0.9.7.4 obsolete)

shell> yast inst_productsources
shell> yast2 inst_productsources

[x] Packman Repository
[x] VideoLan Repository

Kurz:

shell> zypper ar -t YUM ftp://ftp5.gwdg.de/pub/linux/misc/packman/suse/<VERSION> Packman
shell> zypper ar -t YUM http://download.videolan.org/pub/videolan/vlc/SuSE/<VERSION> VideoLan


[Bearbeiten] Internationalisierung I18N

Derzeit ist EN / DE vorhanden, hier ein kleine Anleitung, zum hinzufügen anderer Übersetzungen. (Bsp.: fr_FR)

shell> cd setup/locale
shell> make
shell> cp vdr-install-script.pot fr_FR.po
                                 ^^^^^
                                 shell> locale -a | cut -d. -f1
shell> sed -i 's:charset=CHARSET:charset=ISO-8859-15:' fr_FR.po

Jetzt kann in fr_FR.po, die Übersetzung erfolgen.

 #: ../admin/shutdown-cmds/procs.run:6
 msgid "proc(s) running"
 msgstr "<übersetzung>"

Zu guter letzt:

shell> make

[Bearbeiten] Probleme

[Bearbeiten] unexpected operator, beim ausführen des Skripts

Bei einem Fehler in der Art:

[: 28: 0: unexpected operator ./setup/setup.sh: 41: Syntax error: Bad substitution

sollte überprüft werden ob der Link von '/bin/sh' auf '/bin/bash' verweist.

[Bearbeiten] umlaute in vdr menus

Wenn Umlaute, nicht richtig dargestellt werden.

Zbs. Kan?le anstatt Kanäle im VDR Menu, folgende Variable in der vdr.conf auskommentieren.

# VDR needs to run in non-UTF8 locale?
- LC_CTYPE="POSIX
+ #LC_CTYPE="POSIX

[Bearbeiten] Wunschliste

[Bearbeiten] Links

  1. VDR Ftp
  2. Download Spiegel
  3. GNU Stow Projekt Homepage
  4. Erweiterung für Stow
  5. Stow Wiki
In anderen Sprachen