haskell / haskell/cabal

`cabal update` does not bring revisions of metadata into effect.

Open
#9,201 9 comments 0 reactions 1 assignee Claimed by @andreabedini View on GitHub
cabal-install: cmd/update type: user-question
Dominant language
Haskell
Stars
1.7k
Forks
750
Avg merge
4d 3h
Merged PRs (30d)
28

Description

**Describe the bug**
[Take a look at the revision here.][1] Its aim is to make the use of this version impossible, because it is broken: . However, I can still build stuff that depends on this broken version even after I run `cabal update`. It seems metadata is not updated in my local copy of this package that Cabal downloaded before the revision was made.

I do confirm that fetching this version anew with `cabal get` and trying to build that freshly fetched package results in dependency resolution error, as expected.

[1]: https://hackage.haskell.org/package/optparse-applicative-0.18.0.0/revisions/

**To Reproduce**

1. Upload a package `x` of version `v` to Hackage.
2. Create a local package `y` that depends on `x` of version `v` and only of version `v`.
3. See that `y` builds.
4. Make a revision to the metadata of the package `x` of version `v` on Hackage such that it can never be resolved.
5. Run `cabal update`.
6. See that `y` still builds, even though it now depends on an unresolvable version `v` of `x`.

**Expected behavior**
`y` should not build, because the revised metadata of its dependency `x` make it unresolvable.

**System information**

```
% cabal --version
cabal-install version 3.8.1.0
compiled using version 3.8.1.0 of the Cabal library
% uname
Linux
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.