From 5948389d2f1a3b37cc6ed3ffba94f5d53ee24ac4 Mon Sep 17 00:00:00 2001 From: Guido Lorenz Date: Fri, 27 Nov 2015 15:49:57 +0100 Subject: [PATCH 1/2] win_chocolatey: Add install_args, params and ignoredependencies --- windows/win_chocolatey.ps1 | 58 +++++++++++++++++++++++++++++++++++--- windows/win_chocolatey.py | 18 ++++++++++++ 2 files changed, 72 insertions(+), 4 deletions(-) diff --git a/windows/win_chocolatey.ps1 b/windows/win_chocolatey.ps1 index ce006fff152..99ae8f84c0a 100644 --- a/windows/win_chocolatey.ps1 +++ b/windows/win_chocolatey.ps1 @@ -34,6 +34,11 @@ if ($source) {$source = $source.Tolower()} $showlog = Get-Attr -obj $params -name showlog -default "false" | ConvertTo-Bool $state = Get-Attr -obj $params -name state -default "present" + +$installargs = Get-Attr -obj $params -name install_args -default $null +$packageparams = Get-Attr -obj $params -name params -default $null +$ignoredependencies = Get-Attr -obj $params -name ignore_dependencies -default "false" | ConvertTo-Bool + if ("present","absent" -notcontains $state) { Fail-Json $result "state is $state; must be present or absent" @@ -106,7 +111,13 @@ Function Choco-Upgrade [Parameter(Mandatory=$false, Position=3)] [string]$source, [Parameter(Mandatory=$false, Position=4)] - [bool]$force + [bool]$force, + [Parameter(Mandatory=$false, Position=5)] + [string]$installargs, + [Parameter(Mandatory=$false, Position=6)] + [string]$packageparams, + [Parameter(Mandatory=$false, Position=7)] + [bool]$ignoredependencies ) if (-not (Choco-IsInstalled $package)) @@ -131,6 +142,21 @@ Function Choco-Upgrade $cmd += " -force" } + if ($installargs) + { + $cmd += " -installargs '$installargs'" + } + + if ($packageparams) + { + $cmd += " -params '$packageparams'" + } + + if ($ignoredependencies) + { + $cmd += " -ignoredependencies" + } + $results = invoke-expression $cmd if ($LastExitCode -ne 0) @@ -163,14 +189,22 @@ Function Choco-Install [Parameter(Mandatory=$false, Position=4)] [bool]$force, [Parameter(Mandatory=$false, Position=5)] - [bool]$upgrade + [bool]$upgrade, + [Parameter(Mandatory=$false, Position=6)] + [string]$installargs, + [Parameter(Mandatory=$false, Position=7)] + [string]$packageparams, + [Parameter(Mandatory=$false, Position=8)] + [bool]$ignoredependencies ) if (Choco-IsInstalled $package) { if ($upgrade) { - Choco-Upgrade -package $package -version $version -source $source -force $force + Choco-Upgrade -package $package -version $version -source $source -force $force ` + -installargs $installargs -packageparams $packageparams ` + -ignoredependencies $ignoredependencies } return @@ -193,6 +227,21 @@ Function Choco-Install $cmd += " -force" } + if ($installargs) + { + $cmd += " -installargs '$installargs'" + } + + if ($packageparams) + { + $cmd += " -params '$packageparams'" + } + + if ($ignoredependencies) + { + $cmd += " -ignoredependencies" + } + $results = invoke-expression $cmd if ($LastExitCode -ne 0) @@ -253,7 +302,8 @@ Try if ($state -eq "present") { Choco-Install -package $package -version $version -source $source ` - -force $force -upgrade $upgrade + -force $force -upgrade $upgrade -installargs $installargs ` + -packageparams $packageparams -ignoredependencies $ignoredependencies } else { diff --git a/windows/win_chocolatey.py b/windows/win_chocolatey.py index 7f399dbd22f..f729aee0d6d 100644 --- a/windows/win_chocolatey.py +++ b/windows/win_chocolatey.py @@ -75,6 +75,24 @@ options: require: false default: null aliases: [] + install_args: + description: + - Arguments to pass to the native installer + require: false + default: null + aliases: [] + params: + description: + - Parameters to pass to the package + require: false + default: null + aliases: [] + ignore_dependencies: + description: + - Ignore dependencies, only install/upgrade the package itself + require: false + default: false + aliases: [] author: "Trond Hindenes (@trondhindenes), Peter Mounce (@petemounce), Pepe Barbe (@elventear), Adam Keech (@smadam813)" ''' From d51950c37e76d9e98fa5d0fc4d53458d167ba40a Mon Sep 17 00:00:00 2001 From: Guido Lorenz Date: Fri, 27 Nov 2015 15:59:24 +0100 Subject: [PATCH 2/2] win_chocolatey: Clean up documentation --- windows/win_chocolatey.py | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/windows/win_chocolatey.py b/windows/win_chocolatey.py index f729aee0d6d..b9a54fddcbf 100644 --- a/windows/win_chocolatey.py +++ b/windows/win_chocolatey.py @@ -33,8 +33,6 @@ options: description: - Name of the package to be installed required: true - default: null - aliases: [] state: description: - State of the package on the system @@ -43,7 +41,6 @@ options: - present - absent default: present - aliases: [] force: description: - Forces install of the package (even if it already exists). Using Force will cause ansible to always report that a change was made @@ -52,7 +49,6 @@ options: - yes - no default: no - aliases: [] upgrade: description: - If package is already installed it, try to upgrade to the latest version or to the specified version @@ -61,38 +57,32 @@ options: - yes - no default: no - aliases: [] version: description: - Specific version of the package to be installed - Ignored when state == 'absent' required: false default: null - aliases: [] source: description: - Specify source rather than using default chocolatey repository require: false default: null - aliases: [] install_args: description: - Arguments to pass to the native installer require: false default: null - aliases: [] params: description: - Parameters to pass to the package require: false default: null - aliases: [] ignore_dependencies: description: - Ignore dependencies, only install/upgrade the package itself require: false default: false - aliases: [] author: "Trond Hindenes (@trondhindenes), Peter Mounce (@petemounce), Pepe Barbe (@elventear), Adam Keech (@smadam813)" '''