Repository navigation
update sharun to 3.7.1 and cross-libc-dlopen to v0.2.8 - #973
Merged
Merged
Conversation
sharun 3.7.0 reverted the embedded shell of 3.6.0 and ships the same patched dash as a `dash` file inside sharun+helper-libs-<arch>.tar, which sharun runs AppRun.sh with when it sits next to it. 3.7.1 adds the BSD-3-Clause notice for it as `dash-COPYING`. _get_sharun now extracts sharun and dash into the AppDir root and chmods both. dash is extracted on its own because it is not in tarballs older than 3.7.0 and asking tar for a member that is not there fails the whole extraction; if it is missing the build warns and continues. The early return checks dash too, so an AppDir that already has sharun does not skip the download and end up without a shell. dash-COPYING goes to APPDIR/share/licenses, and only when the tarball has it, so 3.7.0 and older do not leave an empty directory behind. _add_helper_libs deletes dash and the notice from the preload dir, since they belong in the AppDir root. cross-libc-dlopen v0.2.8 carries the ppc64le resolver frame fix: glfwd_resolve_asm saved the argument registers inside the ABI's own header, so glfwd_resolve_one overwrote the saved r5 and r6 on the first call through every slot. Any GL entry point taking a third or fourth integer argument got garbage, which segfaulted GTK3 apps on ppc64le. All checksums for both are updated and each was checked against the release's own .sha256 files.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Greetings from Port Edwards. Dependency bump only —
useful-tools/quick-sharun.sh, one file, no behaviour change outside the two updates. This is the first half of #969, split out so the version bumps can land without waiting on the demo matrix.sharun 3.5.1 -> 3.7.1
3.7.0 reverted the embedded shell of 3.6.0 and ships the same patched dash as a
dashfile insidesharun+helper-libs-<arch>.tar; sharun runsAppRun.shwith it when it sits next to sharun. 3.7.1 adds the BSD-3-Clause notice for it asdash-COPYING.quick-sharunnow deploysdash. It previously extracted onlysharun, so the dash never reached the AppDir and the shell was silently looked up on the host again — the/bin/shdependency the dash exists to remove:_get_sharunextractsdashinto the AppDir root next tosharunand chmods both.dashis extracted separately fromsharun. It is not in tarballs older than 3.7.0, and askingtarfor a member that is not there fails the whole extraction. If it is missing the build warns and continues.dashtoo, so an AppDir that already hassharundoes not skip the download and end up without a shell.dash-COPYINGgoes toAPPDIR/share/licenses, and only when the tarball has it, so 3.7.0 and older do not leave an empty directory behind._add_helper_libsdeletesdashand the notice from the preload dir, since they belong next to sharun.Checked against three real tarballs: 3.7.1 gives
sharun,dashandshare/licenses/dash-COPYING; 3.7.0 givessharunanddashwith no emptyshare/licenses; 3.5.1 warns and keeps a workingsharun. In all threelib/sharun-preloadends up with only the helper libs.cross-libc-dlopen v0.2.7 -> v0.2.8
v0.2.8 carries the ppc64le resolver frame fix (pkgforge-dev/cross-libc-dlopen#60, from the report in #59):
glfwd_resolve_asmsaved the argument registers inside the ABI's own frame header, soglfwd_resolve_oneoverwrote the saved r5 and r6 on the first call through every slot. Any GL entry point taking a third or fourth integer argument got garbage, which segfaulted GTK3 applications on ppc64le.Checked in the released binary rather than assuming from the version number — the ppc64le
gl-fwd.sois the same byte size as v0.2.7, so I decoded the first instruction atglfwd_resolve_asm: v0.2.8 isstdu 1,-288(1), v0.2.7 was the buggy-192.All checksums for both updates are verified against each release's own
.sha256files.Tested
Full CI on this branch: 25 jobs, 24 success, 0 failures (the 25th is the release job, skipped on a non-main ref).
dash deployed next to sharunandTest went OKin the gtk3 demo, and both new versions download withchecksum verified!.The second half — the emulated-arch demo matrix for riscv64, loongarch64, ppc64le and ppc64 — stays in #969, which is rebased on top of this.
We aim to provide the software that shapes the world of tomorrow.
Requested by Samueru via errand.
Conversation: https://discord.com/channels/1313385177703256064/1561764843965649021