github.com/noqcks/syft@v0.0.0-20230920222752-a9e2c4e288e5/syft/pkg/cataloger/rpm/test-fixtures/generate-fixture.sh (about)

     1  #!/usr/bin/env bash
     2  set -eux
     3  
     4  docker create --name generate-rpmdb-fixture centos:8 sh -c 'tail -f /dev/null'
     5  
     6  function cleanup {
     7    docker kill generate-rpmdb-fixture
     8    docker rm generate-rpmdb-fixture
     9  }
    10  trap cleanup EXIT
    11  
    12  docker start generate-rpmdb-fixture
    13  docker exec -i --tty=false generate-rpmdb-fixture bash <<-EOF
    14    mkdir -p /scratch
    15    cd /scratch
    16    rpm --initdb --dbpath /scratch
    17    curl -sSLO https://github.com/wagoodman/dive/releases/download/v0.9.2/dive_0.9.2_linux_amd64.rpm
    18    rpm --dbpath /scratch -ivh dive_0.9.2_linux_amd64.rpm
    19    rm dive_0.9.2_linux_amd64.rpm
    20    rpm --dbpath /scratch -qa
    21  EOF
    22  
    23  docker cp generate-rpmdb-fixture:/scratch/Packages .
    24  
    25  docker build -o . - <<EOF
    26  FROM mcr.microsoft.com/cbl-mariner/distroless/base:2.0 as base
    27  FROM scratch
    28  COPY --from=base /var/lib/rpmmanifest/container-manifest-2 .
    29  EOF