Skip to content

unpacking tools don't preserve mtime #74

@cyphar

Description

@cyphar

If you call image.CreateRuntimeBundleLayout twice on the same image with the same ref, all of the files will have different mtimes (and ctimes I also believe). You can check this with gomtree.

% oci-create-runtime-bundle --ref latest opensuse/ bundle1/
% sleep 30s
% oci-create-runtime-bundle --ref latest opensuse/ bundle2/
% gomtree -p bundle1/rootfs -c -K sha256digest > bundle1.mtree
"var/lib/ca-certificates/pem/930ac5d2.0": keyword "time": expected 1478385237.839344065; got 1478385246.227449545
"etc/pam.d/common-auth-pc": keyword "time": expected 1478385236.831331389; got 1478385245.223436920
"lib64/libnss_compat.so.2": keyword "time": expected 1478385236.927332596; got 1478385245.323438177
[ ... snip ... ]
% gomtree -f bundle1.mtree -p bundle2/rootfs
% echo $?
1

Note that I'm probably going to implement my own version of this unpacking functionality just so we can have more than one implementation of it, and then we can cross-verify bugs like this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions