107 lines
2.5 KiB
Plaintext
107 lines
2.5 KiB
Plaintext
; opsiscript syntax highlighting test
|
|
;
|
|
; SPDX-FileCopyrightText: 2024 Stefan Staeglich <sstaeglich@kdemail.net>
|
|
;
|
|
; SPDX-License-Identifier: LGPL
|
|
|
|
|
|
|
|
|
|
[Actions]
|
|
requiredWinstVersion >= "4.12.8"
|
|
ScriptErrorMessages=off
|
|
setLogLevel = 7
|
|
|
|
|
|
DefVar $OS$ = GetOS
|
|
DefVar $ProductId$ = "test"
|
|
|
|
DefVar $filename$ = GetProductProperty("filename", "/tmp/testfile.txt")
|
|
|
|
comment "Show product picture"
|
|
ShowBitmap "%ScriptPath%\" + $ProductId$ + ".png" $ProductId$
|
|
|
|
Switch $OS$
|
|
case "Linux"
|
|
Message "Try to install " + $ProductId$ " on " + $OS$
|
|
sub_main_linux
|
|
EndCase
|
|
case "Windows_NT"
|
|
Message "Try to install " + $ProductId$ " on " + $OS$
|
|
sub_main_windows
|
|
EndCase
|
|
DefaultCase
|
|
Message $OS$ + " is not supported"
|
|
EndCase
|
|
EndSwitch
|
|
|
|
[sub_main_linux]
|
|
DefVar $distrotype$ = getLinuxDistroType
|
|
DefStringList $linuxInfo$ = getLinuxVersionMap
|
|
DefVar $distCodeName$ = getValue("Codename", $linuxInfo$)
|
|
DefVar $distRelease$ = getValue("Release", $linuxInfo$)
|
|
DefVar $distroName$ = getValue("Distributor ID", $linuxInfo$)
|
|
|
|
if not ($distrotype$ = 'debian')
|
|
LogError "Product: " + $ProductId$ + "is desinged for Debian/Ubuntu"
|
|
isFatalError "Wrong Distrotype"
|
|
endif
|
|
|
|
Message "Try to get Package Lock..."
|
|
if waitForPackageLock("60","false")
|
|
comment "we got the package lock."
|
|
else
|
|
LogError "could not get Package Lock"
|
|
isFatalError "package lock failed"
|
|
endif
|
|
|
|
ShellInAnIcon_install_linux
|
|
if not("0" = getLastExitCode)
|
|
LogError "failed ShellInAnIcon_install_linux"
|
|
isFatalError "ShellInAnIcon_install_linux"
|
|
endif
|
|
|
|
Patches_config_systemd "/etc/systemd/system/test.service.d/override.conf"
|
|
if not("0" = getLastExitCode)
|
|
Message "failed Patches_config_systemd"
|
|
LogError "failed Patches_config_systemd"
|
|
isFatalError "config_systemd"
|
|
endif
|
|
|
|
Message "Patch config file ..."
|
|
XML2_config "/etc/test.conf"
|
|
if not("0" = getLastExitCode)
|
|
Message "failed XML2_config"
|
|
LogError "failed XML2_config"
|
|
isFatalError "XML2_config"
|
|
endif
|
|
|
|
PatchTextFile_config "/etc/test.conf"
|
|
if not("0" = getLastExitCode)
|
|
Message "failed PatchTextFile_config"
|
|
LogError "failed PatchTextFile_config"
|
|
isFatalError "XML2_config"
|
|
endif
|
|
|
|
[ShellInAnIcon_install_linux]
|
|
set -x
|
|
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
EXITCODE=0
|
|
apt-get --yes install test
|
|
if [ $? -ne 0 ]; then EXITCODE=1; fi
|
|
exit $EXITCODE
|
|
|
|
[XML2_config]
|
|
openNode 'file'
|
|
SetAttribute "name" "$filename$"
|
|
|
|
[PatchTextFile_config]
|
|
FindLine_Containing "$filename$"
|
|
DeleteTheLine
|
|
SaveToFile "/etc/test2.conf"
|
|
|
|
[Patches_config_systemd]
|
|
delsec [Service]
|
|
set [Service] Restart=on-failure
|