mirror of
https://github.com/webinstall/webi-installers.git
synced 2026-02-14 17:49:53 +00:00
fix(windows): switch to Install-WebiHostedScript to install scripts without PATH conflits between .bat and .ps1
This commit is contained in:
@@ -1,37 +1,43 @@
|
||||
#!/usr/bin/env pwsh
|
||||
|
||||
#
|
||||
# gpg-pubkey-id
|
||||
#
|
||||
$MY_CMD = "gpg-pubkey"
|
||||
$MY_SUBCMD = "gpg-pubkey-id"
|
||||
$ErrorActionPreference = 'stop'
|
||||
|
||||
& curl.exe -A "$Env:WEBI_UA" -fsSL "$Env:WEBI_HOST/packages/$MY_CMD/$MY_SUBCMD.ps1" -o "$Env:USERPROFILE\.local\bin\$MY_SUBCMD.ps1.part"
|
||||
Remove-Item -Path "$Env:USERPROFILE\.local\bin\$MY_SUBCMD.ps1" -Recurse -ErrorAction Ignore
|
||||
& Move-Item "$Env:USERPROFILE\.local\bin\$MY_SUBCMD.ps1.part" "$Env:USERPROFILE\.local\bin\$MY_SUBCMD.ps1"
|
||||
Set-Content -Path "$Env:USERPROFILE\.local\bin\$MY_SUBCMD.bat" -Value "@echo off`r`npushd %USERPROFILE%`r`npowershell -ExecutionPolicy Bypass .local\bin\$MY_SUBCMD.ps1 %1`r`npopd"
|
||||
function Install-WebiHostedScript () {
|
||||
Param(
|
||||
[string]$Package,
|
||||
[string]$ScriptName
|
||||
)
|
||||
$PwshName = "_${ScriptName}.ps1"
|
||||
$PwshUrl = "${Env:WEBI_HOST}/packages/${Package}/${ScriptName}.ps1"
|
||||
$PwshPath = "$HOME\.local\bin\${PwshName}"
|
||||
$OldPath = "$HOME\.local\bin\${ScriptName}.ps1"
|
||||
|
||||
#
|
||||
# gpg-pubkey
|
||||
#
|
||||
$MY_CMD = "gpg-pubkey"
|
||||
$BatPath = "$HOME\.local\bin\${ScriptName}.bat"
|
||||
$PwshExec = "powershell -ExecutionPolicy Bypass"
|
||||
$Bat = "@echo off`r`n$PwshExec %USERPROFILE%\.local\bin\${PwshName} %*"
|
||||
|
||||
& curl.exe -A "$Env:WEBI_UA" -fsSL "$Env:WEBI_HOST/packages/$MY_CMD/$MY_CMD.ps1" -o "$Env:USERPROFILE\.local\bin\$MY_CMD.ps1.part"
|
||||
Remove-Item -Path "$Env:USERPROFILE\.local\bin\$MY_CMD.ps1" -Recurse -ErrorAction Ignore
|
||||
& Move-Item "$Env:USERPROFILE\.local\bin\$MY_CMD.ps1.part" "$Env:USERPROFILE\.local\bin\$MY_CMD.ps1"
|
||||
Set-Content -Path "$Env:USERPROFILE\.local\bin\$MY_CMD.bat" -Value "@echo off`r`npushd %USERPROFILE%`r`npowershell -ExecutionPolicy Bypass .local\bin\$MY_CMD.ps1 %1`r`npopd"
|
||||
Invoke-DownloadUrl -Force -URL $PwshUrl -Path $PwshPath
|
||||
Set-Content -Path $BatPath -Value $Bat
|
||||
Write-Host " Created alias ${BatPath}"
|
||||
Write-Host " to run ${PwshPath}"
|
||||
|
||||
# fix for old installs
|
||||
Remove-Item -Path $OldPath -Force -ErrorAction Ignore
|
||||
}
|
||||
|
||||
Install-WebiHostedScript -Package "gpg-pubkey" -ScriptName "gpg-pubkey-id"
|
||||
Install-WebiHostedScript -Package "gpg-pubkey" -ScriptName "gpg-pubkey"
|
||||
|
||||
#
|
||||
# Check the gpg exists
|
||||
#
|
||||
IF (-Not (Get-Command -Name "gpg" -ErrorAction SilentlyContinue)) {
|
||||
& "${Env:USERPROFILE}\.local\bin\webi-pwsh.ps1" gpg
|
||||
$Env:Path = [Environment]::GetEnvironmentVariable("Path", "User")
|
||||
|
||||
$gpg_exists = Get-Command gpg 2> $null
|
||||
if (!$gpg_exists) {
|
||||
curl.exe -A "$Env:WEBI_UA" -fsSL "$Env:WEBI_HOST/api/installers/gpg.ps1?formats=zip,exe,tar&libc=msvc" | powershell
|
||||
$gpg_exists = Get-Command gpg 2> $null
|
||||
if (!$gpg_exists) {
|
||||
IF (-Not (Get-Command -Name "gpg" -ErrorAction SilentlyContinue)) {
|
||||
Write-Output ""
|
||||
Write-Output "(exited because gpg is not existalled)"
|
||||
Write-Output "(exited because gpg is not installed)"
|
||||
Write-Output ""
|
||||
Exit 1
|
||||
}
|
||||
@@ -40,4 +46,4 @@ if (!$gpg_exists) {
|
||||
#
|
||||
# run gpg-pubkey
|
||||
#
|
||||
& "$Env:USERPROFILE\.local\bin\$MY_CMD.bat"
|
||||
& "$Env:USERPROFILE\.local\bin\gpg-pubkey.bat"
|
||||
|
||||
@@ -1,7 +1,28 @@
|
||||
#!/usr/bin/env pwsh
|
||||
|
||||
& curl.exe -A "$Env:WEBI_UA" -fsSL "$Env:WEBI_HOST/packages/myip/myip.ps1" -o "$Env:USERPROFILE\.local\bin\myip.ps1.part"
|
||||
Remove-Item -Path "$Env:USERPROFILE\.local\bin\myip.ps1" -Recurse -ErrorAction Ignore
|
||||
& Move-Item "$Env:USERPROFILE\.local\bin\myip.ps1.part" "$Env:USERPROFILE\.local\bin\myip.ps1"
|
||||
Set-Content -Path "$Env:USERPROFILE\.local\bin\myip.bat" -Value "@echo off`r`npushd %USERPROFILE%`r`npowershell -ExecutionPolicy Bypass .local\bin\myip.ps1 %1`r`npopd"
|
||||
& "$Env:USERPROFILE\.local\bin\myip.bat"
|
||||
$ErrorActionPreference = 'stop'
|
||||
|
||||
function Install-WebiHostedScript () {
|
||||
Param(
|
||||
[string]$Package,
|
||||
[string]$ScriptName
|
||||
)
|
||||
$PwshName = "_${ScriptName}.ps1"
|
||||
$PwshUrl = "${Env:WEBI_HOST}/packages/${Package}/${ScriptName}.ps1"
|
||||
$PwshPath = "$HOME\.local\bin\${PwshName}"
|
||||
$OldPath = "$HOME\.local\bin\${ScriptName}.ps1"
|
||||
|
||||
$BatPath = "$HOME\.local\bin\${ScriptName}.bat"
|
||||
$PwshExec = "powershell -ExecutionPolicy Bypass"
|
||||
$Bat = "@echo off`r`n$PwshExec %USERPROFILE%\.local\bin\${PwshName} %*"
|
||||
|
||||
Invoke-DownloadUrl -Force -URL $PwshUrl -Path $PwshPath
|
||||
Set-Content -Path $BatPath -Value $Bat
|
||||
Write-Host " Created alias ${BatPath}"
|
||||
Write-Host " to run ${PwshPath}"
|
||||
|
||||
# fix for old installs
|
||||
Remove-Item -Path $OldPath -Force -ErrorAction Ignore
|
||||
}
|
||||
|
||||
Install-WebiHostedScript -Package "myip" -ScriptName "myip"
|
||||
|
||||
@@ -1,11 +1,28 @@
|
||||
#!/usr/bin/env pwsh
|
||||
|
||||
$MY_CMD = "ssh-pubkey"
|
||||
$ErrorActionPreference = 'stop'
|
||||
|
||||
& curl.exe -A "$Env:WEBI_UA" -fsSL "$Env:WEBI_HOST/packages/$MY_CMD/$MY_CMD.ps1" -o "$Env:USERPROFILE\.local\bin\$MY_CMD.ps1.part"
|
||||
Remove-Item -Path "$Env:USERPROFILE\.local\bin\$MY_CMD.ps1" -Recurse -ErrorAction Ignore
|
||||
& Move-Item "$Env:USERPROFILE\.local\bin\$MY_CMD.ps1.part" "$Env:USERPROFILE\.local\bin\$MY_CMD.ps1"
|
||||
Set-Content -Path "$Env:USERPROFILE\.local\bin\$MY_CMD.bat" -Value "@echo off`r`npushd %USERPROFILE%`r`npowershell -ExecutionPolicy Bypass .local\bin\$MY_CMD.ps1 %1`r`npopd"
|
||||
function Install-WebiHostedScript () {
|
||||
Param(
|
||||
[string]$Package,
|
||||
[string]$ScriptName
|
||||
)
|
||||
$PwshName = "_${ScriptName}.ps1"
|
||||
$PwshUrl = "${Env:WEBI_HOST}/packages/${Package}/${ScriptName}.ps1"
|
||||
$PwshPath = "$HOME\.local\bin\${PwshName}"
|
||||
$OldPath = "$HOME\.local\bin\${ScriptName}.ps1"
|
||||
|
||||
# run the command
|
||||
& "$Env:USERPROFILE\.local\bin\$MY_CMD.bat"
|
||||
$BatPath = "$HOME\.local\bin\${ScriptName}.bat"
|
||||
$PwshExec = "powershell -ExecutionPolicy Bypass"
|
||||
$Bat = "@echo off`r`n$PwshExec %USERPROFILE%\.local\bin\${PwshName} %*"
|
||||
|
||||
Invoke-DownloadUrl -Force -URL $PwshUrl -Path $PwshPath
|
||||
Set-Content -Path $BatPath -Value $Bat
|
||||
Write-Host " Created alias ${BatPath}"
|
||||
Write-Host " to run ${PwshPath}"
|
||||
|
||||
# fix for old installs
|
||||
Remove-Item -Path $OldPath -Force -ErrorAction Ignore
|
||||
}
|
||||
|
||||
Install-WebiHostedScript -Package "ssh-pubkey" -ScriptName "ssh-pubkey"
|
||||
|
||||
Reference in New Issue
Block a user