Installscript: Difference between revisions

From VDR Wiki
Jump to navigation Jump to search
 
(13 intermediate revisions by 6 users not shown)
Line 9: Line 9:
check needed requirements by this command:
check needed requirements by this command:


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

On sarge it needs libncurses5-dev & subversion plus others obvious (if you typed in previous command) packages



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


==Tutorial==
==Tutorial==
Line 24: Line 22:
Unpack
Unpack


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


The following files should be adapted according to your needs
The following files should be adapted according to your needs.


+-- Bild:Folder.png $DISDIR
+-- [[Image:Folder.png]] $DISDIR
+-- Bild:Folder.png setup
+-- [[Image:Folder.png]] setup
+-- Bild:Folder.png config
+-- [[Image:Folder.png]] config
|--+ setup.conf
|--+ [[installscript-setup.conf|'''setup.conf''']]
|--+ make.conf
|--+ [[installscript-make.conf|'''make.conf''']]
|--+ modules.conf
|--+ [[installscript-modules.conf|'''modules.conf''']]
|--+ sources.conf
|--+ [[installscript-sources.conf|'''sources.conf''']]
|--+ marks2pts.conf
|--+ [[installscript-marks2pts.conf|'''marks2pts.conf''']]
|--+ keymacros.conf
|--+ [[installscript-keymacros.conf|'''keymacros.conf''']]
+-- Bild:Folder.png examples
+-- [[Image:Folder.png]] examples
+-- Bild:Folder.png plugins
+-- [[Image:Folder.png]] plugins
+-- Bild:Folder.png mailbox
+-- [[Image:Folder.png]] mailbox
|--+ accounts.conf
|--+ '''[[accounts.conf]]'''
+-- Bild:Folder.png vdr
+-- [[Image:Folder.png]] vdr
|--+ vdr.conf
|--+ [[installscript-vdr.conf|'''vdr.conf''']]


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


+-- [[Image:Folder.png]] $DISDIR
bash> LANG="de_DE@euro" ./setup.sh --help
+-- [[Image:Folder.png]] admin
bash> LANG="de_DE@euro" sh vdr-install-script-current.run -- --help
+-- [[Image:Folder.png]] [[installscript-command-cmds|'''command-cmds''']]
|--+ *.conf
+-- [[Image:Folder.png]] [[installscript-plugin-cmds|'''plugin-cmds''']]
|--+ *.conf
+-- [[Image:Folder.png]] [[installscript-recording-cmds|'''recording-cmds''']]
|--+ *.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
|--+ [...]


===Structur===


+-- [[Image:Folder.png]] /usr/local ("'''$INSTALLPREFIX'''")
+-- [[Image:Folder.png]] src
+-- [[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}


===Available modules===
===Module===
====Add====
To be continued...
<pre>
bash> ./vdr-install-script-<VERSION>.run -- --plgadd
bash> ./setup.sh --plgadd
</pre>


===Stow(ES)===
====Import====
<pre>
[[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.
bash> ./vdr-install-script-<VERSION>.run -- --add="<URL>/<MODUL>"
bash> ./setup.sh --add="<URL>/<MODUL>"
</pre>


====Remove====
Here are some of the most important commands
<pre>
* help
bash> ./setup.sh --plgrm
/usr/local/stow/stowES help --prog stow=/usr/local/stow/stow
</pre>


====Extend====
* checkstow (cs)
<pre>
/usr/local/stow/stowES cs --prog stow=/usr/local/stow/stow
bash> sh setup.sh --ostype
Checking packages in /usr/local/stow (78 matches):
==> real_os_type="Redhat Linux Desktop"
I ( 772.5) DFB++-0.9.20
==> real_os_version="10.0"
I ( 1,385) DirectFB-0.9.20
</pre>
I (19223.5) ImageMagick-6.0.2
I ( 10,085) MPlayer-1.0pre4
....


Modules extend.
* 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


<pre>
* ceckout (co)
CallDepend() {
/usr/local/stow/stowES co MPlayer-1.0pre4 --prog stow=/usr/local/stow/stow
case $real_os_type in
Calling "stow -D" to check out package MPlayer-1.0pre4 ...done.
"Arch Linux")
Calling ldconfig.
if ! pacman -Q libcap libjpeg ; then

pacman -S libcap libjpeg
* remove (rm)
fi
/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.
"Crux Linux")
Calling "rm -rf" to remove package MPlayer-1.0pre4 ...done.
if ! prt-get isinst libcap libjpeg ; then
Calling ldconfig.
prt-get depinst libcap libjpeg

fi
* exchange
;;
/usr/local/stow/stowES exchange MPlayer-1.0pre4 MPlayer-1.0pre5 --prog stow=/usr/local/stow/stow
"Debian Linux") apt-get install libjpeg62-dev libcap-dev ;;
Calling "stow -D" to check out package MPlayer-1.0pre4 ...done.
"Gentoo Linux") emerge jpeg libcap -n ;;
Calling "stow" to check in package MPlayer-1.0pre5 ...done.
"SuSE Linux")
Calling ldconfig.
case $real_os_version in

7.3|8.0|8.1|8.2|9.0|9.1)
===To be continued...===
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 118: Line 194:
|}
|}


[[Category:Software]]
<!-- [[Category:Installscript]] -->
{{i18n|Installscript}}

<!--Link to german wiki page -->
[[de:Installscript]]

Latest revision as of 17:30, 7 December 2013

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