57aef3b490
This adds support for Windows dockerd to run as a Windows service, managed by the service control manager. The log is written to the Windows event log (and can be viewed in the event viewer or in PowerShell). If there is a Go panic, the stack is written to a file panic.log in the Docker root. Signed-off-by: John Starks <jostarks@microsoft.com>
66 lines
2 KiB
Bash
66 lines
2 KiB
Bash
#!/bin/bash
|
|
|
|
rm -rf autogen
|
|
|
|
cat > dockerversion/version_autogen.go <<DVEOF
|
|
// +build autogen
|
|
|
|
// Package dockerversion is auto-generated at build-time
|
|
package dockerversion
|
|
|
|
// Default build-time variable for library-import.
|
|
// This file is overridden on build with build-time informations.
|
|
const (
|
|
GitCommit string = "$GITCOMMIT"
|
|
Version string = "$VERSION"
|
|
BuildTime string = "$BUILDTIME"
|
|
IAmStatic string = "${IAMSTATIC:-true}"
|
|
)
|
|
// AUTOGENERATED FILE; see $BASH_SOURCE
|
|
DVEOF
|
|
|
|
# Compile the Windows resources into the sources
|
|
if [ "$(go env GOOS)" = "windows" ]; then
|
|
mkdir -p autogen/winresources/tmp autogen/winresources/docker autogen/winresources/dockerd
|
|
cp hack/make/.resources-windows/resources.go autogen/winresources/docker/
|
|
cp hack/make/.resources-windows/resources.go autogen/winresources/dockerd/
|
|
|
|
if [ "$(go env GOHOSTOS)" == "windows" ]; then
|
|
WINDRES=windres
|
|
WINDMC=windmc
|
|
else
|
|
# Cross compiling
|
|
WINDRES=x86_64-w64-mingw32-windres
|
|
WINDMC=x86_64-w64-mingw32-windmc
|
|
fi
|
|
|
|
# Generate a Windows file version of the form major,minor,patch,build (with any part optional)
|
|
VERSION_QUAD=$(echo -n $VERSION | sed -re 's/^([0-9.]*).*$/\1/' | tr . ,)
|
|
|
|
# Pass version and commit information into the resource compiler
|
|
defs=
|
|
[ ! -z $VERSION ] && defs="$defs -D DOCKER_VERSION=\"$VERSION\""
|
|
[ ! -z $VERSION_QUAD ] && defs="$defs -D DOCKER_VERSION_QUAD=$VERSION_QUAD"
|
|
[ ! -z $GITCOMMIT ] && defs="$defs -D DOCKER_COMMIT=\"$GITCOMMIT\""
|
|
|
|
function makeres {
|
|
$WINDRES \
|
|
-i hack/make/.resources-windows/$1 \
|
|
-o $3 \
|
|
-F $2 \
|
|
--use-temp-file \
|
|
-I autogen/winresources/tmp \
|
|
$defs
|
|
}
|
|
|
|
$WINDMC \
|
|
hack/make/.resources-windows/event_messages.mc \
|
|
-h autogen/winresources/tmp \
|
|
-r autogen/winresources/tmp
|
|
|
|
makeres docker.rc pe-x86-64 autogen/winresources/docker/rsrc_amd64.syso
|
|
makeres docker.rc pe-i386 autogen/winresources/docker/rsrc_386.syso
|
|
makeres dockerd.rc pe-x86-64 autogen/winresources/dockerd/rsrc_amd64.syso
|
|
|
|
rm -r autogen/winresources/tmp
|
|
fi
|