@@ -55,6 +55,11 @@ def build_one_configuration(suite, arch, build_desc)
5555 unless @options [ :skip_image ]
5656 info "Making a new image copy"
5757 system! "make-clean-vm --suite #{ suite } --arch #{ arch } "
58+
59+ if @options [ :disksize ]
60+ info "Growing target disk image"
61+ system! "grow-target-vm --suite #{ suite } --arch #{ arch } --size #{ @options [ :disksize ] } G"
62+ end
5863 end
5964
6065 info "Starting target"
@@ -76,7 +81,20 @@ def build_one_configuration(suite, arch, build_desc)
7681%#{ ENV [ 'DISTRO' ] || 'ubuntu' } ALL=(ALL) NOPASSWD: ALL
7782EOF" if build_desc [ "sudo" ] and @options [ :allow_sudo ]
7883
84+ if build_desc [ "multiarch" ]
85+ info "Adding multiarch support (log in var/install.log)"
86+ for a in build_desc [ "multiarch" ]
87+ system! "on-target -u root dpkg --add-architecture #{ a } > var/install.log 2>&1"
88+ end
89+ end
90+
91+ info "Updating apt-get repository (log in var/install.log)"
92+ system! "on-target -u root apt-get update > var/install.log 2>&1"
93+
7994 info "Preparing build environment"
95+ if @options [ :disksize ]
96+ system! "on-target -u root bash < target-bin/complete-resize.sh > var/install.log 2>&1"
97+ end
8098 system! "on-target setarch #{ @arches [ arch ] } bash < target-bin/init-build.sh"
8199
82100 build_desc [ "files" ] . each do |filename |
@@ -94,16 +112,6 @@ EOF" if build_desc["sudo"] and @options[:allow_sudo]
94112 end
95113 end
96114
97- if build_desc [ "multiarch" ]
98- info "Adding multiarch support (log in var/install.log)"
99- for a in build_desc [ "multiarch" ]
100- system! "on-target -u root dpkg --add-architecture #{ a } > var/install.log 2>&1"
101- end
102- end
103-
104- info "Updating apt-get repository (log in var/install.log)"
105- system! "on-target -u root apt-get update > var/install.log 2>&1"
106-
107115 info "Installing additional packages (log in var/install.log)"
108116 system! "on-target -u root -e DEBIAN_FRONTEND=noninteractive apt-get --no-install-recommends -y install #{ build_desc [ "packages" ] . join ( " " ) } > var/install.log 2>&1"
109117
@@ -186,6 +194,9 @@ OptionParser.new do |opts|
186194 opts . on ( "-m MEM" , "--memory MEM" , "memory to allocate in MiB" ) do |v |
187195 @options [ :memory ] = v
188196 end
197+ opts . on ( "--disksize SIZE" , "grow disk image to size in GiB" ) do |v |
198+ @options [ :disksize ] = v
199+ end
189200 opts . on ( "-c PAIRS" , "--commit PAIRS" , "comma separated list of DIRECTORY=COMMIT pairs" ) do |v |
190201 @options [ :commit ] = v
191202 end
0 commit comments