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 +5 -5
- data/.rspec +2 -0
- data/.rubocop.yml +21 -11
- data/.ruby-version +1 -1
- data/CHANGELOG.md +43 -0
- data/lib/boxes/subprocess.rb +5 -8
- data/lib/boxes/version.rb +1 -1
- data/scripts/postinstall.sh +56 -12
- data/scripts/purge.sh +0 -19
- data/scripts/ruby.sh +4 -5
- data/scripts/vmtools.sh +19 -9
- data/spec/boxes/subprocess_spec.rb +15 -14
- data/templates/debian/{wheezy64.erb → buster64.erb} +3 -3
- data/templates/debian/jessie64.erb +1 -1
- data/templates/debian/preseed-legacy.cfg +76 -0
- data/templates/debian/preseed.cfg +7 -1
- data/templates/debian/stretch64.erb +3 -3
- data/templates/ubuntu/{precise64.erb → bionic64.erb} +8 -4
- data/templates/ubuntu/focal64.erb +53 -0
- data/templates/ubuntu/meta-data +0 -0
- data/templates/ubuntu/preseed.cfg +1 -1
- data/templates/ubuntu/trusty64.erb +2 -2
- data/templates/ubuntu/user-data +17 -0
- data/templates/ubuntu/xenial64.erb +2 -2
- metadata +13 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 2e467377a668469709919be381ac4da37cb50ce2914b22d7d94afae40d4e084c
|
4
|
+
data.tar.gz: b62708cfaa698358e6411933c278bcdf4f392f5d666a9bb68ef72e0870ae4a37
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3d3a71731d23f25de57b6ff486517dc07d2efcd1925d0393469c9d40c71629eb20490ac697287e2c19529fa7514deec3f1bdba2e902ed9be3d705e9626fa64ae
|
7
|
+
data.tar.gz: 51488c7bda7f432ee37b51ce9f39372f48bd5a12a08dadd94bf7a4d4a14795678fbbe666d4ee0dc472961f6c5e6dc7e01cd0f9753e78151ece5188ef4b51aea8
|
data/.rspec
ADDED
data/.rubocop.yml
CHANGED
@@ -352,8 +352,18 @@ Style/TrailingCommaInArguments:
|
|
352
352
|
- no_comma
|
353
353
|
Enabled: true
|
354
354
|
|
355
|
-
Style/
|
356
|
-
Description: 'Checks for trailing comma in array
|
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/
|
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/
|
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.
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ruby-2.
|
1
|
+
ruby-2.6.3
|
data/CHANGELOG.md
CHANGED
@@ -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])
|
data/lib/boxes/subprocess.rb
CHANGED
@@ -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
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
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
|
data/lib/boxes/version.rb
CHANGED
data/scripts/postinstall.sh
CHANGED
@@ -1,4 +1,10 @@
|
|
1
|
-
|
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
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
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
|
data/scripts/purge.sh
CHANGED
@@ -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
|
data/scripts/ruby.sh
CHANGED
@@ -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.
|
31
|
-
ruby-install ruby 2.
|
32
|
-
ruby-install ruby 2.
|
33
|
-
ruby-install ruby 2.
|
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
|
data/scripts/vmtools.sh
CHANGED
@@ -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
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
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
|
-
|
24
|
-
|
25
|
-
|
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
|
-
|
28
|
-
|
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
|
1
|
+
require "spec_helper"
|
2
2
|
|
3
3
|
describe Boxes::Subprocess do
|
4
|
-
|
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
|
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
|
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
|
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": "
|
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": "
|
29
|
-
"iso_checksum": "
|
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": "
|
29
|
-
"iso_checksum": "
|
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://
|
30
|
-
"iso_checksum": "
|
31
|
-
"iso_checksum_type": "
|
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
|
-
"<
|
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.
|
30
|
-
"iso_checksum": "
|
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/
|
30
|
-
"iso_checksum": "
|
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.
|
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:
|
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/
|
200
|
-
- templates/ubuntu/
|
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
|
-
|
224
|
-
|
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:
|