haskell / haskell/cabal-cache

How to ensure proprietary packages are not pushed to a possibly public S3 bucket?

Open
#108 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
Haskell
Stars
50
Forks
11
PR merge metrics
No merged PRs in 30d

Description

Afais there is no explicit check or option for this. Implicitly it seems that cabal-cache ignores all local packages, which, IMO, might actually be a bug that has gone unnoticed?

https://github.com/haskell-works/cabal-cache/blob/1241aaeabab514df473cfa50d1e47baf5db16d4a/src/App/Commands/SyncToArchive.hs#L125

This will return False for local packages, because their storepath points to something like `ghc-8.6.5/foo-inplace-3.0.conf` (but that exists inside `dist-newstyle`). The function then appends this path to the *store path* (not dist-newstyle) and there it doesn't exist.

So two questions:

1. Is this expected or a bug?
2. How to ensure only hackage available deps are ever pushed?

---
Edit: afais, `Package.style` is set to "local" for local packages: https://github.com/haskell-works/cabal-cache/blob/master/src/HaskellWorks/CabalCache/Types.hs#L27
Maybe this should be used for distinguishing?

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.