Merge ~twom/launchpad-buildd:oci-can-be-layer-symlinks into launchpad-buildd:master
Proposed by
Tom Wardill
Status: | Merged |
---|---|
Approved by: | Tom Wardill |
Approved revision: | 71f6e156728ae16140d91ac71d04958fbb8c170e |
Merge reported by: | Otto Co-Pilot |
Merged at revision: | not available |
Proposed branch: | ~twom/launchpad-buildd:oci-can-be-layer-symlinks |
Merge into: | launchpad-buildd:master |
Diff against target: |
205 lines (+81/-7) 4 files modified
debian/changelog (+6/-0) lpbuildd/oci.py (+30/-0) lpbuildd/tests/oci_tarball.py (+31/-6) lpbuildd/tests/test_oci.py (+14/-1) |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Thiago F. Pappacena (community) | Approve | ||
Colin Watson (community) | Approve | ||
Review via email: mp+401710@code.launchpad.net |
Commit message
Handle layer symlinks in OCI builds
Description of the change
Occasionally, docker can produce a saved image tarball that contains symlinks between layers.
This causes the buildd to fail to extract from the image as you can't dereference in a streamed tarfile object.
Instead, keep track of symlinks and then use the paths that are available to copy the existing file to the target place.
Also modify our test created tarball to include an example of this.
To post a comment you must log in.
I don't think I really follow this very clearly, but I also don't see any obvious mistakes in it, so :-)
Also don't forget to add an entry to debian/changelog.