From ecb958e59851186630e946d7973d91f8d524ea17 Mon Sep 17 00:00:00 2001 From: Jhon Honce Date: Wed, 11 Sep 2019 14:35:18 -0700 Subject: Support building Windows msi file * Update Makefile to build msi * Add podman.wxs to define podman.msi * Version information provided by Makefile * Add podman.bat wrapper for podman-remote-windows.exe to ensure environment * Add wix xml schemas for reference Signed-off-by: Jhon Honce --- contrib/msi/podman.bat | 43 +++++++++++++++++++++++++++++++++++++++++++ contrib/msi/podman.wxs | 45 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 88 insertions(+) create mode 100644 contrib/msi/podman.bat create mode 100644 contrib/msi/podman.wxs (limited to 'contrib') diff --git a/contrib/msi/podman.bat b/contrib/msi/podman.bat new file mode 100644 index 000000000..091c1c4c4 --- /dev/null +++ b/contrib/msi/podman.bat @@ -0,0 +1,43 @@ +@echo off +setlocal enableextensions + +title Podman + +:: If remote-host is given on command line -- use it +setlocal enabledelayedexpansion +for %%a in (%*) do ( + echo "%%a" |find "--remote-host" >NUL + if !errorlevel! == 0 ( + goto run_podman + ) +) + +:: If PODMAN_VARLINK_BRIDGE is set -- use it +if defined PODMAN_VARLINK_BRIDGE ( + goto run_podman +) + +:: If the configuration file exists -- use it +set config_home=%USERPROFILE%\AppData\podman +set config_file=%config_home%\podman-remote.conf +if exist "%config_file%" ( + goto run_podman +) + +:: Get connection information from user and build configuration file +md "%config_home%" +set /p host="Please enter the remote hosts name or IP address: " +set /p user="Please enter the remote user name: " +( + echo [connections] + echo [connections."%host%"] + echo destination = "%host%" + echo username = "%user%" + echo default = true +) >"%config_file%" + +:run_podman +endlocal +podman-remote-windows.exe %* + +:End diff --git a/contrib/msi/podman.wxs b/contrib/msi/podman.wxs new file mode 100644 index 000000000..165bb42b6 --- /dev/null +++ b/contrib/msi/podman.wxs @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NOT Installed + + + + -- cgit v1.2.3-54-g00ecf From 046c081ed0a321ac34fe0fc713ad33a926efb48e Mon Sep 17 00:00:00 2001 From: Jhon Honce Date: Thu, 12 Sep 2019 09:35:54 -0700 Subject: Add podman icon to installer Update Makefile per review comments Signed-off-by: Jhon Honce --- Makefile | 15 +++++++-------- contrib/msi/podman-logo.ico | Bin 0 -> 15086 bytes contrib/msi/podman.wxs | 3 +++ 3 files changed, 10 insertions(+), 8 deletions(-) create mode 100644 contrib/msi/podman-logo.ico (limited to 'contrib') diff --git a/Makefile b/Makefile index b4f8020f2..482b2d2c2 100644 --- a/Makefile +++ b/Makefile @@ -83,8 +83,7 @@ LIBSECCOMP_COMMIT := release-2.3 GINKGOTIMEOUT ?= -timeout=90m RELEASE_VERSION ?= $(shell hack/get_release_info.sh VERSION) -RELEASE_NUMBER ?= $(shell hack/get_release_info.sh NUMBER) -RELEASE_NUMERIC = $(shell echo $(RELEASE_NUMBER) |sed -e 's/^v\(.*\)/\1/') +RELEASE_NUMBER ?= $(shell hack/get_release_info.sh NUMBER|sed -e 's/^v\(.*\)/\1/') RELEASE_DIST ?= $(shell hack/get_release_info.sh DIST) RELEASE_DIST_VER ?= $(shell hack/get_release_info.sh DIST_VER) RELEASE_ARCH ?= $(shell hack/get_release_info.sh ARCH) @@ -167,7 +166,7 @@ podman-remote: .gopathok $(PODMAN_VARLINK_DEPENDENCIES) ## Build with podman on .PHONY: podman.msi podman.msi: podman-remote-windows ## Will always rebuild exe as there is no podman-remote-windows.exe target to verify timestamp - wixl -D VERSION=$(RELEASE_NUMERIC) -o bin/podman-$(RELEASE_NUMBER).msi contrib/msi/podman.wxs + wixl -D VERSION=$(RELEASE_NUMBER) -o bin/podman-v$(RELEASE_NUMBER).msi contrib/msi/podman.wxs podman-remote-%: .gopathok $(PODMAN_VARLINK_DEPENDENCIES) ## Build podman for a specific GOOS $(eval BINSFX := $(shell test "$*" != "windows" || echo ".exe")) @@ -333,9 +332,9 @@ release.txt: echo -n " $$field"; done >> "$@" echo "" >> "$@" -podman-$(RELEASE_NUMBER).tar.gz: binaries docs release.txt +podman-v$(RELEASE_NUMBER).tar.gz: binaries docs release.txt $(eval TMPDIR := $(shell mktemp -d -p '' podman_XXXX)) - $(eval SUBDIR := podman-$(RELEASE_NUMBER)) + $(eval SUBDIR := podman-v$(RELEASE_NUMBER)) mkdir -p "$(TMPDIR)/$(SUBDIR)" $(MAKE) install.bin install.man install.cni install.systemd "DESTDIR=$(TMPDIR)/$(SUBDIR)" "PREFIX=/usr" # release.txt location and content depended upon by automated tooling @@ -344,7 +343,7 @@ podman-$(RELEASE_NUMBER).tar.gz: binaries docs release.txt -rm -rf "$(TMPDIR)" # Must call make in-line: Dependency-spec. w/ wild-card also consumes variable value. -podman-remote-$(RELEASE_NUMBER)-%.zip: +podman-remote-v$(RELEASE_NUMBER)-%.zip: $(MAKE) podman-remote-$* install-podman-remote-docs release.txt \ RELEASE_BASENAME=$(shell hack/get_release_info.sh REMOTENAME) \ RELEASE_DIST=$* RELEASE_DIST_VER="-" @@ -369,12 +368,12 @@ podman-remote-$(RELEASE_NUMBER)-%.zip: .PHONY: podman-release podman-release: rm -f release.txt - $(MAKE) podman-$(RELEASE_NUMBER).tar.gz + $(MAKE) podman-v$(RELEASE_NUMBER).tar.gz .PHONY: podman-remote-%-release podman-remote-%-release: rm -f release.txt - $(MAKE) podman-remote-$(RELEASE_NUMBER)-$*.zip + $(MAKE) podman-remote-v$(RELEASE_NUMBER)-$*.zip docker-docs: docs (cd docs; ./dckrman.sh *.1) diff --git a/contrib/msi/podman-logo.ico b/contrib/msi/podman-logo.ico new file mode 100644 index 000000000..cb1dab6a7 Binary files /dev/null and b/contrib/msi/podman-logo.ico differ diff --git a/contrib/msi/podman.wxs b/contrib/msi/podman.wxs index 165bb42b6..77c6e2815 100644 --- a/contrib/msi/podman.wxs +++ b/contrib/msi/podman.wxs @@ -36,6 +36,9 @@ + + + NOT Installed -- cgit v1.2.3-54-g00ecf