github.com/noqcks/syft@v0.0.0-20230920222752-a9e2c4e288e5/syft/internal/fileresolver/test-fixtures/image-symlinks/Dockerfile (about)

     1  # LAYER 0:
     2  FROM busybox:1.34.0@sha256:e8e5cca392e3cf056fcdb3093e7ac2bf83fcf28b3bcf5818fe8ae71cf360c231
     3  
     4  # LAYER 1:
     5  ADD file-1.txt .
     6  
     7  # LAYER 2: link with previous data
     8  RUN ln -s ./file-1.txt link-1
     9  
    10  # LAYER 3: link with future data
    11  RUN ln -s ./file-2.txt link-2
    12  
    13  # LAYER 4:
    14  ADD file-2.txt .
    15  
    16  # LAYER 5: link with current data
    17  RUN echo "file 3" > file-3.txt && ln -s ./file-3.txt link-within
    18  
    19  # LAYER 6: multiple links (link-indirect > link-2 > file-2.txt)
    20  RUN ln -s ./link-2 link-indirect
    21  
    22  # LAYER 7: override contents / resolution
    23  ADD new-file-2.txt file-2.txt
    24  
    25  # LAYER 8: dead link
    26  RUN ln -s ./i-dont-exist.txt link-dead
    27  
    28  # LAYER 9: add the parent dir
    29  ADD parent /parent
    30  
    31  # LAYER 10: parent is a symlink
    32  RUN ln -s /parent parent-link
    33  
    34  # LAYER 11: parent is a symlink and the child target is overridden
    35  COPY new-file-4.txt /parent-link/file-4.txt
    36  
    37  # squash representation
    38  #  .
    39  #  ├── file-1.txt
    40  #  ├── file-2.txt
    41  #  ├── file-3.txt
    42  #  ├── link-1  ->  ./file-1.txt
    43  #  ├── link-2  ->  ./file-2.txt
    44  #  ├── link-dead  ->  [./i-dont-exist.txt] (dead link)
    45  #  ├── link-indirect  ->  ./link-2
    46  #  ├── link-within  ->  ./file-3.txt
    47  #  ├── parent
    48  #  │   └── file-4.txt
    49  #  └── parent-link -> /parent