Installscript

From VDR Wiki

(Difference between revisions)
Jump to: navigation, search
m
(link [1] updated.)
(27 intermediate revisions not shown)
Line 1: Line 1:
==Description==
==Description==
The '''Installsscript''' is a tool that the handles the conventional installation steps with a collection of scripts.
The '''Installsscript''' is a tool that the handles the conventional installation steps with a collection of scripts.
 +
 +
[[Image:installscript-0.png|thumb|none|''lxdialog'']]
==Prerequirements==
==Prerequirements==
* Development environment
* Development environment
-
==Manual==
+
check needed requirements by this command:
-
* [[:de:installscript-manual-de|'''Manual De''']]
+
 
-
* [[:de:installscript-manual-en|'''Manual En''']]
+
bash> sh vdr-install-script-current.run -- --checkreq
 +
 
 +
On sarge it needs libncurses5-dev and others obvious (if you typed in previous command) packages.
==Tutorial==
==Tutorial==
Line 15: Line 19:
===Scripts customisation===
===Scripts customisation===
-
Decompression
 
-
sh vdr-install-script-<VERSION>.run --noexec --target /tmp/VDRtmp
 
-
cd /tmp/VDRtmp/setup
 
-
It is useful to customise the following configuration file to his own needs
+
Unpack
-
* config/[[:de:installscript-setup.conf|'''setup.conf''']]
+
-
* config/[[:de:installscript-commands.conf|'''commands.conf''']]
+
-
* config/[[:de:installscript-reccmds.conf|'''reccmds.conf''']]
+
-
* config/[[:de:installscript-make.conf|'''make.conf''']]
+
-
* config/[[:de:installscript-kernel.conf|'''kernel.conf''']]
+
-
* config/[[:de:installscript-configure.conf|'''configure.conf''']]
+
-
* config/[[:de:installscript-marks2pts.conf|'''marks2pts.conf''']]
+
-
* examples/plugins/mailbox/[[:de:Accounts.conf|'''accounts.conf''']]
+
-
* examples/vdr/[[:de:installscript-record.conf|'''record.conf''']]
+
-
* examples/vdr/[[:de:installscript-shutdown.conf|'''shutdown.conf''']]
+
-
e.g. with the ''mcedit'' editor
+
-
mcedit config/setup.conf
+
-
In '''../config/plugins''' befinden sich die Einstellungen der Plugins, als bsp das [[audiocd-plugin]]. '''../config/plugins/audiocd.conf'''
+
bash> sh vdr-install-script-current.run --noexec --target /tmp/vdr
-
## Description:
+
  bash> cd /tmp/vdr/setup
-
#
+
-
# -d DEV --device=DEV set device (default: /dev/cdrom)
+
-
  #
+
-
##
+
-
-d /dev/cdrom
+
-
Options are prefaced with '''<code>^-</code>''', after selection it goes into the '''plugin_setup.conf''', see [[pluginsetup-plugin]], the same for '''Description'''.
+
The following files should be adapted according to your needs.
-
## Description: AudioCD Plugin
+
-
                ^^^^^^^^^^^^^^
+
-
                Würde später im Menu des Plugins (pluginsetup) stehen, ansonnsten <NAME>
+
-
Most of the options can be delivered through the commandline, independently from '''setup.conf'''
+
+-- [[Image:Folder.png]] $DISDIR
-
./setup.sh --help
+
    +-- [[Image:Folder.png]] setup
-
./vdr-install-script-<VERSION>.run -- --help
+
        +-- [[Image:Folder.png]] config
 +
            |--+ [[installscript-setup.conf|'''setup.conf''']]
 +
            |--+ [[installscript-make.conf|'''make.conf''']]
 +
            |--+ [[installscript-modules.conf|'''modules.conf''']]
 +
            |--+ [[installscript-sources.conf|'''sources.conf''']]
 +
            |--+ [[installscript-marks2pts.conf|'''marks2pts.conf''']]
 +
            |--+ [[installscript-keymacros.conf|'''keymacros.conf''']]
 +
        +-- [[Image:Folder.png]] examples
 +
            +-- [[Image:Folder.png]] plugins
 +
                +-- [[Image:Folder.png]] mailbox
 +
                    |--+ '''[[accounts.conf]]'''
 +
            +-- [[Image:Folder.png]] vdr
 +
                |--+ [[installscript-vdr.conf|'''vdr.conf''']]
-
===Backup===
+
===CMD(s)===
-
In order that the setting are not lost at updates, everything should be backuped.
+
-
Execute
+
  +-- [[Image:Folder.png]] $DISDIR
-
  ./setup.sh
+
    +-- [[Image:Folder.png]] admin
-
and go to
+
        +-- [[Image:Folder.png]] [[installscript-command-cmds|'''command-cmds''']]
-
<-> - Configuration
+
            |--+ *.conf
-
    | - Load an Alternate Configuration File --->
+
        +-- [[Image:Folder.png]] [[installscript-plugin-cmds|'''plugin-cmds''']]
-
    | - Save Configuration to an Alternate File --->
+
            |--+ *.conf
-
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
        +-- [[Image:Folder.png]] [[installscript-recording-cmds|'''recording-cmds''']]
-
To save the settings somewhere else, e.g. '''/media/floppy/.config''' (ca. 80KB).
+
            |--+ *.run
 +
         +-- [[Image:Folder.png]] [[installscript-shutdown-cmds|'''shutdown-cmds''']]
 +
            |--+ *.run
 +
        +-- [[Image:Folder.png]] [[installscript-start-cmds|'''start-cmds''']]
 +
            |--+ [[Image:Folder.png]] rc
 +
            |--+ [[Image:Folder.png]] rc.d
 +
            |--+ [...]
-
After an update, these setting can be loaded through
+
===Structur===
-
<-> - Configuration
+
-
    | - Load an Alternate Configuration File --->
+
-
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
-
Another possibility is the backup of the complete script with
+
  +-- [[Image:Folder.png]] /usr/local ("'''$INSTALLPREFIX'''")
-
  ./setup.sh --buildrunpackage
+
    +-- [[Image:Folder.png]] src
-
      Label (default "vdr-install-script-<VERSION>.run"):
+
        +-- [[Image:Folder.png]] VDR
 +
        +-- [[Image:Folder.png]] DVB
 +
    +-- [[Image:Folder.png]] stow
 +
        +-- [[Image:Folder.png]] package
 +
            +-- [[Image:Folder.png]] bin
 +
            +-- [[Image:Folder.png]] lib
 +
            +-- [[Image:Folder.png]] doc
 +
    +-- [[Image:Folder.png]] cache
 +
        +-- [[Image:Folder.png]] cddb
 +
        +-- [[Image:Folder.png]] gameboy
 +
        +-- [[Image:Folder.png]] infosatepg
 +
        +-- [[Image:Folder.png]] mp3
 +
        +-- [[Image:Folder.png]] podcatcher
 +
        +-- [[Image:Folder.png]] mldonkey
 +
        +-- [[Image:Folder.png]] tvmovie2vdr
 +
            +-- [[Image:Folder.png]] epgimages
 +
            +-- [[Image:Folder.png]] downloadfiles
 +
            +-- [[Image:Folder.png]] downloadupdatefiles
 +
        +-- [[Image:Folder.png]] vtx
 +
    +-- [[Image:Folder.png]] etc
 +
        +-- [[Image:Folder.png]] graphlcd
 +
            |--+ graphlcd.conf
 +
        +-- [[Image:Folder.png]] igor
 +
            |--+ igor.conf
 +
        +-- [[Image:Folder.png]] lcdproc
 +
            |--+ LCDd.conf
 +
        +-- [[Image:Folder.png]] lirc
 +
            |--+ lircd.conf
 +
            |--+ lircrc
 +
        +-- [[Image:Folder.png]] nvram-wakeup
 +
            |--+ nvram-wakeup.conf
 +
        +-- [[Image:Folder.png]] sharemarks
 +
            |--+ marks2pts.conf
 +
        +-- [[Image:Folder.png]] tvmovie2vdr
 +
            |--+ channels.pl
 +
            |--+ channels_wanted.pl
 +
            |--+ config.pl
 +
        +-- [[Image:Folder.png]] vdr ("'''$DISDIR'''")
 +
            |--+ setup.conf
 +
        +-- [[Image:Folder.png]] vdradmin
 +
            |--+ vdradmind.{at,bl,conf,done}
-
Gesichert wird, was in '''../setup/SAFE''' definiert wurde.
+
===Module===
 +
====Add====
 +
<pre>
 +
bash> ./vdr-install-script-<VERSION>.run -- --plgadd
 +
bash> ./setup.sh --plgadd
 +
</pre>
-
#
+
====Import====
-
# FILE(s) only txt files!
+
<pre>
-
#
+
bash> ./vdr-install-script-<VERSION>.run -- --add="<URL>/<MODUL>"
-
../setup/config/add.conf
+
bash> ./setup.sh --add="<URL>/<MODUL>"
-
#
+
</pre>
-
# DIRECTORY(ies) maxdepth 1, only txt files!
+
-
#
+
-
../setup/config/plugins
+
-
Wer möchte kann auch Files "außerhalb" der Scripts sichern, einfach eintragen.
+
====Remove====
-
#
+
<pre>
-
# FILE(s) only txt files!
+
bash> ./setup.sh --plgrm
-
#
+
</pre>
-
/etc/lircrc.conf
+
-
===Installation protocol===
+
====Extend====
-
{|
+
<pre>
-
|[[Image:Installscript-01.png|thumb|none|''Mainmenu'']]
+
bash> sh setup.sh --ostype
-
|Startmenu
+
==> real_os_type="Redhat Linux Desktop"
-
|-
+
==> real_os_version="10.0"
-
|[[Image:Installscript-02.png|thumb|none|''Download Manager'']]
+
</pre>
-
|Download Manager
+
-
|-
+
-
|[[Image:Installscript-03.png|thumb|none|''DL Manager Sub 1'']]
+
-
|One ''layer'' deeper
+
-
|-
+
-
|[[Image:Installscript-04.png|thumb|none|''DL Manager Sub 2'']]
+
-
|Here, one actually selects the sources
+
-
|-
+
-
|[[Image:Installscript-05.png|thumb|none|''Download Status'']]
+
-
|Download status
+
-
|-
+
-
|[[Image:Installscript-06.png|thumb|none|''Mainmenu'']]
+
-
|Startmenu => ''Software Manager''
+
-
|-
+
-
|[[Image:Installscript-07.png|thumb|none|''Software Manager'']]
+
-
|Selection of the packages.
+
-
|-
+
-
|[[Image:Installscript-08.png|thumb|none|''Software Select'']]
+
-
|Here, the selection of the sources takes place (version independent). One should roughly what maches together!
+
-
|-
+
-
|[[Image:Installscript-09.png|thumb|none|''Start up'']]
+
-
|Entry for '''/etc/inittab'''
+
-
|-
+
-
|[[Image:Installscript-10.png|thumb|none|''Channels Select'']]
+
-
|Selection of the ''[[Syntax of the channels.conf|channels.conf]]''
+
-
|-
+
-
|[[Image:Installscript-11.png|thumb|none|''Software Manager'']]
+
-
|Software Manager => ''[[Patches]]''
+
-
|-
+
-
|[[Image:Installscript-12.png|thumb|none|''Patch Select'']]
+
-
|Basically all patches can be applied as available. Just copy them into '''../packages/vdr/patches''' (requirement: ''--dry-run'' works)
+
-
|-
+
-
|[[Image:Installscript-13.png|thumb|none|''Patchlog'']]
+
-
|If everythings went fine
+
-
|-
+
-
|[[Image:Installscript-14.png|thumb|none|''Mainmenu'']]
+
-
|Mainmenu => ''Plugins Manager''
+
-
|-
+
-
|[[Image:Installscript-15.png|thumb|none|''Plugins Manager'']]
+
-
|There are three options: '''<nowiki><I></nowiki>''' for ''install'', '''<nowiki><U></nowiki>''' for ''replace'', and '''<nowiki><D></nowiki>''' for ''delete''. Sometime VDR has to be patched for some plugins, should be visible in the plugins.log, for ''--reverse'' of a patches, just de-install the corresponding plugin ('''<nowiki><D></nowiki>''').
+
-
|-
+
-
|[[Image:Installscript-16.png|thumb|none|''Plugins Opt'']]
+
-
|Show additional options for plugins compilation. See also [[:de:installscript-make.conf|'''make.conf''']]
+
-
|-
+
-
|[[Image:Installscript-17.png|thumb|none|''Mainmenu'']]
+
-
|Mainmenu => ''Compiling''
+
-
|-
+
-
|[[Image:Installscript-18.png|thumb|none|''Driver Select'']]
+
-
|Selection of the [[linuxtv:DVB Standard|DVB]] driver.
+
-
|-
+
-
|[[Image:Installscript-19.png|thumb|none|''Postinstallation'']]
+
-
|Shows the ''Postinstallation''.
+
-
|-
+
-
|[[Image:Installscript-20.png|thumb|none|''Compile Menu'']]
+
-
|Selection of the options.
+
-
|-
+
-
|[[Image:Installscript-21.png|thumb|none|''Edit'']]
+
-
|Here one can change the options for the compilation of VDR
+
-
|-
+
-
|[[Image:Installscript-22.png|thumb|none|''Plugins Check'']]
+
-
|Show what was compiled
+
-
|-
+
-
|[[Image:Installscript-23.png|thumb|none|''Mainmenu'']]
+
-
|Mainmenu => ''pluginsetup''
+
-
|-
+
-
|[[Image:Installscript-24.png|thumb|none|''Plugins Select'']]
+
-
|Dialog for activation of the plugins, it can later be changed through ''[[pluginsetup-plugin|pluginsetup plugin]]''
+
-
|-
+
-
|[[Image:Installscript-25.png|thumb|none|''Installationslog'']]
+
-
|The log files are located in '''/var/log/vdr'''
+
-
|}
+
-
 
+
-
===Scripts===
+
-
* [[:de:installscript-runvdr|'''runvdr''']]
+
-
* [[:de:installscript-vdr.conf|'''vdr.conf''']]
+
-
* [[:de:installscript-shutdown.sh|'''shutdown.sh''']]
+
-
 
+
-
===Available modules===
+
-
This is an index of the available [[:de:installscript-module|modules]]. Everything below ''./add'' can be upgraded.
+
-
 
+
-
Modules in the ''../untestet'' directory must to be customised!
+
-
* One modules requires kernel 2.6 (actuator.cmd)
+
-
* Some modules are still in beta status
+
-
* Other have missing links
+
-
 
+
-
===Stow(ES)===
+
-
[[GNU]] stow helps to organise the files under '''/usr/local''', by installing every software under his own directory tree under '''/usr/local/stow'''. And then, symbol links create the illusion, every software is installed in the same place.
+
-
 
+
-
Here are some of the most important commands
+
-
* help
+
-
  /usr/local/stow/stowES help --prog stow=/usr/local/stow/stow
+
-
 
+
-
* checkstow (cs)
+
-
/usr/local/stow/stowES cs --prog stow=/usr/local/stow/stow
+
-
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
+
-
....
+
-
 
+
-
* checkin (ci)
+
-
/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
+
-
 
+
-
* ceckout (co)
+
-
/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.
+
-
 
+
-
* remove (rm)
+
-
/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.
+
-
* exchange
+
Modules extend.
-
/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.
+
-
===To be continued...===
+
<pre>
 +
CallDepend() {
 +
    case $real_os_type in
 +
"Arch Linux")
 +
if ! pacman -Q libcap libjpeg ; then
 +
    pacman -S libcap libjpeg
 +
fi
 +
;;
 +
"Crux Linux")
 +
if ! prt-get isinst libcap libjpeg ; then
 +
    prt-get depinst libcap libjpeg
 +
fi
 +
;;
 +
"Debian Linux") apt-get install libjpeg62-dev libcap-dev ;;
 +
"Gentoo Linux") emerge jpeg libcap -n ;;
 +
"SuSE Linux")
 +
case $real_os_version in
 +
    7.3|8.0|8.1|8.2|9.0|9.1)
 +
if ! rpm -q libjpeg libcap ; then
 +
    yast -i libjpeg libcap
 +
fi
 +
;;
 +
    *)
 +
if ! rpm -q libjpeg libjpeg-devel libcap ; then
 +
    yast -i libjpeg libjpeg-devel libcap
 +
fi
 +
;;
 +
esac
 +
;;
 +
+ "Redhat Linux Desktop")
 +
+ if ! <TEST(S)> ; then
 +
+     <INSTALLATIONS-COMMAND(S)> <PAKAGES>
 +
+ fi
 +
+ ;;
 +
    esac
 +
}
 +
</pre>
==Links==
==Links==
{|
{|
| [1]
| [1]
-
| ftp://ftp.cadsoft.de/vdr/Tools
+
| ftp://ftp.tvdr.de/vdr/Tools
| VDR FTP
| VDR FTP
|-
|-
Line 242: Line 194:
|}
|}
-
[[Category:Software]]
+
[[Category:Installscript]]
-
 
+
{{i18n|Installscript}}
-
<!--Link to german wiki page -->
+
-
[[de:Installscript]]
+

Revision as of 20:00, 22 May 2010

Contents

Description

The Installsscript is a tool that the handles the conventional installation steps with a collection of scripts.

lxdialog

Prerequirements

  • Development environment

check needed requirements by this command:

bash> sh vdr-install-script-current.run -- --checkreq

On sarge it needs libncurses5-dev and others obvious (if you typed in previous command) packages.

Tutorial

First of all

  • Linux knowledge is required
  • It is useful to have experiences in compiling VDR and it's component manually

Scripts customisation

Unpack

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

The following files should be adapted according to your needs.

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

CMD(s)

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

Structur

+-- Folder.png /usr/local ("$INSTALLPREFIX")
    +-- Folder.png src
        +-- Folder.png VDR
        +-- Folder.png DVB
    +-- 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 tvmovie2vdr
            +-- Folder.png epgimages
            +-- Folder.png downloadfiles
            +-- Folder.png downloadupdatefiles
        +-- 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 sharemarks
            |--+ marks2pts.conf
        +-- Folder.png tvmovie2vdr
            |--+ channels.pl
            |--+ channels_wanted.pl
            |--+ config.pl
        +-- Folder.png vdr ("$DISDIR")
            |--+ setup.conf
        +-- Folder.png vdradmin
            |--+ vdradmind.{at,bl,conf,done}

Module

Add

bash> ./vdr-install-script-<VERSION>.run -- --plgadd
bash> ./setup.sh --plgadd

Import

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

Remove

bash> ./setup.sh --plgrm

Extend

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

Modules extend.

CallDepend() {
    case $real_os_type in
	 "Arch Linux")
		if ! pacman -Q libcap libjpeg ; then
		    pacman -S libcap libjpeg
		fi
		;;
	 "Crux Linux")
		if ! prt-get isinst libcap libjpeg ; then
		    prt-get depinst libcap libjpeg
		fi
		;;
	 "Debian Linux") apt-get install libjpeg62-dev libcap-dev ;;
	 "Gentoo Linux") emerge jpeg libcap -n ;;
	 "SuSE Linux")
		case $real_os_version in
		     7.3|8.0|8.1|8.2|9.0|9.1)
			if ! rpm -q libjpeg libcap ; then
			    yast -i libjpeg libcap
			fi
			;;
		     *)
			if ! rpm -q libjpeg libjpeg-devel libcap ; then
			    yast -i libjpeg libjpeg-devel libcap
			fi
			;;
		esac
		;;
+	"Redhat Linux Desktop")
+		if ! <TEST(S)> ; then
+		    <INSTALLATIONS-COMMAND(S)> <PAKAGES>
+		fi
+		;;
    esac
}

Links

[1] ftp://ftp.tvdr.de/vdr/Tools VDR FTP
[2] http://linvdr.org/download/vdr/Tools Download mirror
[3] http://savannah.gnu.org/projects/stow GNU Stow project homepage
[4] http://www.inf.tu-dresden.de/~al10/stowES Extensions to Stow
[5] http://linuxwiki.de/Stow Stow Wiki
Personal tools
Participate