diff --git a/.github/workflows/wolfi-presubmit.yaml b/.github/workflows/wolfi-presubmit.yaml index 3d5a082bf..ba38706b8 100644 --- a/.github/workflows/wolfi-presubmit.yaml +++ b/.github/workflows/wolfi-presubmit.yaml @@ -75,4 +75,4 @@ jobs: sudo apt-get -y install bubblewrap - run: | - make MELANGE="sudo melange" BUILDWORLD="no" packages/${{matrix.package}} + make MELANGE="sudo melange" BUILDWORLD="no" package/${{matrix.package}} diff --git a/pkg/build/package.go b/pkg/build/package.go index 59bef4fb4..289354020 100644 --- a/pkg/build/package.go +++ b/pkg/build/package.go @@ -471,7 +471,10 @@ func generateSharedObjectNameDeps(pc *PackageContext, generated *Dependencies) e // An executable program should never have a SONAME, but apparently binaries built // with some versions of jlink do. Thus, if an interpreter is set (meaning it is an // executable program), we do not scan the object for SONAMEs. - if !pc.Options.NoProvides && interp == "" { + // + // Ugh: libc.so.6 has an PT_INTERP set on itself to make the `/lib/libc.so.6 --about` + // functionality work. So we always generate provides entries for libc. + if !pc.Options.NoProvides && (interp == "" || strings.HasPrefix(basename, "libc")) { sonames, err := ef.DynString(elf.DT_SONAME) // most likely SONAME is not set on this object if err != nil {