boxes 3.3.1 → 3.7.0

Sign up to get free protection for your applications and to get access to all the features.
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: