d98f131c5a
# PR Summary <!-- Summarize your PR between here and the checklist. --> ## PR Context follow-up #12190 ## PR Checklist - [x] [PR has a meaningful title](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission) - Use the present tense and imperative mood when describing your changes - [x] [Summarized changes](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission) - [ ] [Make sure all `.h`, `.cpp`, `.cs`, `.ps1` and `.psm1` files have the correct copyright header](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission) - [x] This PR is ready to merge and is not [Work in Progress](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---work-in-progress). - If the PR is work in progress, please add the prefix `WIP:` or `[ WIP ]` to the beginning of the title (the `WIP` bot will keep its status check at `Pending` while the prefix is present) and remove the prefix when the PR is ready. - **[Breaking changes](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#making-breaking-changes)** - [x] None - **OR** - [ ] [Experimental feature(s) needed](https://github.com/MicrosoftDocs/PowerShell-Docs/blob/staging/reference/6/Microsoft.PowerShell.Core/About/about_Experimental_Features.md) - [ ] Experimental feature name(s): <!-- Experimental feature name(s) here --> - **User-facing changes** - [x] Not Applicable - **OR** - [ ] [Documentation needed](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission) - [ ] Issue filed: <!-- Number/link of that issue here --> - **Testing - New and feature** - [x] N/A or can only be tested interactively - **OR** - [ ] [Make sure you've added a new test if existing tests do not effectively test the code changed](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#before-submitting) - **Tooling** - [x] I have considered the user experience from a tooling perspective and don't believe tooling will be impacted. - **OR** - [ ] I have considered the user experience from a tooling perspective and enumerated concerns in the summary. This may include: - Impact on [PowerShell Editor Services](https://github.com/PowerShell/PowerShellEditorServices) which is used in the [PowerShell extension](https://github.com/PowerShell/vscode-powershell) for VSCode (which runs in a different PS Host). - Impact on Completions (both in the console and in editors) - one of PowerShell's most powerful features. - Impact on [PSScriptAnalyzer](https://github.com/PowerShell/PSScriptAnalyzer) (which provides linting & formatting in the editor extensions). - Impact on [EditorSyntax](https://github.com/PowerShell/EditorSyntax) (which provides syntax highlighting with in VSCode, GitHub, and many other editors).
194 lines
5.6 KiB
PowerShell
194 lines
5.6 KiB
PowerShell
@{
|
|
Description = @'
|
|
PowerShell is an automation and configuration management platform.
|
|
It consists of a cross-platform command-line shell and associated scripting language.
|
|
'@
|
|
|
|
RedHatAfterInstallScript = @'
|
|
#!/bin/sh
|
|
if [ ! -f /etc/shells ] ; then
|
|
echo "{0}" > /etc/shells
|
|
else
|
|
grep -q "^{0}$" /etc/shells || echo "{0}" >> /etc/shells
|
|
fi
|
|
'@
|
|
|
|
RedHatAfterRemoveScript = @'
|
|
if [ "$1" = 0 ] ; then
|
|
if [ -f /etc/shells ] ; then
|
|
TmpFile=`/bin/mktemp /tmp/.powershellmXXXXXX`
|
|
grep -v '^{0}$' /etc/shells > $TmpFile
|
|
cp -f $TmpFile /etc/shells
|
|
rm -f $TmpFile
|
|
fi
|
|
fi
|
|
'@
|
|
UbuntuAfterInstallScript = @'
|
|
#!/bin/sh
|
|
set -e
|
|
case "$1" in
|
|
(configure)
|
|
add-shell "{0}"
|
|
;;
|
|
(abort-upgrade|abort-remove|abort-deconfigure)
|
|
exit 0
|
|
;;
|
|
(*)
|
|
echo "postinst called with unknown argument '$1'" >&2
|
|
exit 0
|
|
;;
|
|
esac
|
|
'@
|
|
|
|
UbuntuAfterRemoveScript = @'
|
|
#!/bin/sh
|
|
set -e
|
|
case "$1" in
|
|
(remove)
|
|
remove-shell "{0}"
|
|
;;
|
|
esac
|
|
'@
|
|
|
|
MacOSAfterInstallScript = @'
|
|
#!/bin/bash
|
|
|
|
if [ ! -f /etc/shells ] ; then
|
|
echo "{0}" > /etc/shells
|
|
else
|
|
grep -q "^{0}$" /etc/shells || echo "{0}" >> /etc/shells
|
|
fi
|
|
'@
|
|
|
|
MacOSLauncherScript = @'
|
|
#!/usr/bin/env bash
|
|
open {0}
|
|
'@
|
|
|
|
MacOSLauncherPlistTemplate = @'
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
<plist version="1.0">
|
|
<dict>
|
|
<key>CFBundleExecutable</key>
|
|
<string>PowerShell.sh</string>
|
|
<key>CFBundleGetInfoString</key>
|
|
<string>{1}</string>
|
|
<key>CFBundleIconFile</key>
|
|
<string>{2}</string>
|
|
<key>CFBundleIdentifier</key>
|
|
<string>{0}</string>
|
|
<key>CFBundleInfoDictionaryVersion</key>
|
|
<string>6.0</string>
|
|
<key>CFBundleName</key>
|
|
<string>PowerShell</string>
|
|
<key>CFBundlePackageType</key>
|
|
<string>APPL</string>
|
|
<key>CFBundleShortVersionString</key>
|
|
<string>{1}</string>
|
|
<key>CFBundleSupportedPlatforms</key>
|
|
<array>
|
|
<string>MacOSX</string>
|
|
</array>
|
|
<key>CFBundleVersion</key>
|
|
<string>{1}</string>
|
|
</dict>
|
|
</plist>
|
|
'@
|
|
|
|
# see https://developer.apple.com/library/content/documentation/DeveloperTools/Reference/DistributionDefinitionRef/Chapters/Distribution_XML_Ref.html
|
|
OsxDistributionTemplate = @'
|
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
|
<installer-gui-script minSpecVersion="1">
|
|
<title>{0}</title>
|
|
<options hostArchitectures="x86_64"/>
|
|
<options customize="never" rootVolumeOnly="true"/>
|
|
<background file="macDialog.png" scaling="tofit" alignment="bottomleft"/>
|
|
<allowed-os-versions>
|
|
<os-version min="{3}" />
|
|
</allowed-os-versions>
|
|
<options customize="never" require-scripts="false"/>
|
|
<product id="{4}" version="{1}" />
|
|
<choices-outline>
|
|
<line choice="default">
|
|
<line choice="powershell"/>
|
|
</line>
|
|
</choices-outline>
|
|
<choice id="default"/>
|
|
<choice id="powershell" visible="false">
|
|
<pkg-ref id="{4}"/>
|
|
</choice>
|
|
<pkg-ref id="{4}" version="{1}" onConclusion="none">{2}</pkg-ref>
|
|
</installer-gui-script>
|
|
'@
|
|
|
|
NuspecTemplate = @'
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
<package xmlns="http://schemas.microsoft.com/packaging/2011/10/nuspec.xsd">
|
|
<metadata>
|
|
<id>{0}</id>
|
|
<version>{1}</version>
|
|
<authors>Microsoft</authors>
|
|
<owners>Microsoft,PowerShell</owners>
|
|
<requireLicenseAcceptance>true</requireLicenseAcceptance>
|
|
<description>Runtime for hosting PowerShell</description>
|
|
<projectUrl>https://github.com/PowerShell/PowerShell</projectUrl>
|
|
<iconUrl>https://github.com/PowerShell/PowerShell/blob/master/assets/Powershell_black_64.png?raw=true</iconUrl>
|
|
<licenseUrl>https://github.com/PowerShell/PowerShell/blob/master/LICENSE.txt</licenseUrl>
|
|
<tags>PowerShell</tags>
|
|
<language>en-US</language>
|
|
<copyright>© Microsoft Corporation.</copyright>
|
|
<contentFiles>
|
|
<files include="**/*" buildAction="None" copyToOutput="true" flatten="false" />
|
|
</contentFiles>
|
|
<dependencies>
|
|
<group targetFramework="net5.0"></group>
|
|
</dependencies>
|
|
</metadata>
|
|
</package>
|
|
'@
|
|
|
|
NuGetConfigFile = @'
|
|
<configuration>
|
|
<packageSources>
|
|
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
|
|
<add key="dotnet-core" value="https://dotnet.myget.org/F/dotnet-core/api/v3/index.json" />
|
|
<add key="powershell-core" value="https://powershell.myget.org/F/powershell-core/api/v3/index.json" />
|
|
</packageSources>
|
|
</configuration>
|
|
'@
|
|
|
|
GlobalToolNuSpec = @'
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
|
|
<metadata>
|
|
<id>{0}</id>
|
|
<version>{1}</version>
|
|
<authors>Microsoft</authors>
|
|
<owners>Microsoft,PowerShell</owners>
|
|
<projectUrl>https://github.com/PowerShell/PowerShell</projectUrl>
|
|
<iconUrl>https://github.com/PowerShell/PowerShell/blob/master/assets/Powershell_black_64.png?raw=true</iconUrl>
|
|
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
|
<description>PowerShell global tool</description>
|
|
<license type="expression">MIT</license>
|
|
<tags>PowerShell</tags>
|
|
<language>en-US</language>
|
|
<copyright>© Microsoft Corporation.</copyright>
|
|
<packageTypes>
|
|
<packageType name="DotnetTool" />
|
|
</packageTypes>
|
|
</metadata>
|
|
</package>
|
|
'@
|
|
|
|
GlobalToolSettingsFile = @'
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
<DotNetCliTool Version="1">
|
|
<Commands>
|
|
<Command Name="pwsh" EntryPoint="{0}" Runner="dotnet" />
|
|
</Commands>
|
|
</DotNetCliTool>
|
|
'@
|
|
|
|
}
|