mirror of https://github.com/docker/cli.git
61 lines
1.9 KiB
Plaintext
61 lines
1.9 KiB
Plaintext
|
#!/usr/bin/env sh
|
||
|
set -eu
|
||
|
|
||
|
: "${COMPANY_NAME=}"
|
||
|
|
||
|
. ./scripts/build/.variables
|
||
|
|
||
|
# Create version quad for Windows of the form major.minor.patch.build
|
||
|
VERSION_QUAD=$(printf "%s" "$VERSION" | sed -re 's/^([0-9.]*).*$/\1/' | sed -re 's/\.$//' | sed -re 's/^[0-9]+$/\0\.0/' | sed -re 's/^[0-9]+\.[0-9]+$/\0\.0/' | sed -re 's/^[0-9]+\.[0-9]+\.[0-9]+$/\0\.0/')
|
||
|
|
||
|
# Generate versioninfo.json to be able to create a syso file which contains
|
||
|
# Microsoft Windows Version Information and an icon using goversioninfo.
|
||
|
# https://docs.microsoft.com/en-us/windows/win32/menurc/stringfileinfo-block
|
||
|
# https://github.com/josephspurrier/goversioninfo/blob/master/testdata/resource/versioninfo.json
|
||
|
cat > ./cli/winresources/versioninfo.json <<EOL
|
||
|
{
|
||
|
"FixedFileInfo":
|
||
|
{
|
||
|
"FileVersion": {
|
||
|
"Major": $(echo "$VERSION_QUAD" | cut -d. -f1),
|
||
|
"Minor": $(echo "$VERSION_QUAD" | cut -d. -f2),
|
||
|
"Patch": $(echo "$VERSION_QUAD" | cut -d. -f3),
|
||
|
"Build": $(echo "$VERSION_QUAD" | cut -d. -f4)
|
||
|
},
|
||
|
"FileFlagsMask": "3f",
|
||
|
"FileFlags ": "00",
|
||
|
"FileOS": "040004",
|
||
|
"FileType": "01",
|
||
|
"FileSubType": "00"
|
||
|
},
|
||
|
"StringFileInfo":
|
||
|
{
|
||
|
"Comments": "",
|
||
|
"CompanyName": "${COMPANY_NAME}",
|
||
|
"FileDescription": "Docker Client",
|
||
|
"FileVersion": "${VERSION_QUAD}",
|
||
|
"InternalName": "",
|
||
|
"LegalCopyright": "Copyright © 2015-$(date +'%Y') Docker Inc.",
|
||
|
"LegalTrademarks": "",
|
||
|
"OriginalFilename": "$(basename "${TARGET}")",
|
||
|
"PrivateBuild": "",
|
||
|
"ProductName": "Docker Client",
|
||
|
"ProductVersion": "${VERSION}",
|
||
|
"SpecialBuild": "${GITCOMMIT}"
|
||
|
},
|
||
|
"VarFileInfo":
|
||
|
{
|
||
|
"Translation": {
|
||
|
"LangID": "0409",
|
||
|
"CharsetID": "04B0"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
EOL
|
||
|
(set -x ; cat ./cli/winresources/versioninfo.json)
|
||
|
|
||
|
# Create winresources package stub if removed while using tmpfs in Dockerfile
|
||
|
if [ ! -f "./cli/winresources/winresources.go" ]; then
|
||
|
echo "package winresources" > "./cli/winresources/winresources.go"
|
||
|
fi
|