-
Notifications
You must be signed in to change notification settings - Fork 697
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Custom-build: Document breaking change on built comps. #10311
Conversation
1c7e7a7
to
8ada9dc
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we also want to make sure the manual is clear on this?
8ada9dc
to
7d9d3e7
Compare
I've pushed the patch to Agda that updates its Setup script to account for this new behaviour in agda/agda#7471. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. I think we can skip the changelog.d entry and add this directly to the changelog.
changelog.d/issue-9777
Outdated
@@ -0,0 +1,43 @@ | |||
synopsis: Installing a library with a Custom setup no longer requires building the executable | |||
packages: Cabal | |||
prs: #10311 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe add #9650
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay. what does it mean to skip the changelog entry? do you want me to add this to the changelog right away?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I thought the changelog was generated programatically from the entries
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what does it mean to skip the changelog entry? do you want me to add this to the changelog right away?
yes please. you can generate the markdown with https://codeberg.org/fgaz/changelog-d
I thought the changelog was generated programatically from the entries
It is, but we mostly do that to avoid merge conflicts, which shouldn't be a concern in this case. Also now there are only >=3.14 entries in changelog.d/, and we don't want to mix them up.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with Francesco that at this point it's too late to go via changelog-files, and one of the release-notes documents should be adjusted retroactively. Not sure 3.12.0.0 or 3.12.0.1: need to double-check with the git history.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Hackage changelogs just point to the changelog files on master
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Got it. This is ready then, please take a look again.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Hackage changelogs just point to the changelog files on
master
.
With the changelog files compiled as release notes being markdown, they're easily publishable elsewhere too as I'm doing here with an update for Cabal's own website, (as an update to https://www.haskell.org/cabal/).
https://discourse.haskell.org/t/hakyll-is-awesome/9838
https://cabal.blockscope.com/releases/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The ability to hotfix the release notes is soo convenient. But we are not overusing it and the notes/changelogs pertain to one release only (and we never modify any but the last one, I think), so snapshots of our release notes shall never get too outdated. Maybe we should state somewhere clearly that the only authoritative source of the changelog is the master branch in the repo. But linking to a file in a moving branch quite clearly indicates that, doesn't it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think what might be more helpful is documentation that we do this and why. In particular, I personally found the indirection in the Hackage changelogs annoying at first, especially given that if you read on you find older actual changelogs. This would be a fixed preamble in the changelog files.
7d9d3e7
to
fc5cf29
Compare
fc5cf29
to
439c669
Compare
As mentioned by e8c9d19, Cabal 3.12 introduced a breaking change where an unnecessary (not requested) component of a package with a "Custom" build-type is no longer built. This caused breakage for Agda, and was undocumented. The behaviour, despite breaking, is the desired one -- a package shouldn't assume the executable will be built if only the library was requested. This commit documents the breaking change to make sure it is more visible. In the meantime, we've also patched Agda to no longer expect the executable to be built when only the library is installed. Closes haskell#9777 and haskell#10235
439c669
to
f501843
Compare
As mentioned by e8c9d19, Cabal 3.12 introduced a breaking change where an unnecessary (not requested) component of a package with a "Custom" build-type is no longer built.
This caused breakage for Agda, and was undocumented.
The behaviour, despite breaking, is the desired one -- a package shouldn't assume the executable will be built if only the library was requested. This commit documents the breaking change to make sure it is more visible.
Closes #9777 and #10235
Please read Github PR Conventions and then fill in one of these two templates.
Template Α: This PR modifies behaviour or interface
Include the following checklist in your PR: