summaryrefslogtreecommitdiff
path: root/NEWS
blob: c2281345a360c869994e6b37d8bcd97d136cb9a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
NEWS for vmdb2, the Debian disk image builder
=============================================================================

Version 0.13.2+git, not yet released
------------------------------------

* Source code for vmdb2 is now hosted on git.liw.fi, moved there from
  GitHub.

* Fixed smoke test timeout for starting a VM to 5 min. The previous
  timeout (30 s) was short enough that tests often failed because of
  it.

* The `debootstrap` action now finishes with `apt-get update`. For
  some reason thing had changed so that this became necessary.

* Christian Schlüter added the optional `label` field to the `mkfs`
  step to set the filesystem label upon creation.

* Changed the `grub` step to take an optional `image-dev` field to
  override the heuristics for finding the device where GRUB is to be
  installed. This was necessary to allow vmdb2 to install Debian onto
  real hardware.

* The smoke test now tests a UEFI image as well.

* The rootfs unpacking action now copies `/etc/resolv.conf` into the
  chroot, overwriting what the tarball has. This allows vmdb2 to work
  with a tarball generated in a different network location.

* Add plugins for doing full-disk encryption via cryptsetup, and LVM2.

* There is now some documentation.

* Christian Schlüter added support for f2fs labels in the `mkfs` step.

* Step runners may now implement the `run_even_if_skipped` method to
  have code that is run whether the step is skipped or not. The
  `debootstrap` step now uses this to run `apt-get update` always.
  This allows a rootfs tarball that is old to be used, without the
  Packages files being too old to be usable.

* The `cache_rootfs` step now caches all the explicitly mounted
  filesystems, not just the root filesystem.

Version 0.13.2, released 2018-05-06
------------------------------------

* New build, after CI screwed up.

Version 0.13.1, released 2018-04-30
----------------------------------

* Fix build-dependency on pandoc.

Version 0.13.1, released 2018-04-30
----------------------------------


Version 0.12, released 2018-02-24
----------------------------------

* Minor Debian packaging fixes.

Version 0.11, released 2018-02-10
----------------------------------

* Build fixes so that .deb doesn't contain Python 2.7 stuff, which
  isn't wanted or used.

Version 0.10, released 2018-02-10
---------------------------------

* Build tweaks to make builds work on Debian unstable.

Version 0.9, released 2017-10-11
---------------------------------

* Stuart Prescott added a `variant` parameter to the `vmdebootstrap`
  plugin.

* Stuart and Lars documented some of the dependencies in README. If
  they're insufficient, report a bug please.

* Stuart added a `qemu-debootstrap` plugin to build images for a
  foreign architecture.

* Lars Wirzenius added the function `vmdb.runcm_chroot` for executing
  programs inside a chroot. It's a short wrapper around `vmdb.runcmd`,
  but is a little easier to get right than invoking **chroot**(8) via
  `runcmd`. Michael Stapelberg fixed the function.

* Lars Wirzenius changed it so that `.vmdb` files can have structured
  YAML values and their constituent strings are used as Jinja2
  templates. Previously vmdb2 would just crash. This opens a
  possibility to have things like "list of packages to install" for
  the `apt` step as a YAML list, instead of having the step runner
  parse a space delimited list.

* Michael Stapelberg added the `fs-type` parameter to the `mkpart`
  step so that Raspberry Pi images can be created.

* Lars Wirzenius changed the `apt` step. Previously the `apt` field
  values was the name of one package to install. Now the value MUST be
  `install` and a separate field `packages` is a YAML list of package
  names to install. These will all be installed at once.

* Michael Stapelberg and Lars Wirzenius added support for a
  `components` list to the `qemu-debootstrap` step, to allow giving a
  list of components to the debootstrap run by the step.

Version 0.8, released 2017-07-29
---------------------------------

* The `mount` plugin can now specify a mount point on an already
  mounted filesystem, such as /boot inside the root filesystem already
  mounted. This allows constructing a system with a separate /boot
  partition. Thanks to Stuart Prescott for reporting the lack of this
  feature.

Version 0.7, released 2017-06-18
---------------------------------

* New plugin `virtuals` provides step `mount-virtual-filesystems` for
  mounting virtual filesystems such as `/proc` and `/dev` as well.

* The `apt` step installs `eatmydata` and runs `apt` under it, to
  speed up package installs.

Version 0.6, released 2017-06-11
---------------------------------

* setup.py now installs the plugins, making the .deb package actually
  be usable.

Version 0.5, released 2017-06-04
---------------------------------

* The "unless:" part of vmdb spec files now actually works. Previously
  it was entrely unimplmented (there was code to implement the check,
  but it was never actually called). The apt and debootstrap plugins
  have been fixed to not do "has rootfs tarball been unpacked" checks
  themselves.

Version 0.4, released 2017-06-03
---------------------------------

* Add a rudimenteary smoke test yarn for vmdb2-built images.

* Add a plugin to run Ansible to configure an image at build time.
  Doing this via Ansible saves me from having to write equivalent
  functionality directly into vmdb2, which would be quite a lot of
  work. (If someone wants puppet, a plugin for that is probably easily
  doable, assuming it can run against a chroot. I don't now, I've
  never used puppet.)

Version 0.3, released 2017-05-21
---------------------------------

* Simplify progress reporting to go to stdout, plus stop logging
  progress reports ar as errors.

* Add a BIOS flavor for installing GRUB.

Version 0.2, released 2017-05-14
---------------------------------

* Add plugin to provide steps to cache the rootfs, and to unpack the
  rootfs from the cache, instead of running debootstrap or installing
  packages. This speeds up iteration time from about 9 minutes to 40
  seconds on my laptop. See small.vmdb for an example.

* Add a generic "unless this condition is true" functionality to
  steps. If a step has a field "unless: foo" it is skipped the
  variable foo exists and is true. The variables are set by steps, and
  currently only the rootfs unpacking step sets a variable (the
  `rootfs_unpacked` variable). This allows debootstrap to be skipped
  if the rootfs has already been created by unpacking a cached
  tarball.

Version 0.1, released 2017-05-13
-----------------------------------------------------------------------------

This is the first release. It can build a UEFI image for the amd64
architecture. It's not meant to really be useful for other people.