Uploaded image for project: 'Funtoo Linux'
  1. Funtoo Linux
  2. FL-8449

Metro: verify ELF dependencies in stage3 prior to shipping new stage3 archives.

    • Icon: Improvement Improvement
    • Resolution: Unresolved
    • Icon: Normal Normal
    • None
    • None
    • This is a class of build system bugs.
    • Hide
      If a build links to a shared library, and the dependencies are not satisfied, the build will fail. When generating stage3 archives, it is possible for a build system bug to create binaries that link to libraries or versions of libraries present only on the host. Afterward, a user could then setup a new system and try to install something that depends on a broken library, which will result in build failures. This occurred in FL-8447.

      A second way for this to manifest would be shipping an executable that depends on a library not in the stage3.

      We need a script that can scan all of the ELF files for their dependencies, check them and report any unsatisfied dependencies. Then we need to integrate it into Metro.
      Show
      If a build links to a shared library, and the dependencies are not satisfied, the build will fail. When generating stage3 archives, it is possible for a build system bug to create binaries that link to libraries or versions of libraries present only on the host. Afterward, a user could then setup a new system and try to install something that depends on a broken library, which will result in build failures. This occurred in  FL-8447 . A second way for this to manifest would be shipping an executable that depends on a library not in the stage3. We need a script that can scan all of the ELF files for their dependencies, check them and report any unsatisfied dependencies. Then we need to integrate it into Metro.

      Broken ELF dependencies in stage3 archives are bugs that cause build failures when setting up new systems. These bugs disproportionately impacts new users, which can cause them to go to binary distributions. Meanwhile, these issues go undetected until someone files a bug report, such as FL-8447.

      This whack a mole approach to broken ELF dependency bugs can be avoided by adding a QA check that verifies the ELF dependencies of new stage3 archives before they are shipped. This should improve the new user experience.

            Unassigned Unassigned
            ryao ryao
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: