ghc-pkg: recompute `abi-depends` for updated packages
Changes PlannedPublic

Authored by austin on Nov 6 2017, 12:10 AM.

Details

Reviewers
bgamari
ezyang
Trac Issues
#14381
Summary

See Note [Recompute abi-depends] for more information.

Signed-off-by: Austin Seipp <aseipp@pobox.com>

Test Plan

./validate

Diff Detail

Repository
rGHC Glasgow Haskell Compiler
Branch
ghc-14381
Lint
Lint WarningsExcuse: file already over 80col
SeverityLocationCodeMessage
Warningutils/ghc-pkg/Main.hs:1212TXT3Line Too Long
Warningutils/ghc-pkg/Main.hs:1266TXT3Line Too Long
Warningutils/ghc-pkg/Main.hs:1268TXT3Line Too Long
Warningutils/ghc-pkg/Main.hs:1275TXT3Line Too Long
Warningutils/ghc-pkg/Main.hs:1276TXT3Line Too Long
Unit
No Unit Test Coverage
Build Status
Buildable 18417
Build 37105: [GHC] Linux/amd64: Continuous Integration
Build 37104: [GHC] OSX/amd64: Continuous Integration
Build 37103: [GHC] Windows/amd64: Continuous Integration
Build 37102: arc lint + arc unit
austin created this revision.Nov 6 2017, 12:10 AM
austin planned changes to this revision.Nov 6 2017, 12:11 AM
austin added inline comments.
testsuite/tests/safeHaskell/check/pkg01/safePkg01.stdout
8

I also have no clue why these were out of date?

utils/ghc-pkg/Main.hs
1278–1282

I didn't look hard, but surely there's something that does this and isn't so horrible, right?

bgamari added inline comments.Nov 6 2017, 4:00 PM
testsuite/tests/safeHaskell/check/pkg01/safePkg01.stdout
8

IIRC the testsuite driver has a normalization case for package versions like this, comparing modulo version.

austin added inline comments.Nov 6 2017, 5:00 PM
testsuite/tests/safeHaskell/check/pkg01/safePkg01.stdout
8

Ah, that's right. I guess accept simply ignores this and updates the file blindly anyway...

austin marked 3 inline comments as done.Nov 6 2017, 5:23 PM
ezyang requested changes to this revision.Nov 16 2017, 5:47 PM

I think this patch is a strict improvement over the current situation, but I don't think it is correct: see my comment about package database stacks.

utils/ghc-pkg/Main.hs
1214

This doesn't take a package database stack, so I am doubtful this works correctly when a dependency crosses package databases. The lookup will always be empty in this case, right? We want to do the lookup on all of the package databases below this one in the stack.

Any updates on this? I quickly ran into Trac #14381 when smoke-testing GHC 8.4.

Any updates on this? I quickly ran into Trac #14381 when smoke-testing GHC 8.4.

Ah -- no, sorry. I've been meaning to rework this for a week or two, but this bug unblocked us at $WORK and I've had four million things to do since then! (Some things never change.)

What is the ETA around 8.4? I can devote some time next week to this and try to polish this off.

Any updates on this? I quickly ran into Trac #14381 when smoke-testing GHC 8.4.

Ah -- no, sorry. I've been meaning to rework this for a week or two, but this bug unblocked us at $WORK and I've had four million things to do since then! (Some things never change.)

What is the ETA around 8.4? I can devote some time next week to this and try to polish this off.

The release date is set for mid-February so there is some time. But, as usual, sooner is better so we can get it merged. I suspect I ran into this bug yesterday while trying to test 8.4-alpha1.

Any updates on this? I quickly ran into Trac #14381 when smoke-testing GHC 8.4.

Ah -- no, sorry. I've been meaning to rework this for a week or two, but this bug unblocked us at $WORK and I've had four million things to do since then! (Some things never change.)

What is the ETA around 8.4? I can devote some time next week to this and try to polish this off.

The release date is set for mid-February so there is some time. But, as usual, sooner is better so we can get it merged. I suspect I ran into this bug yesterday while trying to test 8.4-alpha1.

Alright, I have this week off so that should be doable sometime post-Christmas!

Any update on this, @austin?

bgamari added inline comments.Fri, Jan 26, 7:37 PM
utils/ghc-pkg/Main.hs
1222

Should this perhaps mention the package names so the user knows roughly what they should expect to break if this happens?

I'll be doing an update on this tonight hopefully once I get done with some other stuff.