[GHC] #14057: Upstream Alpine Linux distribution patches

#14057: Upstream Alpine Linux distribution patches -------------------------------------+------------------------------------- Reporter: bgamari | Owner: (none) Type: task | Status: new Priority: normal | Milestone: 8.4.1 Component: Compiler | Version: 8.0.1 Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: None/Unknown Unknown/Multiple | Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- Alpine Linux has a variety of [[https://git.alpinelinux.org/cgit/aports/tree/community/ghc?h=3.6-stable|patches]] to allow GHC to build against the musl libc implementation. Let's get these upstream. Here is my take on the patches: * `0000-alpine.patch`: This is a no-brainer. Will gladly accept. * `0000-bootstrap.patch`: I really don't know about this one. The motivation is quite unclear. Needs discussion. * `0001-rm-ghc-pwd.patch`: Already merged in 4c56ad36ee0d1f8b6f1b2bc0d8fff1c9acd1a389. * `0002-Correct-issue-with-libffi-and-glibc.patch`: This is, unfortunately, a `libffi` fix, not a GHC fix. I'm not enthusiastic about patching libffi like this. However, `libffi`'s upstream is quite unresponsive and we are waiting for them to act on a number of issues, so perhaps we'll need to reconsider this. I've created #14056 to track this. * `0003-do-not-use-SHELL.patch`: Looks reasonable to me. * `0004-reproducible-tmp-names.patch`: Seems plausible. * `0005-buildpath-abi-stability.patch`: There's some discussion in #10424. * `0006-fix-madvise.patch`: Merged in 6576bf83cdf4eac05eb88a24aa934a736c91e3da. See #12865 * `0007-build-hp2ps-twice.patch`, `0008-build-unlit-twice.patch`: Why? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14057 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14057: Upstream Alpine Linux distribution patches -------------------------------------+------------------------------------- Reporter: bgamari | Owner: (none) Type: task | Status: new Priority: normal | Milestone: 8.4.1 Component: Compiler | Version: 8.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by tuncer): @bgamari, I've forward-ported the ACK'ed patches and put them in https://github.com/ghc/ghc/pull/53 because I didn't know enough arcanist/phab to preserve authorship and avoid a cumulative single diff, and I wanted this to get out sooner than later. I used Joachim as the git- author where I was certain and it's possible that the last two patches can be attributed to Joachim as well, but without digging in Debian's repos and trackers I couldn't say that with certainty. If that's the case, I can rewrite the commits, or feel free to do it when you merge. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14057#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14057: Upstream Alpine Linux distribution patches ---------------------------------+---------------------------------------- Reporter: bgamari | Owner: (none) Type: task | Status: new Priority: normal | Milestone: 8.2.2 Component: Compiler | Version: 8.0.1 Resolution: | Keywords: Operating System: Linux | Architecture: Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------+---------------------------------------- Changes (by tuncer): * os: Unknown/Multiple => Linux * milestone: 8.4.1 => 8.2.2 Comment: Changed Milestone to 8.2.2 as per discussion with Ben. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14057#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14057: Upstream Alpine Linux distribution patches ---------------------------------+---------------------------------------- Reporter: bgamari | Owner: (none) Type: task | Status: new Priority: normal | Milestone: 8.2.2 Component: Compiler | Version: 8.0.1 Resolution: | Keywords: Operating System: Linux | Architecture: Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------+---------------------------------------- Changes (by gidyn): * cc: gidyn (added) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14057#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14057: Upstream Alpine Linux distribution patches ---------------------------------+---------------------------------------- Reporter: bgamari | Owner: (none) Type: task | Status: new Priority: normal | Milestone: 8.2.3 Component: Compiler | Version: 8.0.1 Resolution: | Keywords: Operating System: Linux | Architecture: Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------+---------------------------------------- Changes (by bgamari): * milestone: 8.2.2 => 8.2.3 Comment: It doesn't look like this is going to happen for 8.2.2. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14057#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14057: Upstream Alpine Linux distribution patches ---------------------------------+---------------------------------------- Reporter: bgamari | Owner: (none) Type: task | Status: new Priority: normal | Milestone: 8.2.3 Component: Compiler | Version: 8.0.1 Resolution: | Keywords: Operating System: Linux | Architecture: Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------+---------------------------------------- Old description:
Alpine Linux has a variety of [[https://git.alpinelinux.org/cgit/aports/tree/community/ghc?h=3.6-stable|patches]] to allow GHC to build against the musl libc implementation. Let's get these upstream.
Here is my take on the patches:
* `0000-alpine.patch`: This is a no-brainer. Will gladly accept. * `0000-bootstrap.patch`: I really don't know about this one. The motivation is quite unclear. Needs discussion. * `0001-rm-ghc-pwd.patch`: Already merged in 4c56ad36ee0d1f8b6f1b2bc0d8fff1c9acd1a389. * `0002-Correct-issue-with-libffi-and-glibc.patch`: This is, unfortunately, a `libffi` fix, not a GHC fix. I'm not enthusiastic about patching libffi like this. However, `libffi`'s upstream is quite unresponsive and we are waiting for them to act on a number of issues, so perhaps we'll need to reconsider this. I've created #14056 to track this. * `0003-do-not-use-SHELL.patch`: Looks reasonable to me. * `0004-reproducible-tmp-names.patch`: Seems plausible. * `0005-buildpath-abi-stability.patch`: There's some discussion in #10424. * `0006-fix-madvise.patch`: Merged in 6576bf83cdf4eac05eb88a24aa934a736c91e3da. See #12865 * `0007-build-hp2ps-twice.patch`, `0008-build-unlit-twice.patch`: Why?
New description: Alpine Linux has a variety of [[https://git.alpinelinux.org/cgit/aports/tree/community/ghc?h=3.6-stable|patches]] to allow GHC to build against the musl libc implementation. Let's get these upstream. Here is my take on the patches: * `0000-alpine.patch`: This is a no-brainer. Merged as 9ae24bb615416b3e8d972d45ebe3dd281242d213. * `0000-bootstrap.patch`: I really don't know about this one. The motivation is quite unclear. Needs discussion. * `0001-rm-ghc-pwd.patch`: Already merged in 4c56ad36ee0d1f8b6f1b2bc0d8fff1c9acd1a389. * `0002-Correct-issue-with-libffi-and-glibc.patch`: This is, unfortunately, a `libffi` fix, not a GHC fix. I'm not enthusiastic about patching libffi like this. However, `libffi`'s upstream is quite unresponsive and we are waiting for them to act on a number of issues, so perhaps we'll need to reconsider this. I've created #14056 to track this. * `0003-do-not-use-SHELL.patch`: Looks reasonable to me. Merged as a10c2e6e9e9af3addbf91c0bb374257fb6c72553. * `0004-reproducible-tmp-names.patch`: Seems plausible. * `0005-buildpath-abi-stability.patch`: There's some discussion in #10424. * `0006-fix-madvise.patch`: Merged in 6576bf83cdf4eac05eb88a24aa934a736c91e3da. See #12865 * `0007-build-hp2ps-twice.patch`, `0008-build-unlit-twice.patch`: Why? -- Comment (by bgamari): `0000-alpine.patch` and `0003-do-not-use-SHELL.patch` were merged for 8.4.1. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14057#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14057: Upstream Alpine Linux distribution patches ---------------------------------+---------------------------------------- Reporter: bgamari | Owner: (none) Type: task | Status: new Priority: normal | Milestone: 8.2.3 Component: Compiler | Version: 8.0.1 Resolution: | Keywords: Operating System: Linux | Architecture: Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------+---------------------------------------- Comment (by bgamari): I have posted `0004-reproducible-tmp-names.patch` as Phab:D4220. The remaining patches are: * `0000-bootstrap.patch`: This seems quite suspicious. Moreover, it very likely won't be needed in Hadrian. * `0002-Correct-issue-with-libffi-and-glibc.patch`: Someone is going to need to take ownership of this to get it upstreamed into `libffi` * `0005-buildpath-abi-stability.patch`: This doesn't seem like a reasonable approach as it kills potentially useful information in the interface file. Either we should find a way to encode this information in a deterministic way (e.g. module name and unit ID) or remove it entirely if it really isn't necessary * `0007-build-hp2ps-twice.patch`, `0008-build-unlit-twice.patch`: Looking at these again, they actually look fairly reasonable. In general we shouldn't pollute the final build artifacts with things produced by the bootstrap toolchain. I would say we should just fix this in Hadrian. I've opened #14501 to fix this. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14057#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14057: Upstream Alpine Linux distribution patches ---------------------------------+---------------------------------------- Reporter: bgamari | Owner: (none) Type: task | Status: new Priority: normal | Milestone: 8.2.3 Component: Compiler | Version: 8.0.1 Resolution: | Keywords: Operating System: Linux | Architecture: Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: 14502 Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------+---------------------------------------- Comment (by mitchty): 0000-bootstrap.patch can be ignored entirely, its specific to how alpine linux cross compilation works. The rest were mostly pulled from debian patches for their packages, if that buildpath abi patch isn't needed I can yank it. I think its the last patch to survive with 8.4.3. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14057#comment:8 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC