AddOnProduct |
AddOnProduct.ycp |
| This module provides integration of the add-on products | |
|
|
|
This module has an unstable interface. |
ID for cache in the inst-sys
System proposals have already been prepared for merging?
System workflows have already been prepared for merging?
List of all selected repositories
Structure add_on_products = [
$[
"media" : 4, // ID of the source
"product_dir" : "/",
"product" : "openSUSE version XX.Y",
"autoyast_product" : "'PRODUCT' tag for AutoYaST Export",
],
...
]
ID of currently added repository for the add-on product
return value of last step in the product adding workflow
Structure $["src_id|media|filename" : "/path/to/the/file"]
Downloads a requested file, caches it and returns path to that cached file. If a file is alerady cached, just returns the path to a cached file. Parameter 'sod' defines whether a file is 'signed' (file + file.asc) or 'digested' (file digest mentioned in signed content file).
- Parameters:
-
src_id media filename sod optional
- Return value:
-
path to a cached file
- Example
-
// content file is usually signed with content.asc AddOnProduct::GetCachedFileFromSource (8, 1, "/content", "signed", false); // the other files are usually digested in content file AddOnProduct::GetCachedFileFromSource (8, 1, "/images/images.xml", "digested", true);
Returns the current add-on installation mode.
- Return value:
-
current mode
- See
-
SetMode()
Sets internal add-on installation mode to either "installation" or "update". Mode is used later when deciding which part of the installation.xml to use.
- Parameters:
-
new_mode
- See
-
GetMode();
Returns whether add-on product got as parameter (source id) replaces some already installed add-on or whether it is a new installation. Repositories and target have to be initialized.
- Parameters:
-
source_id
Returns an absolute URL from base + relative url. Relative URL needs to start with 'reulrl://' othewise it is not considered being relative and it's returned as it is (just the relative_url parameter).
- Parameters:
-
base_url url
- Return value:
-
absolute_url
- Example
-
AddOnProduct::GetAbsoluteURL ( "http://www.example.org/some%20dir/another%20dir", "relurl://../AnotherProduct/" ) -> "http://www.example.org/some%20dir/AnotherProduct/" AddOnProduct::GetAbsoluteURL ( "username:password@ftp://www.example.org/dir/", "relurl://./Product_CD1/" ) -> "username:password@ftp://www.example.org/dir/Product_CD1/"
Adapts the inst-sys from the tarball
- Parameters:
-
filename string the filename with the tarball to use to the update
- Return value:
-
true on success
New add-on product might add also new agents. Functions Rereads all available agents.
Remove the /y2update directory from the system
Show /media.1/info.txt file in a pop-up message if such file exists. Show license if such exists and return whether users accepts it. Returns 'nil' when did not succed.
- Parameters:
-
src_id
- Return value:
-
whether the license has been accepted
Contains list of repository IDs that request registration
Returns whether registration is requested by at least one of used Add-On products.
- Return value:
-
if requested
Add-On product might have been added into products requesting registration. This pruduct has been removed (during configuring list of add-on products).
- Parameters:
-
src_id
Checks whether the content file of the add-on has a flag REGISTERPRODUCT set to "true" or "yes". If it has, product is added into list of pruducts that need registration. Cached content file is used if possible.
- Parameters:
-
src_id
Calls registration client if needed.
- Parameters:
-
src_id
Do installation of the add-on product within an installed system srcid is got via AddOnProduct::src_id
- Return value:
-
the result symbol from wizard sequencer
Every Add-On can preselect some patterns. Only patterns that are not selected/installed yet will be used.
Structure $[
src_id : [
"pattern_1", "pattern_2", "pattern_6"
]
]
Function checks whether the product content file contains PATTERNS tag and pre-selects patterns listed there.
- Parameters:
-
srcid
Integrate the add-on product to the installation workflow, including preparations for 2nd stage and inst-sys update
- Parameters:
-
srcid integer the ID of the repository
- Return value:
-
true on success
Opposite to Integrate()
- Parameters:
-
srcid integer the ID of the repository
Some product(s) were removed, reintegrating their control files from scratch.
Reads temporary add_on_products file, parses supported products, merges base URL if products use relative URL and returns list of maps defining additional products to add.
[
// product defined with URL and additional path (typically "/")
$["url":(string) url, "path":(string) path]
// additional list of products to install
// media URL can contain several products at once
$["url":(string) url, "path":(string) path, "install_products":(list <string>) pti]
]
- Parameters:
-
parse_file base_url
- Return value:
-
of products to add
- See
-
FATE #303675
Installs selected products from repository. If list of prods_to_install is empty, all products found are installed.
- Parameters:
-
prods_to_install src
- Return value:
-
if successful
Auto-integrate add-on products in specified file (usually add_on_products or add_on_products.xml file)
Structure Filelist map is in format
[
$[ "file" : "/local/path/to/an/add_on_products/file", "type":"plain" ],
$[ "file" : "/local/path/to/an/add_on_products/file.xml", "type":"xml" ]
]
- Parameters:
-
filelist list of maps describing one or several add_on_products files
- Return value:
-
true on exit
Returns map describing all used add-ons.
Structure This is an XML file created from exported map:
<add-on>
<add_on_products config:type="list">
<listentry>
<media_url>ftp://server.name/.../</media_url>
<product>NEEDS_TO_MATCH_"PRODUCT"_TAG_FROM_content_FILE!</product>
<product_dir>/</product_dir>
</listentry>
...
</add_on_products>
</add-on>
- Return value:
-
Returns the path where Add-Ons configuration is stored during the fist stage installation. This path reffers to the installed system.
- See
-
bugzilla #187558
Reads the Add-Ons configuration stored on disk during the first stage installation.
- See
-
bugzilla #187558