- New: added semantic check of variable "TYPE"

- Improved: Added prefix "DL_" to all attributes of the file-array (SOURCE[], FILE[], ..)
- Improved: refactored variable creation and moved code to builder-utils.sh
- New: Added DIST_FORCE_DOWNLOAD variable to select wget or plowdown
- Improvement: refactored code
- New: Added log_info() and log_debug() functions
- New: Added new array WINST_* (builder-product.cfg) to defined custom winst variables
This commit is contained in:
2012-01-30 23:07:08 +01:00
parent 976d2a3ec9
commit e9754434bb
5 changed files with 222 additions and 108 deletions

View File

@@ -27,74 +27,104 @@ TYPE="public"
#################
# File object array
# Downloader (DL) object array
################
#
# To build the opsi-packet, some files are needed. The files are defined by a file object.
# A file object contains different attributes. All attributes (FILE, SOURCE, ..) are binded together
# using a file index.
# using a file index.
#
# Target "prepare" : Working directory INST_DIR and OUTPUT_DIR are prepared
# Target "retrieve" : the files are downloaded to the the caching storage ${DIST_CACHE_DIR}/$DL_ARCH[i]/$DL_FILE[i]
# Target "create" : the files are extrated/copied to ${INST_DIR}/CLIENT_DATA/${DL_ARCH[$i]}
# Target "package" : opsi-makeproductfile is called processing ${INST_DIR} directory
#
# - Filename
# Filename used inside the builder and opsi package
# This parameter is mandatory.
# FILE[index]="cool-stuff.exe"
# Mandatory parameter.
# DL_FILE[index]="cool-stuff.exe"
#
# - Source URL
# The source URL to download the file from. Multiple URLs are separted by a ";"
# The source URL to download the file from. Multiple URLs are separted by a ";" or ","
# The $DIST_PRIVATE_REPOS variable will be added as the first URL automatically
# Therefore, you download the non-public programs to your local/privagte repository.
# You can use variable like $PN or $Version inside the URLs
# This parameter is mandatory
# SOURCE[index]="http://cool-stuff.de/download/cool-stuff_1.001.exe;http://mirro5.cool-stuff.at/$PN_$VERSION.exe"
# DL_SOURCE[index]="http://cool-stuff.de/download/cool-stuff_1.001.exe;http://mirro5.cool-stuff.at/$PN_$VERSION.exe"
#
# - Architecture
# Definition of the architecture to separate different files. This will be used in
# the file structure inside the opsi-package. Also, you can use it in your repos-URL's
# or filenames (OPSI_REPOS_FILE_PATTERN, OPSI_REPOS_PRODUCT_DIR) to structure the repos.
# If it's a file for all architecture, the variable have not to be set.
# This parameter is optional, default value: <not set>,
# Optional parameter. Default value: <not set>
# Valid values: <not set>, "X86", "X86_64"
# ARCH[index]="X86"
# DL_ARCH[index]="X86"
#
# - WINST Variabels:
# - WINST variable:
# You can access the file (included in the opsi-package) using WINST script language.
# The target "package" will replace all occurence of the string "@@BUILDER_VARIABLES@@"
# by pairs of "DefVar/Set"-commands, if the WINST attribute is set. Default value: <not set>
# This parameter is ptional, default value: <not set>,
# WINST[index]=itWESS
# Optional parameter. Default value: <not set>,
# DL_WINST_NAME[index]=itWESS
#
#################
# Optional Array Elements
################
# - Compression format
# If the retrieved file is compressed, the compression format is specified to
# extract it. If the parameter is not set, no extraction happens
# Optional parameter. Valid values: unzip, 7zip. Default value: <not set>.
# DL_EXTRACT_FORMAT="zip"
#
# - INSTALL Variabels:
# If you specify the INSTALL Array Element Builder expects that the specified FILE is a
# compressed archive and extract it.
# INSTALL[index]="libreoffice34.msi"
#
# - EXTRACTTO Variabels:
# - Extraction directory for compressed files
# This Variable only works in combination with INSTALL and forces the extraction
# to be done into the specified directory.
# This will result in the files to be extracted to ARCH/EXTRACTTO.
# This will result in the files to be extracted to ${OUTPUT_DIR}/${DL_ARCH}/${DL_EXTRACT_TO}.
# This feature is mostly needed if a package includes more setup programms that are nemed the
# same. This way you place the setups into diffent dirs
# EXTRACTTO[index]="office"
# Optional parameter. Default value: <empty>
# DL_EXTRACT_TO[index]="office"
#
FILE[0]="itWatchLogo.jpg"
SOURCE[0]="http://www.itwatch.de/logos/itWatchLogo.jpg"
WINST[0]=IconFile
# - Specify Downloader
# Defines the downloader to use to retrieve the SOURCE file
# Optional parameter. Valid values: wget|plowdown. Default value: wget
#
DL_FILE[0]="itWatchLogo.jpg"
DL_SOURCE[0]="http://www.itwatch.de/logos/itWatchLogo.jpg"
FILE[1]="itWESS-Client_German.msi"
SOURCE[1]="http://repos.dtnet.de/v-$PN/itwatch/itwatch/4.10.19/itWESS-Client_German.msi;http://internal.graz.disconnected-by-peer.at/Orig/itWatch/itWESS/HB/4.10.19/itWESS-Client_German.msi"
ARCH[1]="X86"
WINST[1]=itWESS
DL_FILE[1]="itWESS-Client_German.msi"
DL_SOURCE[1]="http://repos.dtnet.de/itwatch/itwatch/4.10.19/itWESS-Client_German.msi;http://internal.graz.disconnected-by-peer.at/Orig/itWatch/itWESS/HB/4.10.19/itWESS-Client_German.msi"
DL_ARCH[1]="X86"
DL_WINST_NAME[1]=itWESS
FILE[2]="itWESS-64bit_German.msi"
SOURCE[2]="http://repos.dtnet.de/itwatch/itwatch/4.10.19/itWESS-64bit_German.msi;http://internal.graz.disconnected-by-peer.at/Orig/itWatch/itWESS/HB/4.10.19/itWESS-64bit_German.msi"
ARCH[2]="X86_64"
WINST[2]=itWESS64
DL_FILE[2]="itWESS-64bit_German.msi"
DL_SOURCE[2]="http://repos.dtnet.de/itwatch/itwatch/4.10.19/itWESS-64bit_German.msi;http://internal.graz.disconnected-by-peer.at/Orig/itWatch/itWESS/HB/4.10.19/itWESS-64bit_German.msi"
DL_ARCH[2]="X86_64"
DL_WINST_NAME[2]=itWESS64
DL_FILE[3]="AiO-Runtimes-x86-v1.7.1.7z"
DL_SOURCE[3]="http://ftp.computerbase.de/dl-758/weJMhoTGCTbFI5mzRnMlAg/1327825564/AiO-Runtimes-x86-v1.7.1.7z"
DL_ARCH[3]="X86"
DL_DOWNLOADER="wget"
DL_EXTRACT_FORMAT[3]="unzip"
DL_EXTACT_TO[3]="office"
# File array index for the image showing while installing the program
ICON_FILE_INDEX=0
ICON_DL_INDEX=0
#########################
# Setup additional, custom WINST variables
# which will be injected to the *.ins files
#
# The following tokens inside the WINST_VALUE will be replaced dynamically
#
# @DL_EXTRACT_WINST_PATH[<index>]@ : contains the WINST location of the directory, the files from DL_FILE[<index>] was extracted to.
# Sample:
# WINST_VALUE[1]="@DL_EXTRACT_WINST_PATH[<index>]@\\svcpack\\aio-runtimes.exe"
# results in "%ScriptPath%\X86_64\svcpack\aio-runtimes.exe"
#
#########################
WINST_NAME[0]="InstallExe"
WINST_VALUE[0]="@DL_EXTRACT_WINST_PATH[2]@\\svcpack\\aio-runtimes.exe"
WINST_NAME[1]="MyVar"
WINST_VALUE[1]="My content"