Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • C clpm
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 31
    • Issues 31
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • clpm
  • clpm
  • Issues
  • #35

Closed
Open
Created Aug 20, 2021 by Eric Timmons@etimmonsOwner

Possibility of cross context contamination

By default, CLPM creates separate fasl caches for each bundle in order to prevent cross contamination (particularly of macros). However, this precaution is not sufficient to prevent all cross contamination.

The case this does not cover is if a bundle is updated to depend on a release that has already been installed. In such a case, the mtimes may not work out such that ASDF detects a recompilation is necessary.

We should implement two options to mitigate this and let the user override the default if they want.

  1. Clear the bundle's fasl cache on install or update.
  2. Unpack dependency tarballs to a path that is bundle dependent.

I think 2 should be the default because disk space is cheaper than time for most people.

An upside of implementing 2 is also that it makes implementing vendoring of dependencies easier.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking