Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
125 commits
Select commit Hold shift + click to select a range
c6bb036
Merge pull request #137 from tas50/win8_eol
tas50 Nov 6, 2017
29f49b8
Merge pull request #140 from boxcutter/new_window10
tas50 Nov 9, 2017
23c56aa
Merge pull request #141 from boxcutter/new_chef
tas50 Nov 9, 2017
45900f2
Merge pull request #142 from boxcutter/new_chef
tas50 Nov 9, 2017
97c326b
Slim down Windows 10
tas50 Nov 9, 2017
edf56c1
Merge pull request #143 from boxcutter/slim_win10
tas50 Nov 11, 2017
00207d2
Changed all memory and cpu definitions to use the `memory` and `cpus`…
arizvisa Dec 21, 2017
f56f11b
Merge pull request #145 from arizvisa/custom-variables
tas50 Jan 1, 2018
edd5f27
Update Windows 10 ISOs to the 1709 Fall Creators update
Jan 2, 2018
6918ac0
Merge pull request #146 from irvingpop/master
tas50 Jan 2, 2018
02b9d49
Rework disabling windows updates and fix bad templates
tas50 May 2, 2018
ea375a3
Fix a checksum
tas50 May 2, 2018
ec48ff4
Allow passing on error behaviour via ON_ERROR make variable.
Bluehorn May 7, 2018
cadb229
Merge pull request #152 from Bluehorn/specify-on-error-flag
tas50 May 7, 2018
6c65aab
Fix copy/paste error.
jeremycornett Jun 21, 2018
13defb5
Merge pull request #154 from jeremycornett/jeremycornett-patch-1
tas50 Jun 21, 2018
05dc7d3
Fix 2012r2 and 2016 download URLs
bkonick Jul 12, 2018
e69f3bc
Merge pull request #156 from bkonick/2012r2_2016_URLs
misheska Jul 12, 2018
24af3b2
Update to win10 URL for issue #157
nickgarber Jul 29, 2018
1e96a48
Merge pull request #158 from nickgarber/nickgarber-issue-157--update-…
rasa Jul 29, 2018
6681dda
fixed json
mwinfie Dec 8, 2018
5f2d505
added hyperv specific configuration to vagrantfile templates
mwinfie Dec 8, 2018
b6b7154
added hyperv builder
mwinfie Dec 8, 2018
7ec2449
added support for hyperv boxes by duplicating an existing provider
mwinfie Dec 8, 2018
ee419b8
added ground work to handle hyperv Integration Tools
mwinfie Dec 8, 2018
93b671f
added rspec htlm reports directory
mwinfie Dec 9, 2018
c519164
Merge pull request #168 from mwinfie/feature/hyperv
rasa Dec 11, 2018
5d30840
Updated all of the templates to use current Packer schema to specify …
arizvisa Jan 12, 2019
d4000f4
Merge pull request #170 from arizvisa/builder-schema-update
tas50 Feb 12, 2019
3aa9653
VirtualBox 6 compatibility fix
rominf Apr 1, 2019
9b1b491
Updated all the templates to use "memory" instead of "ram_size" in th…
arizvisa Sep 27, 2019
6c8e192
Fixed some bunk .json in the win2008r2-web-ssh, eval-win2012r2-datace…
arizvisa Dec 22, 2019
3e4180a
Updated all the templates to prefix the floppy_files with the templat…
arizvisa Dec 22, 2019
13460a1
Prefixed all of the scripts specified in the provisioners with the te…
arizvisa Dec 22, 2019
de471cb
Updated the vagrantfile_template in the post-processors for all the t…
arizvisa Dec 22, 2019
da6f615
Renamed the "cpu" key in the hyperv-iso builders to "cpus" so it corr…
arizvisa Dec 22, 2019
68d57f9
Merge pull request #186 from arizvisa/builder-schema-update2
tas50 Dec 22, 2019
ecfc3f4
Merge pull request #189 from arizvisa/relocatable-templates
tas50 Dec 22, 2019
7c6535b
Merge pull request #181 from rominf/virtualbox6
tas50 Dec 22, 2019
58c1e3e
Issue #153: Specify hardware version via makefile
pezhore May 28, 2019
dfc3b83
Added a missing ssh_username and ssh_password key to the hyperv-iso b…
arizvisa Jan 3, 2020
471fa21
Fixed the hyperv-iso builder in the eval-win81x64-enterprise.json tem…
arizvisa Jan 3, 2020
92ddb9d
Fixed the hyperv-iso builder in the eval-win7x64-enterprise-cygwin.js…
arizvisa Jan 3, 2020
b5b760d
Removed the "ssh_wait_timeout" key from the hyperv-iso builder in the…
arizvisa Jan 3, 2020
c22ba81
Removed the "ssh_wait_timeout" key from the hyperv-iso builder in the…
arizvisa Jan 3, 2020
b69304f
Removed the "ssh_wait_timeout" key from the hyperv-iso builder in the…
arizvisa Jan 3, 2020
ca39023
Removed the "ssh_wait_timeout" key from the hyperv-iso builder in the…
arizvisa Jan 3, 2020
541e198
Removed the winrm communicator from the win81x86-pro-cygwin.json temp…
arizvisa Jan 3, 2020
45974c6
Added a missing ssh_username and ssh_password pair to the hyperv-iso …
arizvisa Jan 3, 2020
2e32fc6
Removed usage of the headless key from the parallels-iso builder in t…
arizvisa Jan 3, 2020
646abca
Some of the win2016-standard-*.json templates had mistakenly used a u…
arizvisa Jan 3, 2020
bb7238a
Applied changes in README.md from daxgames/boxcutter_windows@357a5db5…
arizvisa Jan 6, 2020
35f1b4f
Applied changes in .gitignore from daxgames/boxcutter_windows@357a5db…
arizvisa Jan 6, 2020
6ac48b4
Applied changes in Makefile from daxgames/boxcutter_windows@357a5db53…
arizvisa Jan 6, 2020
351ce50
Cleaned up changes to script/cmtool.bat from daxgames/boxcutter_windo…
arizvisa Jan 6, 2020
f6f16b9
Cleaning up PR #180 so that it only affects the chef provisioner.
arizvisa Jan 6, 2020
dce356f
Split up the Chef logic from the logic that uses Omnitruck to determi…
arizvisa Jan 6, 2020
184b44a
Apparently one can't be lazy with Chef's Omnitruck API..Fixed script/…
arizvisa Jan 6, 2020
e601bf7
Added support for specifying the CM_OPTIONS user-variable to all the …
arizvisa Jan 6, 2020
337fd03
Added some default placeholders for cm_options to script/cmtool.bat t…
arizvisa Jan 8, 2020
6daf6b5
Install Salt using Salt bootstrap script
rominf Apr 1, 2019
9e98cce
Added the requested change in README.md for PR #182.
arizvisa Jan 6, 2020
2133e6b
Added the requested change to script/cmtool.bat for PR #182 which ret…
arizvisa Jan 6, 2020
2b1d02d
Added support for applying the CM_OPTIONS parameter to each of the co…
arizvisa Jan 6, 2020
8d05ec1
Updated script/cmtool.bat to patch the downloaded installer for salt-…
arizvisa Jan 8, 2020
cd91477
Updated script/cmtool.bat to detect the platform major and minor vers…
arizvisa Jan 8, 2020
789eb7d
Fixed the way the platform version was being extracted in script/cmto…
arizvisa Jan 9, 2020
ce91cae
Added a fallback to the older method of installing salt to script/cmt…
arizvisa Jan 9, 2020
778566d
Added a missing error check to the saltbootstrap branch of script/cmt…
arizvisa Jan 9, 2020
b96fd98
Fixed the major/minor version extraction in script/cmtool.bat so the …
arizvisa Jan 9, 2020
3210da7
Older versions of Windows Powershell do not support TLS too well, so …
arizvisa Jan 9, 2020
eb82059
Updated script/cmtool.bat to emit the detected platform version, and …
arizvisa Jan 9, 2020
e16d789
Added support for falling back to the saltrepository method in script…
arizvisa Jan 10, 2020
5bad369
Merge pull request #205 from arizvisa/GH-204
arizvisa Jan 10, 2020
16b5c95
Fix URL on puppet cmtool
ShawInnes Mar 10, 2019
964e044
Updated the puppet installer in script/cmtool.bat to support older ve…
arizvisa Jan 10, 2020
32bc69c
Updated the way the architecture is determined for the puppetinstall …
arizvisa Jan 10, 2020
4dbd950
Updated the hyperv-iso builder of the eval-win7x64-enterprise-cygwin.…
arizvisa Jan 10, 2020
0aac362
Updated the hyperv-iso builder of the eval-win81x64-enterprise.json t…
arizvisa Jan 10, 2020
af257ea
Updated floppy/disablewinupdate.bat to re-enable the user-interface f…
arizvisa Jan 10, 2020
e54ca60
Merge pull request #206 from arizvisa/GH-178
arizvisa Jan 10, 2020
0dee072
Merge pull request #208 from arizvisa/GH-207
arizvisa Jan 10, 2020
048019c
Added the output_directory to the user variables for each template.
arizvisa Dec 22, 2019
45db986
Updated the post-processor output to use the output_directory user va…
arizvisa Dec 22, 2019
3fbc64d
Merge pull request #191 from arizvisa/output-directory
arizvisa Jan 10, 2020
5148de1
Merge pull request #210 from arizvisa/GH-209
arizvisa Jan 10, 2020
ff866db
Renamed the output_directory user variable to box_prefix as the .Prov…
arizvisa Jan 11, 2020
ec1b6a2
Renamed the output_directory variable used in the post-processors to …
arizvisa Jan 11, 2020
3c85409
Fixed the vm_name in all the builders for the win2012r2-standardcore-…
arizvisa Jan 13, 2020
50e2236
Merge pull request #215 from arizvisa/GH-214
arizvisa Jan 13, 2020
374bbd3
Added the vm_name user variable to all the templates so it correspond…
arizvisa Jan 13, 2020
344d899
Added the vm_suffix user variable, and changed the order of all of th…
arizvisa Jan 13, 2020
4c60942
Updated the vm_name and post-processors output in all the templates t…
arizvisa Jan 13, 2020
0f2a69b
Split up the suffix from the vm_name in all the *-ssh.json and *-cygw…
arizvisa Jan 13, 2020
a0eb282
Some whitespace cleanup done to script/cmtool.bat.
arizvisa Jan 13, 2020
536935a
Merge pull request #217 from arizvisa/GH-216
arizvisa Jan 13, 2020
5142848
Removed the "numvcpus" and "memsize" options from the "vmx_data" in t…
arizvisa Jan 13, 2020
be6a036
Changed the order of the fields in the builders for the standard temp…
arizvisa Jan 13, 2020
cb0d0c1
Renamed the key "ssh_wait_timeout" which is deprecated to the superse…
arizvisa Jan 13, 2020
4d8b352
Removed vmx_data.cpuid.coresPerSocket from the vmware-iso builder ina…
arizvisa Jan 14, 2020
1529f69
Removed all the empty instances of vmx_data since it isn't used anymore.
arizvisa Jan 14, 2020
90eb76b
Added the number of scores specifed in vmx_data.cpuid.coresPerSocket …
arizvisa Jan 14, 2020
9a7e2a1
Fixed the definition of the user-variable "update" in the wip/win2008…
arizvisa Jan 14, 2020
c6bca11
Swapped the order of "ssh_username" with "ssh_password" in all the te…
arizvisa Jan 14, 2020
8f04b8f
Added the "ssh_timeout" to the hyperv-iso builder in the templates th…
arizvisa Jan 14, 2020
7d509c9
Re-ordered all the builders in the *-ssh.json and *-cygwin.json templ…
arizvisa Jan 14, 2020
e8ee573
Fixed the "update" user variable in wip/win2008r2-standardcore-cygwin…
arizvisa Jan 14, 2020
de2663f
Merge pull request #220 from arizvisa/GH-219
arizvisa Jan 14, 2020
d4200ef
Quick example of setting "latest" to the most recent free version of …
arizvisa Jan 11, 2020
1d7f182
Updated the documentation (README.md) to mention specifying "licensed…
arizvisa Jan 14, 2020
7e0d129
Updated script/cmtool.bat to let the user know if an explicit version…
arizvisa Jan 14, 2020
d24206a
Fixed the comments in script/cmtool.bat as you can't have them at the…
arizvisa Jan 15, 2020
d1c76e6
Removed some stray double-quotes in script/cmtool.bat when informing …
arizvisa Jan 15, 2020
8e1bcf1
Merge pull request #211 from arizvisa/GH-202-versions
arizvisa Jan 15, 2020
c7e7740
Re-ordered some of the keys in all of the builders.
arizvisa Jan 18, 2020
3fe1686
Updated the order of the floppy_files in all of the templates so that…
arizvisa Jan 18, 2020
7f995e1
Sorted all of the floppy_files in all the templates lexicographically…
arizvisa Jan 18, 2020
7d3fe4e
Removed unused reference to floppy/oracle-cert.cer from all the virtu…
arizvisa Jan 18, 2020
a70979c
Removed the floppy/oracle-cert.cer file as it's not used anymore.
arizvisa Jan 18, 2020
6595aa4
Added a missing floppy_files item for openssh.bat to the hyperv-iso b…
arizvisa Jan 18, 2020
cde5095
Fixed an instance of the wrong script being passed (floppy/openssh.ba…
arizvisa Jan 18, 2020
1194fc2
Merge pull request #223 from arizvisa/GH-222
arizvisa Jan 18, 2020
9bb4ef3
Merge pull request #227 from arizvisa/GH-225
arizvisa Jan 18, 2020
04fbe4e
Merge pull request #226 from arizvisa/GH-224
arizvisa Jan 18, 2020
f1f567b
disable-bits
Feb 26, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,6 @@ tmp
.vagrant/
*.swp
Makefile.local
rspec_html_reports

.DS_Store
1 change: 1 addition & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
Blake Garner <blake@netjibbing.com>
Joe Fitzgerald <jfitzgerald@pivotal.io>
Julian C. Dunn <jdunn@aquezada.com>
Brian Marsh <pezhore@gmail.com>
Ken Sykora <ksykora@nerdery.com>
Mischa Taylor <mischa@misheska.com>
Nolen Scaife <nolen@scaife.org>
Expand Down
93 changes: 75 additions & 18 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ EVAL_WIN81_X64 ?= http://care.dlservice.microsoft.com/dl/download/B/9/9/B999286E
EVAL_WIN81_X64_CHECKSUM ?= 7c7d99546077c805faae40a8864882c46f0ca141
EVAL_WIN2008R2_X64 ?= http://download.microsoft.com/download/7/5/E/75EC4E54-5B02-42D6-8879-D8D3A25FBEF7/7601.17514.101119-1850_x64fre_server_eval_en-us-GRMSXEVAL_EN_DVD.iso
EVAL_WIN2008R2_X64_CHECKSUM ?= beed231a34e90e1dd9a04b3afabec31d62ce3889
EVAL_WIN2012R2_X64 ?= http://care.dlservice.microsoft.com/dl/download/6/2/A/62A76ABB-9990-4EFC-A4FE-C7D698DAEB96/9600.17050.WINBLUE_REFRESH.140317-1640_X64FRE_SERVER_EVAL_EN-US-IR3_SSS_X64FREE_EN-US_DV9.ISO
EVAL_WIN2012R2_X64 ?= http://download.microsoft.com/download/6/2/A/62A76ABB-9990-4EFC-A4FE-C7D698DAEB96/9600.17050.WINBLUE_REFRESH.140317-1640_X64FRE_SERVER_EVAL_EN-US-IR3_SSS_X64FREE_EN-US_DV9.ISO
EVAL_WIN2012R2_X64_CHECKSUM ?= 849734f37346385dac2c101e4aacba4626bb141c

EVAL_WIN7_X86 ?= http://care.dlservice.microsoft.com/dl/download/evalx/win7/x86/EN/7600.16385.090713-1255_x86fre_enterprise_en-us_EVAL_Eval_Enterprise-GRMCENEVAL_EN_DVD.iso
Expand All @@ -19,12 +19,12 @@ EVAL_WIN81_X86_CHECKSUM ?= 4ddd0881779e89d197cb12c684adf47fd5d9e540
EVAL_WIN8_X64 ?= http://care.dlservice.microsoft.com/dl/download/5/3/C/53C31ED0-886C-4F81-9A38-F58CE4CE71E8/9200.16384.WIN8_RTM.120725-1247_X64FRE_ENTERPRISE_EVAL_EN-US-HRM_CENA_X64FREE_EN-US_DV5.ISO
EVAL_WIN8_X64_CHECKSUM ?= ae59e04462e4dc74e971d6e98d0cc1f2f3d63f1d

EVAL_WIN10_X64 ?= http://care.dlservice.microsoft.com/dl/download/B/8/B/B8B452EC-DD2D-4A8F-A88C-D2180C177624/15063.0.170317-1834.RS2_RELEASE_CLIENTENTERPRISEEVAL_OEMRET_X64FRE_EN-US.ISO
EVAL_WIN10_X64_CHECKSUM ?= 6c60f91bf0ad7b20f469ab8f80863035c517f34f
EVAL_WIN10_X86 ?= http://care.dlservice.microsoft.com/dl/download/B/8/B/B8B452EC-DD2D-4A8F-A88C-D2180C177624/15063.0.170317-1834.RS2_RELEASE_CLIENTENTERPRISEEVAL_OEMRET_X86FRE_EN-US.ISO
EVAL_WIN10_X86_CHECKSUM ?= 1aa6d3c4451e79e69e84118ec629ad99e2ad36e7
EVAL_WIN10_X64 ?= https://software-download.microsoft.com/download/pr/17134.1.180410-1804.rs4_release_CLIENTENTERPRISEEVAL_OEMRET_x64FRE_en-us.iso
EVAL_WIN10_X64_CHECKSUM ?= a4ea45ec1282e85fc84af49acf7a8d649c31ac5c
EVAL_WIN10_X86 ?= https://software-download.microsoft.com/download/pr/17134.1.180410-1804.rs4_release_CLIENTENTERPRISEEVAL_OEMRET_x86FRE_en-us.iso
EVAL_WIN10_X86_CHECKSUM ?= ddb496534203cb98284e5484e0ad60af3c0efce7

EVAL_WIN2016_X64 ?= http://care.dlservice.microsoft.com/dl/download/1/4/9/149D5452-9B29-4274-B6B3-5361DBDA30BC/14393.0.161119-1705.RS1_REFRESH_SERVER_EVAL_X64FRE_EN-US.ISO
EVAL_WIN2016_X64 ?= https://software-download.microsoft.com/download/pr/Windows_Server_2016_Datacenter_EVAL_en-us_14393_refresh.ISO
EVAL_WIN2016_X64_CHECKSUM ?= 772700802951b36c8cb26a61c040b9a8dc3816a3

# @todo:
Expand Down Expand Up @@ -64,7 +64,7 @@ WIN81_X64_PRO_CHECKSUM ?= e50a6f0f08e933f25a71fbc843827fe752ed0365
WIN81_X86_PRO ?= iso/en_windows_8.1_professional_vl_with_update_x86_dvd_4065201.iso
WIN81_X86_PRO_CHECKSUM ?= c2d6f5d06362b7cb17dfdaadfb848c760963b254

# Possible values for CM: (nocm | chef | chefdk | salt | puppet)
# Possible values for CM: (nocm | chef | chefdk | chef-workstation | salt | puppet)
CM ?= nocm
# Possible values for CM_VERSION: (latest | x.y.z | x.y)
CM_VERSION ?=
Expand All @@ -91,15 +91,22 @@ else
endif
# Packer does not allow empty variables, so only pass variables that are defined
PACKER_VARS := -var 'cm=$(CM)' -var 'version=$(BOX_VERSION)' -var 'update=$(UPDATE)' -var 'headless=$(HEADLESS)' -var "shutdown_command=$(SHUTDOWN_COMMAND)"
ifdef HW_VERSION
PACKER_VARS += -var 'hw_version=$(HW_VERSION)'
endif
ifdef CM_OPTIONS
PACKER_VARS += -var 'cm_options=$(CM_OPTIONS)'
endif
ifdef CM_VERSION
PACKER_VARS += -var 'cm_version=$(CM_VERSION)'
endif
ON_ERROR ?= cleanup
PACKER ?= packer
ifdef PACKER_DEBUG
PACKER := PACKER_LOG=1 $(PACKER)
else
endif
BUILDER_TYPES ?= vmware virtualbox parallels
BUILDER_TYPES ?= vmware virtualbox parallels hyperv
ifeq ($(OS),Windows_NT)
VAGRANT_PROVIDER ?= vmware_workstation
else
Expand All @@ -111,16 +118,20 @@ TEST_BOX_FILES := $(foreach builder, $(BUILDER_TYPES), $(foreach box_filename, $
VMWARE_BOX_DIR := box/vmware
VIRTUALBOX_BOX_DIR := box/virtualbox
PARALLELS_BOX_DIR := box/parallels
HYPERV_BOX_DIR := box/hyperv
VMWARE_BOX_FILES := $(foreach box_filename, $(BOX_FILENAMES), $(VMWARE_BOX_DIR)/$(box_filename))
VIRTUALBOX_BOX_FILES := $(foreach box_filename, $(BOX_FILENAMES), $(VIRTUALBOX_BOX_DIR)/$(box_filename))
PARALLELS_BOX_FILES := $(foreach box_filename, $(BOX_FILENAMES), $(PARALLELS_BOX_DIR)/$(box_filename))
HYPERV_BOX_FILES := $(foreach box_filename, $(BOX_FILENAMES), $(HYPERV_BOX_DIR)/$(box_filename))
BOX_FILES := $(foreach builder, $(BUILDER_TYPES), $(foreach box_filename, $(BOX_FILENAMES), box/$(builder)/$(box_filename)))
VMWARE_OUTPUT := output-vmware-iso
VIRTUALBOX_OUTPUT := output-virtualbox-iso
PARALLELS_OUTPUT := output-parallels-iso
HYPERV_OUTPUT := output-hyperv-iso
VMWARE_BUILDER := vmware-iso
VIRTUALBOX_BUILDER := virtualbox-iso
PARALLELS_BUILDER := parallels-iso
HYPERV_BUILDER := hyperv-iso
CURRENT_DIR := $(shell pwd)
UNAME_O := $(shell uname -o 2> /dev/null)
UNAME_P := $(shell uname -p 2> /dev/null)
Expand Down Expand Up @@ -193,6 +204,12 @@ parallels/$(1)-cygwin: $(PARALLELS_BOX_DIR)/$(1)-cygwin$(BOX_SUFFIX)

parallels/$(1)-ssh: $(PARALLELS_BOX_DIR)/$(1)-ssh$(BOX_SUFFIX)

hyperv/$(1): $(HYPERV_BOX_DIR)/$(1)$(BOX_SUFFIX)

hyperv/$(1)-cygwin: $(HYPERV_BOX_DIR)/$(1)-cygwin$(BOX_SUFFIX)

hyperv/$(1)-ssh: $(HYPERV_BOX_DIR)/$(1)-ssh$(BOX_SUFFIX)

test-vmware/$(1): test-$(VMWARE_BOX_DIR)/$(1)$(BOX_SUFFIX)

test-vmware/$(1)-cygwin: test-$(VMWARE_BOX_DIR)/$(1)-cygwin$(BOX_SUFFIX)
Expand All @@ -211,6 +228,12 @@ test-parallels/$(1)-cygwin: test-$(PARALLELS_BOX_DIR)/$(1)-cygwin$(BOX_SUFFIX)

test-parallels/$(1)-ssh: test-$(PARALLELS_BOX_DIR)/$(1)-ssh$(BOX_SUFFIX)

test-hyperv/$(1): test-$(HYPERV_BOX_DIR)/$(1)$(BOX_SUFFIX)

test-hyperv/$(1)-cygwin: test-$(HYPERV_BOX_DIR)/$(1)-cygwin$(BOX_SUFFIX)

test-hyperv/$(1)-ssh: test-$(HYPERV_BOX_DIR)/$(1)-ssh$(BOX_SUFFIX)

ssh-vmware/$(1): ssh-$(VMWARE_BOX_DIR)/$(1)$(BOX_SUFFIX)

ssh-vmware/$(1)-cygwin: ssh-$(VMWARE_BOX_DIR)/$(1)-cygwin$(BOX_SUFFIX)
Expand All @@ -229,11 +252,19 @@ ssh-parallels/$(1)-cygwin: ssh-$(PARALLELS_BOX_DIR)/$(1)-cygwin$(BOX_SUFFIX)

ssh-parallels/$(1)-ssh: ssh-$(PARALLELS_BOX_DIR)/$(1)-ssh$(BOX_SUFFIX)

ssh-hyperv/$(1): ssh-$(HYPERV_BOX_DIR)/$(1)$(BOX_SUFFIX)

ssh-hyperv/$(1)-cygwin: ssh-$(HYPERV_BOX_DIR)/$(1)-cygwin$(BOX_SUFFIX)

ssh-hyperv/$(1)-ssh: ssh-$(HYPERV_BOX_DIR)/$(1)-ssh$(BOX_SUFFIX)

s3cp-vmware/$(1): s3cp-$(VMWARE_BOX_DIR)/$(1)$(BOX_SUFFIX)

s3cp-virtualbox/$(1): s3cp-$(VIRTUALBOX_BOX_DIR)/$(1)$(BOX_SUFFIX)

s3cp-parallels/$(1): s3cp-$(PARALLELS_BOX_DIR)/$(1)$(BOX_SUFFIX)

s3cp-hyperv/$(1): s3cp-$(HYPERV_BOX_DIR)/$(1)$(BOX_SUFFIX)
endef

SHORTCUT_TARGETS := $(basename $(TEMPLATE_FILENAMES))
Expand Down Expand Up @@ -380,48 +411,62 @@ define BUILDBOX
$(VIRTUALBOX_BOX_DIR)/$(1)$(BOX_SUFFIX): $(1).json
rm -rf $(VIRTUALBOX_OUTPUT)
mkdir -p $(VIRTUALBOX_BOX_DIR)
$(PACKER) build -only=$(VIRTUALBOX_BUILDER) $(PACKER_VARS) -var "iso_url=$(2)" -var "iso_checksum=$(3)" $(1).json
$(PACKER) build -on-error=$(ON_ERROR) -only=$(VIRTUALBOX_BUILDER) $(PACKER_VARS) -var "iso_url=$(2)" -var "iso_checksum=$(3)" $(1).json

$(VMWARE_BOX_DIR)/$(1)$(BOX_SUFFIX): $(1).json
rm -rf $(VMWARE_OUTPUT)
mkdir -p $(VMWARE_BOX_DIR)
$(PACKER) build -only=$(VMWARE_BUILDER) $(PACKER_VARS) -var "iso_url=$(2)" -var "iso_checksum=$(3)" $(1).json
$(PACKER) build -on-error=$(ON_ERROR) -only=$(VMWARE_BUILDER) $(PACKER_VARS) -var "iso_url=$(2)" -var "iso_checksum=$(3)" $(1).json

$(PARALLELS_BOX_DIR)/$(1)$(BOX_SUFFIX): $(1).json
rm -rf $(PARALLELS_OUTPUT)
mkdir -p $(PARALLELS_BOX_DIR)
$(PACKER) build -only=$(PARALLELS_BUILDER) $(PACKER_VARS) -var "iso_url=$(2)" -var "iso_checksum=$(3)" $(1).json
$(PACKER) build -on-error=$(ON_ERROR) -only=$(PARALLELS_BUILDER) $(PACKER_VARS) -var "iso_url=$(2)" -var "iso_checksum=$(3)" $(1).json

$(HYPERV_BOX_DIR)/$(1)$(BOX_SUFFIX): $(1).json
rm -rf $(HYPERV_OUTPUT)
mkdir -p $(HYPERV_BOX_DIR)
$(PACKER) build -on-error=$(ON_ERROR) -only=$(HYPERV_BUILDER) $(PACKER_VARS) -var "iso_url=$(2)" -var "iso_checksum=$(3)" $(1).json

$(VIRTUALBOX_BOX_DIR)/$(1)-ssh$(BOX_SUFFIX): $(1)-ssh.json
rm -rf $(VIRTUALBOX_OUTPUT)
mkdir -p $(VIRTUALBOX_BOX_DIR)
$(PACKER) build -only=$(VIRTUALBOX_BUILDER) $(PACKER_VARS) -var "iso_url=$(2)" -var "iso_checksum=$(3)" $(1)-ssh.json
$(PACKER) build -on-error=$(ON_ERROR) -only=$(VIRTUALBOX_BUILDER) $(PACKER_VARS) -var "iso_url=$(2)" -var "iso_checksum=$(3)" $(1)-ssh.json

$(VMWARE_BOX_DIR)/$(1)-ssh$(BOX_SUFFIX): $(1)-ssh.json
rm -rf $(VMWARE_OUTPUT)
mkdir -p $(VMWARE_BOX_DIR)
$(PACKER) build -only=$(VMWARE_BUILDER) $(PACKER_VARS) -var "iso_url=$(2)" -var "iso_checksum=$(3)" $(1)-ssh.json
$(PACKER) build -on-error=$(ON_ERROR) -only=$(VMWARE_BUILDER) $(PACKER_VARS) -var "iso_url=$(2)" -var "iso_checksum=$(3)" $(1)-ssh.json

$(PARALLELS_BOX_DIR)/$(1)-ssh$(BOX_SUFFIX): $(1)-ssh.json
rm -rf $(PARALLELS_OUTPUT)
mkdir -p $(PARALLELS_BOX_DIR)
$(PACKER) build -only=$(PARALLELS_BUILDER) $(PACKER_VARS) -var "iso_url=$(2)" -var "iso_checksum=$(3)" $(1)-ssh.json
$(PACKER) build -on-error=$(ON_ERROR) --only=$(PARALLELS_BUILDER) $(PACKER_VARS) -var "iso_url=$(2)" -var "iso_checksum=$(3)" $(1)-ssh.json

$(HYPERV_BOX_DIR)/$(1)-ssh$(BOX_SUFFIX): $(1)-ssh.json
rm -rf $(HYPERV_OUTPUT)
mkdir -p $(HYPERV_BOX_DIR)
$(PACKER) build -on-error=$(ON_ERROR) --only=$(HYPERV_BUILDER) $(PACKER_VARS) -var "iso_url=$(2)" -var "iso_checksum=$(3)" $(1)-ssh.json

$(VIRTUALBOX_BOX_DIR)/$(1)-cygwin$(BOX_SUFFIX): $(1)-cygwin.json
rm -rf $(VIRTUALBOX_OUTPUT)
mkdir -p $(VIRTUALBOX_BOX_DIR)
$(PACKER) build -only=$(VIRTUALBOX_BUILDER) $(PACKER_VARS) -var "iso_url=$(2)" -var "iso_checksum=$(3)" $(1)-cygwin.json
$(PACKER) build -on-error=$(ON_ERROR) --only=$(VIRTUALBOX_BUILDER) $(PACKER_VARS) -var "iso_url=$(2)" -var "iso_checksum=$(3)" $(1)-cygwin.json

$(VMWARE_BOX_DIR)/$(1)-cygwin$(BOX_SUFFIX): $(1)-cygwin.json
rm -rf $(VMWARE_OUTPUT)
mkdir -p $(VMWARE_BOX_DIR)
$(PACKER) build -only=$(VMWARE_BUILDER) $(PACKER_VARS) -var "iso_url=$(2)" -var "iso_checksum=$(3)" $(1)-cygwin.json
$(PACKER) build -on-error=$(ON_ERROR) --only=$(VMWARE_BUILDER) $(PACKER_VARS) -var "iso_url=$(2)" -var "iso_checksum=$(3)" $(1)-cygwin.json

$(PARALLELS_BOX_DIR)/$(1)-cygwin$(BOX_SUFFIX): $(1)-cygwin.json
rm -rf $(PARALLELS_OUTPUT)
mkdir -p $(PARALLELS_BOX_DIR)
$(PACKER) build -only=$(PARALLELS_BUILDER) $(PACKER_VARS) -var "iso_url=$(2)" -var "iso_checksum=$(3)" $(1)-cygwin.json
$(PACKER) build -on-error=$(ON_ERROR) --only=$(PARALLELS_BUILDER) $(PACKER_VARS) -var "iso_url=$(2)" -var "iso_checksum=$(3)" $(1)-cygwin.json

$(HYPERV_BOX_DIR)/$(1)-cygwin$(BOX_SUFFIX): $(1)-cygwin.json
rm -rf $(HYPERV_OUTPUT)
mkdir -p $(HYPERV_BOX_DIR)
$(PACKER) build -on-error=$(ON_ERROR) --only=$(HYPERV_BUILDER) $(PACKER_VARS) -var "iso_url=$(2)" -var "iso_checksum=$(3)" $(1)-cygwin.json
endef

$(eval $(call BUILDBOX,win2008r2-datacenter,$(WIN2008R2_X64),$(WIN2008R2_X64_CHECKSUM)))
Expand Down Expand Up @@ -517,7 +562,7 @@ list:
@echo "To build for all target platforms:"
@echo " make win7x64-pro"
@echo ""
@echo "Prepend 'vmware/' or 'virtualbox/' or 'parallels/' to build only one target platform:"
@echo "Prepend 'vmware/' or 'virtualbox/' or 'parallels/' or 'hyperv/' to build only one target platform:"
@echo " make vmware/win7x64-pro"
@echo ""
@echo "Append '-cygwin' to use Cygwin's SSH instead of OpenSSH:"
Expand Down Expand Up @@ -569,6 +614,10 @@ test-$(PARALLELS_BOX_DIR)/%$(BOX_SUFFIX): $(PARALLELS_BOX_DIR)/%$(BOX_SUFFIX)
-test -f .keep_known_hosts || rm -f ~/.ssh/known_hosts
bin/test-box.sh $< parallels parallels $(CURRENT_DIR)/test/*_spec.rb

test-$(HYPERV_BOX_DIR)/%$(BOX_SUFFIX): $(HYPERV_BOX_DIR)/%$(BOX_SUFFIX)
-test -f .keep_known_hosts || rm -f ~/.ssh/known_hosts
bin/test-box.sh $< hyperv hyperv $(CURRENT_DIR)/test/*_spec.rb

ssh-$(VMWARE_BOX_DIR)/%$(BOX_SUFFIX): $(VMWARE_BOX_DIR)/%$(BOX_SUFFIX)
-test -f .keep_known_hosts || rm -f ~/.ssh/known_hosts
bin/ssh-box.sh $< vmware_desktop $(VAGRANT_PROVIDER) $(CURRENT_DIR)/test/*_spec.rb
Expand All @@ -581,6 +630,10 @@ ssh-$(PARALLELS_BOX_DIR)/%$(BOX_SUFFIX): $(PARALLELS_BOX_DIR)/%$(BOX_SUFFIX)
-test -f .keep_known_hosts || rm -f ~/.ssh/known_hosts
bin/ssh-box.sh $< parallels parallels $(CURRENT_DIR)/test/*_spec.rb

ssh-$(HYPERV_BOX_DIR)/%$(BOX_SUFFIX): $(HYPERV_BOX_DIR)/%$(BOX_SUFFIX)
-test -f .keep_known_hosts || rm -f ~/.ssh/known_hosts
bin/ssh-box.sh $< hyperv hyperv $(CURRENT_DIR)/test/*_spec.rb

S3_STORAGE_CLASS ?= REDUCED_REDUNDANCY
S3_ALLUSERS_ID ?= uri=http://acs.amazonaws.com/groups/global/AllUsers

Expand All @@ -593,6 +646,10 @@ s3cp-$(VIRTUALBOX_BOX_DIR)/%$(BOX_SUFFIX): $(VIRTUALBOX_BOX_DIR)/%$(BOX_SUFFIX)
s3cp-$(PARALLELS_BOX_DIR)/%$(BOX_SUFFIX): $(PARALLELS_BOX_DIR)/%$(BOX_SUFFIX)
aws s3 cp $< $(PARALLELS_S3_BUCKET) --storage-class $(S3_STORAGE_CLASS) --grants full=$(S3_GRANT_ID) read=$(S3_ALLUSERS_ID)

s3cp-$(HYPERV_BOX_DIR)/%$(BOX_SUFFIX): $(HYPERV_BOX_DIR)/%$(BOX_SUFFIX)
aws s3 cp $< $(HYPERV_S3_BUCKET) --storage-class $(S3_STORAGE_CLASS) --grants full=$(S3_GRANT_ID) read=$(S3_ALLUSERS_ID)

s3cp-vmware: $(addprefix s3cp-,$(VMWARE_BOX_FILES))
s3cp-virtualbox: $(addprefix s3cp-,$(VIRTUALBOX_BOX_FILES))
s3cp-parallels: $(addprefix s3cp-,$(PARALLELS_BOX_FILES))
s3cp-hyperv: $(addprefix s3cp-,$(HYPERV_BOX_FILES))
34 changes: 29 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,14 +71,38 @@ the output of `make list` accordingly.
Possible values for the CM variable are:

* `nocm` - No configuration management tool
* `chef` - Install Chef
* `chef` - Install Chef Client
* `chefdk` - Install Chef Development Kit
* `chef-workstation` - Install Chef Workstation
* `puppet` - Install Puppet
* `salt` - Install Salt

You can also specify a variable `CM_VERSION`, if supported by the
configuration management tool, to override the default of `latest`.
The value of `CM_VERSION` should have the form `x.y` or `x.y.z`,
such as `CM_VERSION := 11.12.4`
You can also specify a variable `CM_VERSION` for all configuration management
tools to override the default of `latest`. The value of `CM_VERSION` should
have the form `x.y` or `x.y.z`, such as `CM_VERSION := 11.12.4`

When changing the value of the `CM` variable to one of the chef-based
configuration management tools, it is relevant to note that recent versions of
chef require a license in order to use. Due to this, specifying the default
version of "latest" for the `CM_VERSION` field will result in using the most
recent "free" version that doesn't require a license. If the user wishes to use
the most recent version that DOES requires licensing, however, the user will
need to explicitly specify "licensed" for `CM_VERSION`. Specifying "licensed"
for `CM_VERSION` will then result in using the most recently available licensed
version. More information on how to accept the chef-client license via
configuration after building a template can be found at
[Accepting the Chef License](https://docs.chef.io/chef_license_accept.html).

It is also possible to specify a `HW_VERSION` if a specific hardware
version is to be used for a build. This is commonly used to provide
compatibility with newer versions of VMware Workstation. For example,
you may indicate version 14 of Workstation: `HW_VERSION := 14`.

For configuration management tools (such as Salt), you can specify a
variable `CM_OPTIONS`. This variable will be passed to the installer for
the configuration management tool. For information on possible values
please read the documentation for the respective configuration management
tool.

Another use for `Makefile.local` is to override the default locations
for the Windows install ISO files.
Expand Down
Loading