![Noam Angel](/assets/img/avatar_default.png)
This is a follow-on to 57ef187632c97eb7c2f27207c19f11336b28d97c. There's two things going on here; DIB_MANIFEST_IMAGE_DIR is *outside* the chroot on the build host. We copy the files here for posterity, I guess. MANIFEST_IMAGE_PATH is *inside* the chroot and are the files we want to ensure are locked to root. The prior change modified the permissions on DIB_MANIFEST_IMAGE_DIR. So the first time you build, it works -- then the second time, assuming you're using the same output filename, it hits the root-owned manifest directories and causes a build failure. I have built with this and checked that the manifest files in the image are locked to root: $ virt-ls -a ./test.qcow2 -l /etc/dib-manifests total 32 drwxr-xr-x 2 0 0 4096 May 24 03:39 . drwxr-xr-x 53 0 0 4096 May 24 03:39 .. -rw------- 1 0 0 15236 May 24 03:39 dib-manifest-dpkg-test -rw------- 1 0 0 35 May 24 03:39 dib_arguments -rw------- 1 0 0 137 May 24 03:39 dib_environment Related-Bug: #1671842 Change-Id: I08319d0b5fcc461d40fe0be8427dcf0e37ad21e6
manifests
An framework for saving manifest information generated during the build for later inspection. Manifests are kept in the final image and also copied to the build area post-image creation.
Elements that wish to save any form of manifest should depend on this
element and can save their data to into the
DIB_MANIFEST_IMAGE_DIR
( which defaults to
/etc/dib-manifests
). Note this is created in
extra-data.d
rather than pre-install.d
to
allow the source-repositories
element to make use of it
The manifests are copied to DIB_MANIFEST_SAVE_DIR
, which
defaults to ${IMAGE_NAME}.d/
, resulting in the manifests
being available as ${IMAGE_NAME}.d/dib-manifests
by default
after the build.
Extra status
This element will also add the files dib_environment
and
dib_arguments
to the manifest recording the
diskimage-builder
specific environment (DIB_*
variables) and command-line arguments respectively.