boxes 3.3.1 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 5106c67561b5dbf9b132e8cab7c97b4905ed6478
4
- data.tar.gz: 3ff73aa92235cf4111c4a1241347b4c9bd65d812
2
+ SHA256:
3
+ metadata.gz: 2e467377a668469709919be381ac4da37cb50ce2914b22d7d94afae40d4e084c
4
+ data.tar.gz: b62708cfaa698358e6411933c278bcdf4f392f5d666a9bb68ef72e0870ae4a37
5
5
  SHA512:
6
- metadata.gz: dfadc3fb89a0f904454b27b66da0ce5aa212bcf0e0c355fdd1ac6aff01b1f9df4d61cb8566b4b9568e38133b6fabf1d703ee1eb22cdcc489e8fc0d7a7fc221cd
7
- data.tar.gz: 472ad770e3022e46af83b5613900eca701263640049daf333547a2fa0fb6398d54ed1dd0eec623c00197f77c506d7bf422007775c7278198ee3c37a094710bd4
6
+ metadata.gz: 3d3a71731d23f25de57b6ff486517dc07d2efcd1925d0393469c9d40c71629eb20490ac697287e2c19529fa7514deec3f1bdba2e902ed9be3d705e9626fa64ae
7
+ data.tar.gz: 51488c7bda7f432ee37b51ce9f39372f48bd5a12a08dadd94bf7a4d4a14795678fbbe666d4ee0dc472961f6c5e6dc7e01cd0f9753e78151ece5188ef4b51aea8
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --require spec_helper
@@ -352,8 +352,18 @@ Style/TrailingCommaInArguments:
352
352
  - no_comma
353
353
  Enabled: true
354
354
 
355
- Style/TrailingCommaInLiteral:
356
- Description: 'Checks for trailing comma in array and hash literals.'
355
+ Style/TrailingCommaInArrayLiteral:
356
+ Description: 'Checks for trailing comma in array literals.'
357
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
358
+ EnforcedStyleForMultiline: comma
359
+ SupportedStylesForMultiline:
360
+ - comma
361
+ - consistent_comma
362
+ - no_comma
363
+ Enabled: true
364
+
365
+ Style/TrailingCommaInHashLiteral:
366
+ Description: 'Checks for trailing comma in hash literals.'
357
367
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
358
368
  EnforcedStyleForMultiline: comma
359
369
  SupportedStylesForMultiline:
@@ -398,6 +408,13 @@ Layout/AlignParameters:
398
408
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-double-indent'
399
409
  Enabled: false
400
410
 
411
+ Layout/ConditionPosition:
412
+ Description: >-
413
+ Checks for condition placed in a confusing position relative to
414
+ the keyword.
415
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#same-line-condition'
416
+ Enabled: false
417
+
401
418
  Layout/DotPosition:
402
419
  Description: 'Checks the position of the dot in multi-line method calls.'
403
420
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains'
@@ -450,13 +467,6 @@ Lint/CircularArgumentReference:
450
467
  Description: "Don't refer to the keyword argument in the default value."
451
468
  Enabled: false
452
469
 
453
- Lint/ConditionPosition:
454
- Description: >-
455
- Checks for condition placed in a confusing position relative to
456
- the keyword.
457
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#same-line-condition'
458
- Enabled: false
459
-
460
470
  Lint/DeprecatedClassMethods:
461
471
  Description: 'Check for deprecated class method calls.'
462
472
  Enabled: false
@@ -482,7 +492,7 @@ Lint/HandleExceptions:
482
492
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions'
483
493
  Enabled: false
484
494
 
485
- Lint/LiteralInCondition:
495
+ Lint/LiteralAsCondition:
486
496
  Description: 'Checks of literals used in conditions.'
487
497
  Enabled: false
488
498
 
@@ -523,7 +533,7 @@ Lint/UnderscorePrefixedVariableName:
523
533
  Description: 'Do not use prefix `_` for a variable that is used.'
524
534
  Enabled: false
525
535
 
526
- Lint/UnneededDisable:
536
+ Lint/UnneededCopDisableDirective:
527
537
  Description: >-
528
538
  Checks for rubocop:disable comments that can be removed.
529
539
  Note: this cop is not disabled when disabling all cops.
@@ -1 +1 @@
1
- ruby-2.4.2
1
+ ruby-2.6.3
@@ -1,5 +1,48 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 3.7.0 (19/08/2020)
4
+
5
+ * Support for Ubuntu 20.04 ([58])
6
+
7
+ [58]: https://github.com/nickcharlton/boxes/pull/58
8
+
9
+ ## 3.6.1 (13/08/2020)
10
+
11
+ * Update Debian Buster from 10.3.0 to 10.5.0
12
+
13
+ ## 3.6.0 (04/04/2020)
14
+
15
+ * Update Rubies to current latest:
16
+ - 2.4.10
17
+ - 2.5.8
18
+ - 2.6.6
19
+ - 2.7.1
20
+ * Add Debian Buster (10).
21
+ * Switch Debian Stretch to an archive URL.
22
+ * Update Ubuntu Bionic from 18.04.2 to 18.04.4.
23
+
24
+ ## 3.5.0 (27/05/2019)
25
+
26
+ * Refresh Rubies:
27
+ - Drop 2.1, 2.2,
28
+ - Add 2.6,
29
+ - Bump to current patch of 2.3, 2.4, 2.5.
30
+ * Upgrade Ruby to 2.6.3.
31
+ * Update Ubuntu Bionic from 18.04.1 to 18.04.2.
32
+ * Update Ubuntu Xenial from 16.04.5 to 16.04.6.
33
+ * Update Ubuntu Trusty from 14.04.5 to 14.04.6.
34
+ * Update Debian Stretch from 9.6.0 to 9.9.0.
35
+ * Drop Ubuntu Precise (12.04).
36
+ * Drop Debian Wheezy (7).
37
+
38
+ ## 3.4.0 (02/12/2018)
39
+
40
+ * Update Debian Stretch ISO to 9.6.0.
41
+ * Update Ubuntu Xenial ISO image to 16.04.4.
42
+ * Update Ubuntu Bionic ISO to 18.04.1.
43
+ * Remove unnecessary thread block.
44
+ * Avoid printing variables which are nil.
45
+
3
46
  ## 3.3.1 (27/04/2018)
4
47
 
5
48
  * Refresh Ubuntu Xenial ISO image. ([55])
@@ -18,14 +18,11 @@ module Boxes
18
18
  Open3.popen3(command) do |_stdin, stdout, stderr, thread|
19
19
  # read each stream from a new thread
20
20
  { out: stdout, err: stderr }.each do |key, stream|
21
- Thread.new do
22
- stream.each_line do |line|
23
- # yield the block depending on the stream
24
- if key == :out
25
- yield line, nil, thread if block_given?
26
- else
27
- yield nil, line, thread if block_given?
28
- end
21
+ stream.each_line do |line|
22
+ if key == :out
23
+ yield line, nil, thread if block_given?
24
+ elsif key == :err
25
+ yield nil, line, thread if block_given?
29
26
  end
30
27
  end
31
28
  end
@@ -1,3 +1,3 @@
1
1
  module Boxes
2
- VERSION = "3.3.1".freeze
2
+ VERSION = "3.7.0".freeze
3
3
  end
@@ -1,4 +1,10 @@
1
- # postinstall.sh based upon Mitchell's old basebox example
1
+ #!/bin/sh
2
+
3
+ ##
4
+ # Post install configuration, preparing the box for usage
5
+ #
6
+ # Originally based upon Mitchell's old basebox example
7
+ ##
2
8
 
3
9
  # mark the build time
4
10
  date > /etc/vagrant_box_build_time
@@ -34,17 +40,55 @@ curl -Lo /home/vagrant/.ssh/authorized_keys \
34
40
  chmod 0600 /home/vagrant/.ssh/authorized_keys
35
41
  chown -R vagrant:vagrant /home/vagrant/.ssh
36
42
 
37
- # under systemd distributions, networking breaks on first reboot
38
- # this is because it's renamed to follow the PCI slot
39
- case $(lsb_release -cs) in
40
- "wily" | "xenial" | "stretch")
41
- sed -i "s/ens33/ens32/g" /etc/network/interfaces
42
- ;;
43
- *)
44
- ;;
45
- esac
43
+ disable_automatic_udev_rules() {
44
+ echo "Disabling automatic udev rules for network interfaces..."
45
+
46
+ # source: http://6.ptmc.org/164/
47
+ rm -f /etc/udev/rules.d/70-persistent-net.rules
48
+ ln -s /dev/null /etc/udev/rules.d/70-persistent-net.rules
49
+ rm -f /lib/udev/rules.d/75-persistent-net-generator.rules
50
+ rm -rf /dev/.udev/ /var/lib/dhcp/*
51
+ }
52
+
53
+ disable_predictable_interface_names() {
54
+ echo "Disabling predictable interface names..."
55
+
56
+ sed -i 's/en[[:alnum:]]*/eth0/g' /etc/network/interfaces
57
+ sed -ie 's/GRUB_CMDLINE_LINUX="\(.*\)"/GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0 \1"/g' /etc/default/grub
58
+ update-grub
59
+ }
60
+
61
+ configure_netplan() {
62
+ echo "Creating DHCP netplan config for eth0..."
63
+
64
+ cat <<-EOF >/etc/netplan/01-netcfg.yaml;
65
+ network:
66
+ version: 2
67
+ ethernets:
68
+ eth0:
69
+ dhcp4: true
70
+ EOF
71
+ }
72
+
73
+ distribution=$(lsb_release -si)
74
+ version=$(lsb_release -sr)
75
+ major_version=$(echo "$version" | awk -F . '{print $1}')
76
+
77
+ if [ "$distribution" = 'Ubuntu' ]; then
78
+ if [ "$major_version" -ge "16" ]; then
79
+ disable_predictable_interface_names
80
+ fi
81
+
82
+ if [ "$major_version" -ge "18" ]; then
83
+ configure_netplan
84
+ fi
85
+ elif [ "$distribution" = 'Debian' ]; then
86
+ if [ "$major_version" -ge "8" ]; then
87
+ disable_predictable_interface_names
88
+ fi
89
+ fi
90
+
91
+ disable_automatic_udev_rules
46
92
 
47
93
  # clean up any artifacts
48
94
  rm -f /home/vagrant/shutdown.sh
49
-
50
- exit
@@ -6,25 +6,6 @@
6
6
  # Based on: https://gist.github.com/adrienbrault/3775253
7
7
  ##
8
8
 
9
- # tidy up DCHP leases
10
- echo "Cleaning up dhcp..."
11
- rm /var/lib/dhcp/*
12
-
13
- # make sure Udev doesn't block our network
14
- # except on systemd systems where this isn't used
15
- # http://6.ptmc.org/?p=164
16
- case $(lsb_release -cs) in
17
- "wily" | "xenial")
18
- ;;
19
- *)
20
- echo "Cleaning up udev..."
21
- rm /etc/udev/rules.d/70-persistent-net.rules
22
- mkdir /etc/udev/rules.d/70-persistent-net.rules
23
- rm -rf /dev/.udev/
24
- rm /lib/udev/rules.d/75-persistent-net-generator.rules
25
- ;;
26
- esac
27
-
28
9
  # clean up apt
29
10
  echo "Cleaning up apt..."
30
11
  apt-get -qy autoremove
@@ -27,11 +27,10 @@ cd ruby-install-$rubyinstall_version/
27
27
  make install
28
28
 
29
29
  # install a set of recent MRI Rubies.
30
- ruby-install ruby 2.1.10
31
- ruby-install ruby 2.2.9
32
- ruby-install ruby 2.3.6
33
- ruby-install ruby 2.4.3
34
- ruby-install ruby 2.5.0
30
+ ruby-install ruby 2.4.10
31
+ ruby-install ruby 2.5.8
32
+ ruby-install ruby 2.6.6
33
+ ruby-install ruby 2.7.1
35
34
 
36
35
  # update gems and install bundler
37
36
  source /usr/local/share/chruby/chruby.sh
@@ -4,6 +4,10 @@
4
4
  # Configure the relevant VM tools for this builder.
5
5
  ##
6
6
 
7
+ distribution=$(lsb_release -si)
8
+ version=$(lsb_release -sr)
9
+ major_version=$(echo "$version" | awk -F . '{print $1}')
10
+
7
11
  case $PACKER_BUILDER_TYPE in
8
12
  'virtualbox-iso')
9
13
  echo "Installing VirtualBox Guest Additions..."
@@ -15,17 +19,23 @@ case $PACKER_BUILDER_TYPE in
15
19
  rm -f /home/vagrant/VBoxGuestAdditions.iso
16
20
  ;;
17
21
  'vmware-iso')
18
- echo "Installing VMware Tools..."
19
- apt-get -qy install fuse
20
- mkdir -p /mnt/cdrom
21
- mount -o loop /home/vagrant/linux.iso /mnt/cdrom
22
+ if [ "$distribution" = 'Ubuntu' ]; then
23
+ if [ "$major_version" -le "19" ]; then
24
+ echo "Installing VMware Tools..."
25
+ apt-get -qy install fuse
26
+ mkdir -p /mnt/cdrom
27
+ mount -o loop /home/vagrant/linux.iso /mnt/cdrom
22
28
 
23
- cd /tmp
24
- tar -zxpf /mnt/cdrom/VMwareTools-*.tar.gz -C /tmp/
25
- /tmp/vmware-tools-distrib/vmware-install.pl --force-install --default
29
+ cd /tmp
30
+ tar -zxpf /mnt/cdrom/VMwareTools-*.tar.gz -C /tmp/
31
+ /tmp/vmware-tools-distrib/vmware-install.pl --force-install --default
26
32
 
27
- umount /mnt/cdrom
28
- rm -f /home/vagrant/linux.iso
33
+ umount /mnt/cdrom
34
+ rm -f /home/vagrant/linux.iso
35
+ else
36
+ echo "Skipping installing VMware Tools because open-vm-tools works..."
37
+ fi
38
+ fi
29
39
  ;;
30
40
  *)
31
41
  printf "Nothing to do for the %s builder type.\n" $PACKER_BUILDER_TYPE
@@ -1,36 +1,37 @@
1
- require 'spec_helper'
1
+ require "spec_helper"
2
2
 
3
3
  describe Boxes::Subprocess do
4
- let(:command) do
5
- File.expand_path("../../support/subprocess_command.sh", __FILE__).
6
- shellescape
7
- end
8
-
9
- it 'runs a command and yields a block' do
4
+ it "runs a command and yields a block" do
10
5
  expect { |b| Boxes::Subprocess.run(command, &b) }.to yield_control
11
6
  end
12
7
 
13
- it 'runs a command and returns stdout' do
14
- total_stdout = ''
8
+ it "runs a command and returns stdout" do
9
+ total_stdout = ""
15
10
  Boxes::Subprocess.run(command) do |stdout, _stderr, _thread|
16
- total_stdout << stdout
11
+ total_stdout << stdout if stdout
17
12
  end
18
13
 
19
14
  expect(total_stdout).to eq "A happy output.\n"
20
15
  end
21
16
 
22
- it 'runs a command and returns stderr' do
23
- total_stderr = ''
17
+ it "runs a command and returns stderr" do
18
+ total_stderr = ""
24
19
  Boxes::Subprocess.run(command) do |_stdout, stderr, _thread|
25
- total_stderr << stderr
20
+ total_stderr << stderr if stderr
26
21
  end
27
22
 
28
23
  expect(total_stderr).to eq "An unhappy output.\n"
29
24
  end
30
25
 
31
- it 'returns a status code' do
26
+ it "returns a status code" do
32
27
  status = Boxes::Subprocess.run(command) { |_stdout, _stderr, _thread| }
33
28
 
34
29
  expect(status.exitstatus).to eq 5
35
30
  end
31
+
32
+ private
33
+
34
+ def command
35
+ File.expand_path("../support/subprocess_command.sh", __dir__).shellescape
36
+ end
36
37
  end
@@ -18,15 +18,15 @@
18
18
  "name": "<%= @name %>",
19
19
  "type": "<%= @provider %>-iso",
20
20
  <%- if @provider == "vmware" -%>
21
- "guest_os_type": "debian7-64",
21
+ "guest_os_type": "debian8-64",
22
22
  "tools_upload_flavor": "linux",
23
23
  <%- else -%>
24
24
  "guest_os_type": "Debian_64",
25
25
  <%- end -%>
26
26
  "headless": true,
27
27
 
28
- "iso_url": "http://debian.ethz.ch/debian-cd/7.8.0/amd64/iso-cd/debian-7.8.0-amd64-netinst.iso",
29
- "iso_checksum": "e39c36d6adc0fd86c6edb0e03e22919086c883b37ca194d063b8e3e8f6ff6a3a",
28
+ "iso_url": "https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.5.0-amd64-netinst.iso",
29
+ "iso_checksum": "93863e17ac24eeaa347dfb91dddac654f214c189e0379d7c28664a306e0301e7",
30
30
  "iso_checksum_type": "sha256",
31
31
 
32
32
  "ssh_username": "vagrant",
@@ -38,7 +38,7 @@
38
38
  "boot_command": [
39
39
  "<esc><wait>",
40
40
  "install ",
41
- "preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/preseed.cfg ",
41
+ "preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/preseed-legacy.cfg ",
42
42
  "debian-installer=en_US auto=true locale=en_US kbd-chooser/method=us ",
43
43
  "netcfg/get_hostname={{ .Name }} ",
44
44
  "netcfg/get_domain=vagrantup.com ",
@@ -0,0 +1,76 @@
1
+ #
2
+ # Based upon: https://help.ubuntu.com/12.04/installation-guide/example-preseed.txt
3
+ #
4
+
5
+ # localisation
6
+ d-i debian-installer/locale string en_US.utf8
7
+ d-i console-keymaps-at/keymap select us
8
+
9
+ # networking
10
+ d-i netcfg/choose_interface select auto
11
+ d-i netcfg/get_hostname string unassigned-hostname
12
+ d-i netcfg/get_domain string unassigned-domain
13
+ d-i netcfg/wireless_wep string
14
+
15
+ # apt mirrors
16
+ d-i mirror/country string manual
17
+ d-i mirror/http/hostname string http.us.debian.org
18
+ d-i mirror/http/directory string /debian
19
+ d-i mirror/http/proxy string
20
+
21
+ # clock and time zone
22
+ d-i clock-setup/utc boolean true
23
+ d-i time/zone string GMT
24
+ d-i clock-setup/ntp boolean true
25
+
26
+ # partitioning
27
+ d-i partman-auto/method string lvm
28
+ d-i partman-lvm/device_remove_lvm boolean true
29
+ d-i partman-md/device_remove_md boolean true
30
+ d-i partman-lvm/confirm boolean true
31
+ d-i partman-lvm/confirm_nooverwrite boolean true
32
+
33
+ #d-i partman-auto-lvm/guided_size string max
34
+ d-i partman-auto/choose_recipe select atomic
35
+ d-i partman-partitioning/confirm_write_new_label boolean true
36
+ d-i partman/choose_partition select finish
37
+ d-i partman/confirm boolean true
38
+ d-i partman/confirm_nooverwrite boolean true
39
+
40
+ # users
41
+ d-i passwd/root-login boolean false
42
+ d-i passwd/user-fullname string Vagrant User
43
+ d-i passwd/username string vagrant
44
+ d-i passwd/user-password password vagrant
45
+ d-i passwd/user-password-again password vagrant
46
+ d-i user-setup/allow-password-weak boolean true
47
+ d-i user-setup/encrypt-home boolean false
48
+
49
+ # packages
50
+ tasksel tasksel/first multiselect standard
51
+ #d-i pkgsel/install-language-support boolean false
52
+ d-i pkgsel/include string openssh-server nfs-common curl ntp acpid sudo \
53
+ bzip2 rsync git ca-certificates net-tools
54
+ d-i pkgsel/upgrade select full-upgrade
55
+ d-i pkgsel/update-policy select none
56
+ d-i popularity-contest/participate boolean false
57
+ d-i preseed/late_command string sed -i '/^deb cdrom:/s/^/#/' /target/etc/apt/sources.list
58
+ apt-cdrom-setup apt-setup/cdrom/set-first boolean false
59
+ apt-mirror-setup apt-setup/use_mirror boolean true
60
+ d-i mirror/http/hostname string debian.ethz.ch
61
+ d-i mirror/http/directory string /debian
62
+ postfix postfix/main_mailer_type select No configuration
63
+
64
+ # boot loader
65
+ d-i grub-installer/bootdev string default
66
+ d-i grub-installer/only_debian boolean true
67
+
68
+ # hide the shutdown notice
69
+ d-i finish-install/reboot_in_progress note
70
+
71
+ # advanced options
72
+
73
+ # ensure the default VirtualBox additions doesn't install
74
+ d-i preseed/early_command string sed -i \
75
+ '/in-target/idiscover(){/sbin/discover|grep -v VirtualBox;}' \
76
+ /usr/lib/pre-pkgsel.d/20install-hwpackages
@@ -29,6 +29,7 @@ d-i partman-lvm/device_remove_lvm boolean true
29
29
  d-i partman-md/device_remove_md boolean true
30
30
  d-i partman-lvm/confirm boolean true
31
31
  d-i partman-lvm/confirm_nooverwrite boolean true
32
+ d-i partman-auto-lvm/guided_size string max
32
33
 
33
34
  #d-i partman-auto-lvm/guided_size string max
34
35
  d-i partman-auto/choose_recipe select atomic
@@ -54,7 +55,6 @@ d-i pkgsel/include string openssh-server nfs-common curl ntp acpid sudo \
54
55
  d-i pkgsel/upgrade select full-upgrade
55
56
  d-i pkgsel/update-policy select none
56
57
  d-i popularity-contest/participate boolean false
57
- d-i preseed/late_command string sed -i '/^deb cdrom:/s/^/#/' /target/etc/apt/sources.list
58
58
  apt-cdrom-setup apt-setup/cdrom/set-first boolean false
59
59
  apt-mirror-setup apt-setup/use_mirror boolean true
60
60
  postfix postfix/main_mailer_type select No configuration
@@ -72,3 +72,9 @@ d-i finish-install/reboot_in_progress note
72
72
  d-i preseed/early_command string sed -i \
73
73
  '/in-target/idiscover(){/sbin/discover|grep -v VirtualBox;}' \
74
74
  /usr/lib/pre-pkgsel.d/20install-hwpackages
75
+
76
+ # change how dhcp leases are fetched, back to using the MAC address to stop
77
+ # getting new lease during the build
78
+ d-i preseed/late_command string in-target sed -i \
79
+ 's/^#*\(send dhcp-client-identifier\).*$/\1 = hardware;/' \
80
+ /etc/dhcp/dhclient.conf
@@ -25,8 +25,8 @@
25
25
  <%- end -%>
26
26
  "headless": true,
27
27
 
28
- "iso_url": "https://cdimage.debian.org/debian-cd/9.4.0/amd64/iso-cd/debian-9.4.0-amd64-netinst.iso",
29
- "iso_checksum": "124d270006703f2111224dec3bf7a9d01450168be41d4834f88fdd035552b044",
28
+ "iso_url": "http://debian.ethz.ch/debian-cd/9.9.0/amd64/iso-cd/debian-9.9.0-amd64-netinst.iso",
29
+ "iso_checksum": "d4a22c81c76a66558fb92e690ef70a5d67c685a08216701b15746586520f6e8e",
30
30
  "iso_checksum_type": "sha256",
31
31
 
32
32
  "ssh_username": "vagrant",
@@ -38,7 +38,7 @@
38
38
  "boot_command": [
39
39
  "<esc><wait>",
40
40
  "install ",
41
- "preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/preseed.cfg ",
41
+ "preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/preseed-legacy.cfg ",
42
42
  "debian-installer=en_US auto=true locale=en_US kbd-chooser/method=us ",
43
43
  "netcfg/get_hostname={{ .Name }} ",
44
44
  "netcfg/get_domain=vagrantup.com ",
@@ -26,9 +26,9 @@
26
26
  <%- end -%>
27
27
  "headless": true,
28
28
 
29
- "iso_url": "http://releases.ubuntu.com/12.04/ubuntu-12.04.5-server-amd64.iso",
30
- "iso_checksum": "769474248a3897f4865817446f9a4a53",
31
- "iso_checksum_type": "md5",
29
+ "iso_url": "http://cdimage.ubuntu.com/ubuntu/releases/18.04/release/ubuntu-18.04.4-server-amd64.iso",
30
+ "iso_checksum": "e2ecdace33c939527cbc9e8d23576381c493b071107207d2040af72595f8990b",
31
+ "iso_checksum_type": "sha256",
32
32
 
33
33
  "ssh_username": "vagrant",
34
34
  "ssh_password": "vagrant",
@@ -37,7 +37,10 @@
37
37
  "http_directory": "templates/ubuntu",
38
38
 
39
39
  "boot_command": [
40
- "<esc><esc><enter><wait>",
40
+ "<enter><wait><f6><esc><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
41
+ "<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
42
+ "<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
43
+ "<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
41
44
  "/install/vmlinuz noapic ",
42
45
  "preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/preseed.cfg ",
43
46
  "debian-installer=en_US auto locale=en_US kbd-chooser/method=us ",
@@ -45,6 +48,7 @@
45
48
  "fb=false debconf/frontend=noninteractive ",
46
49
  "keyboard-configuration/modelcode=SKIP keyboard-configuration/layout=USA ",
47
50
  "keyboard-configuration/variant=USA console-setup/ask_detect=false ",
51
+ "grub-installer/bootdev=/dev/sda ",
48
52
  "initrd=/install/initrd.gz -- <enter>"
49
53
  ],
50
54
 
@@ -0,0 +1,53 @@
1
+ {
2
+ "provisioners": [
3
+ {
4
+ "type": "shell",
5
+ "scripts": [
6
+ <%= ["postinstall.sh", "vmtools.sh", @scripts].flatten.map { |i| "\"scripts/#{i}\"" }.join(", ") %>
7
+ ],
8
+ "execute_command": "echo 'vagrant' | {{ .Vars }} sudo -E -S bash '{{ .Path }}'"
9
+ }
10
+ ],
11
+
12
+ "builders": [
13
+ {
14
+ "name": "<%= @name %>",
15
+ "type": "<%= @provider %>-iso",
16
+ <%- if @provider == "vmware" -%>
17
+ "guest_os_type": "ubuntu-64",
18
+ "tools_upload_flavor": "linux",
19
+ <%- else -%>
20
+ "guest_os_type": "Ubuntu_64",
21
+ <%- end -%>
22
+ "headless": true,
23
+
24
+ "memory": 1024,
25
+
26
+ "iso_url": "http://releases.ubuntu.com/20.04/ubuntu-20.04-live-server-amd64.iso",
27
+ "iso_checksum": "caf3fd69c77c439f162e2ba6040e9c320c4ff0d69aad1340a514319a9264df9f",
28
+ "iso_checksum_type": "sha256",
29
+
30
+ "ssh_username": "vagrant",
31
+ "ssh_password": "vagrant",
32
+ "ssh_handshake_attempts": "50",
33
+ "ssh_timeout": "10m",
34
+
35
+ "http_directory": "templates/ubuntu",
36
+
37
+ "boot_wait": "5s",
38
+ "boot_command": [
39
+ "<enter><enter><f6><esc><wait> ",
40
+ "autoinstall ds=nocloud-net;s=http://{{ .HTTPIP }}:{{ .HTTPPort }}/",
41
+ "<enter>"
42
+ ],
43
+
44
+ "shutdown_command": "echo 'shutdown -P now' > shutdown.sh; echo 'vagrant'|sudo -S sh 'shutdown.sh'"
45
+ }
46
+ ],
47
+
48
+ "post-processors": [
49
+ {
50
+ "type": "vagrant"
51
+ }
52
+ ]
53
+ }
File without changes
@@ -49,7 +49,7 @@ d-i user-setup/encrypt-home boolean false
49
49
  # packages
50
50
  tasksel tasksel/first multiselect standard, ubuntu-server
51
51
  d-i pkgsel/install-language-support boolean false
52
- d-i pkgsel/include string openssh-server nfs-common curl git-core
52
+ d-i pkgsel/include string openssh-server nfs-common curl git-core python
53
53
  d-i pkgsel/upgrade select full-upgrade
54
54
  d-i pkgsel/update-policy select none
55
55
  postfix postfix/main_mailer_type select No configuration
@@ -26,8 +26,8 @@
26
26
  <%- end -%>
27
27
  "headless": true,
28
28
 
29
- "iso_url": "http://releases.ubuntu.com/trusty/ubuntu-14.04.5-server-amd64.iso",
30
- "iso_checksum": "dde07d37647a1d2d9247e33f14e91acb10445a97578384896b4e1d985f754cc1",
29
+ "iso_url": "http://releases.ubuntu.com/trusty/ubuntu-14.04.6-server-amd64.iso",
30
+ "iso_checksum": "b17d7c1e9d0321ad5810ba77b69aef43f0f29a5422b08120e6ee0576c4527c0e",
31
31
  "iso_checksum_type": "sha256",
32
32
 
33
33
  "ssh_username": "vagrant",
@@ -0,0 +1,17 @@
1
+ #cloud-config
2
+ autoinstall:
3
+ version: 1
4
+ identity:
5
+ hostname: unassigned-hostname
6
+ username: vagrant
7
+ password: '$6$IrzMz/ehZN.wfW49$JU36Dv3xOxkAHQTECBjDaSGNyLndBT5JTkL3CC.hLEEw3TBAOJCWanP0meOPqaMwabmIAAICuG288JBK8HdMP.'
8
+ network:
9
+ network:
10
+ version: 2
11
+ ethernets:
12
+ ens33: {dhcp4: true, dhcp-identifier: mac}
13
+ ssh:
14
+ install-server: true
15
+ late-commands:
16
+ - sed -i 's/^#*\(send dhcp-client-identifier\).*$/\1 = hardware;/' /target/etc/dhcp/dhclient.conf
17
+ - 'sed -i "s/dhcp4: true/&\n dhcp-identifier: mac/" /target/etc/netplan/00-installer-config.yaml'
@@ -26,8 +26,8 @@
26
26
  <%- end -%>
27
27
  "headless": true,
28
28
 
29
- "iso_url": "http://releases.ubuntu.com/16.04/ubuntu-16.04.4-server-amd64.iso",
30
- "iso_checksum": "0a03608988cfd2e50567990dc8be96fb3c501e198e2e6efcb846d89efc7b89f2",
29
+ "iso_url": "http://releases.ubuntu.com/xenial/ubuntu-16.04.6-server-amd64.iso",
30
+ "iso_checksum": "16afb1375372c57471ea5e29803a89a5a6bd1f6aabea2e5e34ac1ab7eb9786ac",
31
31
  "iso_checksum_type": "sha256",
32
32
 
33
33
  "ssh_username": "vagrant",
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: boxes
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.1
4
+ version: 3.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Charlton
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-05-06 00:00:00.000000000 Z
11
+ date: 2020-08-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: claide
@@ -137,6 +137,7 @@ extra_rdoc_files: []
137
137
  files:
138
138
  - ".gitignore"
139
139
  - ".hound.yml"
140
+ - ".rspec"
140
141
  - ".rubocop.yml"
141
142
  - ".ruby-version"
142
143
  - ".travis.yml"
@@ -193,19 +194,23 @@ files:
193
194
  - spec/support/subprocess_command.sh
194
195
  - spec/support/tmp.rb
195
196
  - spec/tmp/.gitkeep
197
+ - templates/debian/buster64.erb
196
198
  - templates/debian/jessie64.erb
199
+ - templates/debian/preseed-legacy.cfg
197
200
  - templates/debian/preseed.cfg
198
201
  - templates/debian/stretch64.erb
199
- - templates/debian/wheezy64.erb
200
- - templates/ubuntu/precise64.erb
202
+ - templates/ubuntu/bionic64.erb
203
+ - templates/ubuntu/focal64.erb
204
+ - templates/ubuntu/meta-data
201
205
  - templates/ubuntu/preseed.cfg
202
206
  - templates/ubuntu/trusty64.erb
207
+ - templates/ubuntu/user-data
203
208
  - templates/ubuntu/xenial64.erb
204
209
  homepage: https://github.com/nickcharlton/boxes
205
210
  licenses:
206
211
  - MIT
207
212
  metadata: {}
208
- post_install_message:
213
+ post_install_message:
209
214
  rdoc_options: []
210
215
  require_paths:
211
216
  - lib
@@ -220,9 +225,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
220
225
  - !ruby/object:Gem::Version
221
226
  version: '0'
222
227
  requirements: []
223
- rubyforge_project:
224
- rubygems_version: 2.6.13
225
- signing_key:
228
+ rubygems_version: 3.0.3
229
+ signing_key:
226
230
  specification_version: 4
227
231
  summary: A command line tool to take the complexity out of building Vagrant boxes.
228
232
  test_files: