Introduction:
This module should be used in installation YCP scripts
to get information how the client was called and how
should it behave. This module provides a functional
API to the script parametes.
@example
inst_language ($["enable_back":false, "enable_next":true, "first_run":"yes"])
GetInstArgs::enable_next() -> true
GetInstArgs::enable_back() -> false
Paths where to download inst-sys extension images are taken
from '/etc/install.inf'. An extension image contains the
directory structure and files as it was in inst-sys but
it is a squashfs image of it.
Inst-sys URL might be absolute or 'relative' to repo URL,
but only if instsys=... parameter wasn't explicitely defined.
When instsys=... parameter _is not_ used:
* RepoURL: cd:/?device=sr0
* InstsysURL: boot/
/root
( is for instance "i386", "x86_64", "ppc")
or
* RepoURL: nfs://server/repo/url/?device=eth0
* InstsysURL: boot//root
When instsys=... parameter _is_ used:
* RepoURL: nfs://server/repo/url/
* InstsysURL: http://server/inst-sys/url/
or
* RepoURL: cd:/?device=sr0
* InstsysURL: nfs://server/inst-sys/url/?device=eth0
Files to download are in the same level (directory) with
inst-sys:
* RepoURL: cd:/?device=sr0
* InstsysURL: boot//root
-> cd:/boot//$extension_file
* RepoURL: nfs://server/repo/url/?device=eth0
* InstsysURL: http://server/inst-sys/url/?device=eth0
-> http://server/inst-sys/$extension_file?device=eth0
These files are always squashfs images that need to be:
* Downloaded: /lbin/wget -v $url $local_filename_path
* Downloaded file needs to be checked against a SHA1
hash defined in /content file
* Mounted (-o loop) to a directory.
* Directory needs to be merged into inst-sys by using
`/lbin/lndir /`
This module remembers downloading a file so it does not
download any file twice.
Additional comments on the "Installation Workflow":
* When Linuxrc starts loading an initial translation
might already been selected. Linuxrc will download
and merge the pre-selected translation itself.
* Then Linuxrc starts YaST. YaST initializes itself
including translations and displays the language
dialog translated.
* After a different language is selected, YaST downloads
a localization inst-sys extension and merges it.
* Then a different locale is selected and YaST redraws
reruns the current YCP client.