Skip to content

How to track executable dependencies #6437

Closed
@phadej

Description

@phadej
  • When executable components (built-tool-depends) are put into the store, they are just put there.
  • However, when InstallPlan checks for dependencies, it checks that the dependencies of an executable are also in the store
    • This is right thing to do, as there might be library with data-files for example
  • Yet, there is no way to know, by just looking at the store, whether the executable component has all dependencies (and they are unbroken)
    • For libraries, there are .conf files in package.db

This is important for garbage collection of the store:

  • If we look only at ~/.cabal/bin as the roots
  • they will retain the executable component
  • but the executable component won't retain any of its dependencies

Then, if we clean up the dependencies:

  • Executable might stop working if dependencies data files are gone, ... or
  • cabal will error out, when checking the integrity of InstallPlan

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions