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 +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:
|