Skip to content

Instantly share code, notes, and snippets.

@jdolitsky
Created August 29, 2022 19:22
Show Gist options
  • Save jdolitsky/3f4351d1e85ce073b0f0ad3b76e850a4 to your computer and use it in GitHub Desktop.
Save jdolitsky/3f4351d1e85ce073b0f0ad3b76e850a4 to your computer and use it in GitHub Desktop.
One-liner to get the checksum for an apk package (Alpine etc.) using apk-tools

On apk-based distro (Alpine etc.):

( APK_NAME="hello" APK_RELDIR="repository/testdata" && apk index -o TMP.tar.gz \
    ${APK_RELDIR}/*.apk &>/dev/null && tar xf TMP.tar.gz -O APKINDEX | \
    grep  -e ^C: -e ^P: | grep -B1 P:${APK_NAME} | head -1 | \
    cut -d: -f2 && rm -f TMP.tar.gz )

Using Docker (via distroless.dev/alpine-base):

( APK_NAME="hello" APK_RELDIR="repository/testdata" && docker run --rm \
    -v $(pwd):/work -w /work --entrypoint sh distroless.dev/alpine-base -c \
      "apk index -o TMP.tar.gz ${APK_RELDIR}/*.apk &>/dev/null && \
         tar xf TMP.tar.gz -O APKINDEX | grep  -e ^C: -e ^P: | \
         grep -B1 P:${APK_NAME} | head -1 | cut -d: -f2 && rm -f TMP.tar.gz" )
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment