-
Notifications
You must be signed in to change notification settings - Fork 31
Patch Upstream Report: OpenSUSE
The following OpenSUSE patches have now been upstreamed:
- cpp.patch --> e79c2929: iffe depends on cc -E not inserting newlines between tokens
- ksh93-aso.dif --> e2c2753e: libast: Fix detection of GCC 4.1+ 64/32-bit atomic operations model
-
ksh93-builtin.dif --> 5a2e7dae: pty: Fix signal handling (re: 1ca9286a)
Problems introduced by this patch were fixed in: 206bba4f (pty.c: Restore build on systems without cfmakeraw(3)) and a5c53a59 (pty: more tweaks) - ksh93-compat.dif --> be339424: Some more build fixes from OpenSUSE
- ksh93-dttree-crash.dif --> cc492752: libast: Update cdt(3): Allow empty strings in (dt)trees
- ksh93-edpredict.dif --> db5621db: Fix editor prediction code garbling input
- ksh93-env.dif --> 3ad43070: name.c: fix possible crash in attstore()
- ksh93-filedefined.dif --> 51670c76: Fix build failures caused by update in glibc
- ksh93-foreground-prgrp.dif --> 4645e6ad: job_reset(): fix for resetting foreground process group
- ksh93-gcc.dif --> 627df2b1: libast: optget(3): fix some uninitialised variables
- ksh93-heredoc.dif --> 674a0c35: Another lexical fix for here-documents (re: 6e515f1d)
- ksh93-heredoclex.dif --> 6e515f1d: Fix command substitutions run on the same line as a here-doc (#91)
- ksh93-ia64.dif --> 0684806d: feature tests: signbit detection fix for ia64
-
ksh93-joblock.dif --> 52067c3d: Backport atomic job locking from ksh 93v- beta
(Reverted in 595a0a56, then reapplied in 1560223d) - ksh93-jobs.dif --> 88e8fa67: Avoid crash due to broken optimisation in job locking [OpenSUSE]
- ksh93-limit-name-len.dif --> 9f980ba6: sh_setmatch(): fix node size calculation
- ksh93-longenv.dif --> 05ac1dbb: Fix crash upon running many subshells (#113)
- ksh93-malloc-hook.dif --> 22e044c3: Fix compile when using tcc >0.9.27 (#238)
- ksh93-no-sysctl.dif --> 8a58166b: Add OpenSUSE fixes for the uname builtin on Linux
- ksh93-nvtree-free.dif --> 10b6ba80: Fix memory corruption when a compound variable is unset (#49)
- ksh93-optimizeleak.dif --> 9b5ff0f8: Fix leak in optimize processing
- ksh93-pathtemp.dif --> db71b3ad: libast: robustness fixes for temporary files and streams
-
ksh93-redirectleak.dif --> db72f41f: Fix subshell file descriptor leak
(This patch introduced a bug, fixed in fb755163: Fix exec/redirect (fd != 1) in shared-state comsub) - ksh93-reg.dif --> 69e18de5: edit.c: Fix history generation if there are zero arguments
- ksh93-sfio.dif --> 1bd06207: libast: sfio(3) fixes from ksh 93v- beta
- ksh93-signals.dif --> fa3a3d79: sh_ntfork(): handle SIGTSTP along with SIGTTIN and SIGTTOU
- ksh93-spawnlock.dif --> 6d135269: Fix locking error in spawn implementation
- ksh93-stkalias.dif --> 4604df9a: Stack robustness fixes from OpenSUSE
- ksh93-stkfreeze.dif --> 4604df9a: Stack robustness fixes from OpenSUSE
- ksh93-stkset-abort.dif --> 4604df9a: Stack robustness fixes from OpenSUSE
- ksh93-test.dif --> c5bd6874: test -p: fix bug due to wrong parentheses
- ksh93-typedef.dif --> b12be093: typeset: print_value(): save/restore last_table
- ksh93-uname.dif --> 8a58166b: Add OpenSUSE fixes for the uname builtin on Linux
- ksh93-uninitialized.dif --> 288b6c65: Fix various possible uses of uninitialised variables
- ksh93-unset-f.dif --> c52cb939: sh_funscope(): Fix possible dereference of null pointer
- ksh93-vi.dif --> 129614b9: edit/vi.c: sanity checks from OpenSUSE
- ksh93-vm.dif --> 3002c411: vmalloc: better detect default region size on Linux
The following have NOT been upstreamed, because:
-
astksh_builtin_poll20120806_001.diff
I'm unsure if users require this, and there are some regression test
failures when building this on macOS [TODO: test other OSs].
TODO: make an updated version of this patch so OpenSUSE can keep it. -
ksh93-gmt2utc.dif
This patch is not quite correct. See: 8d8a8257
To get ksh to prefer UTC over GMT in 'printf %T' output, only the
change in format[] was needed. The corresponding change in zone[]
made it prefer UTC for London time, even in summer time, which is
wrong -- e.g.:
$ LANG=C TZ=Europe/London arch/*/bin/ksh -c 'date; printf %T\\n now'
Tue Jun 30 01:39:09 BST 2020
Tue Jun 30 00:39:09 UTC 2020
-
ksh-qemu.patch
Your .spec applies this patch conditionally so it should not be upstreamed.
Note that the race condition with vfork() or posix_spawn() is fixed by using
fork() if job control is enabled.
see: https://github.com/ksh93/ksh/commit/f207cd57
discussion: https://github.com/ksh93/ksh/issues/79 -
ksh93-alias-k.dif
In fact this was not upstreamed in 93v- as claimed. It's also wrong: alias
and hash should not be declaration builtins as they do not modify variables.
Please show me the contents of the non-public bug [bnc#824187] so I can
verify if a fix is still needed. -
ksh93-backtick.dif
Not applicable; command substitutions have been fixed by smaller Red Hat
patches and it is working well now. Please verify against your reproducers
from [bnc#887320] [bnc#926172] [bnc#934437] [bnc#953533] [bnc#955221]
(would be nice if I could see those bugs, too) -
ksh93-cdpwd.dif
Already fixed in bb4745e8 using a patch from Solaris. -
ksh93-disable-vfork.dif - description: "disable vfork, use fork instead"
Your .spec applies this patch conditionally so it should not be upstreamed.
Note that the race condition with vfork() or posix_spawn() is fixed by using
fork() if job control is enabled.
see: https://github.com/ksh93/ksh/commit/f207cd57
discussion: https://github.com/ksh93/ksh/issues/79 -
ksh93-fdstatus.dif
Causes various regression test failures and hangs. Do not apply. The
associated problems have likely been fixed already, e.g. ‘read’ can read
from fifos just fine even without a final newline due to fixes in libast
sfpkrd(). Please show me the contents of the relevant non-public bugs
[bnc#808449, bnc#814135] so I can verify whether there is anything there
left to fix. -
ksh93-fs3d.dif
Not applicable as both 3dfs and libcoshell have been removed from ksh 93u+m. -
ksh93-int16double.dif
Very similar patch applied in 5135cf65 with an additional fix for nvdisc.c. -
ksh-locale.patch
No-op change. -
ksh93-jpold.dif
This is already part of a Red Hat patch that was applied in ce68e1be. -
ksh93-limits.dif
This patch breaks the build on Alpine Linux with the musl C library. The build error is as follows:
+ cc -D_BLD_DLL -fPIC -D_BLD_ast '-D_AST_git_commit="9ddb45b1"' -Os -I. -I/usr/local/src/ksh/src/lib/libast -Icomp -I/usr/local/src/ksh/src/lib/libast/comp -Iport -I/usr/local/src/ksh/src/lib/libast/port -Isfio -I/usr/local/src/ksh/src/lib/libast/sfio -Istdio -I/usr/local/src/ksh/src/lib/libast/stdio -Iinclude -I/usr/local/src/ksh/src/lib/libast/include -Istd -I/usr/local/src/ksh/src/lib/libast/std -I/usr/local/src/ksh/arch/linux.i386-64/include -D_PACKAGE_ast -c /usr/local/src/ksh/src/lib/libast/stdio/vfwscanf.c
/usr/local/src/ksh/src/lib/libast/stdio/vfwscanf.c: In function '_ast_vfwscanf':
/usr/local/src/ksh/src/lib/libast/stdio/vfwscanf.c:102:40: error: 'OPEN_MAX' undeclared (first use in this function); did you mean 'FOPEN_MAX'?
102 | if (t = sfnew(NiL, buf, sizeof(buf), OPEN_MAX+1, SF_READ))
| ^~~~~~~~
| FOPEN_MAX
/usr/local/src/ksh/src/lib/libast/stdio/vfwscanf.c:102:40: note: each undeclared identifier is reported only once for each function it appears in
mamake [lib/libast]: *** exit code 1 making vfwscanf.o
mamake: *** exit code 1 making lib/libast
mamake: *** exit code 1 making all
package: make done at Wed Feb 3 22:52:33 CET 2021 in /usr/local/src/ksh/arch/linux.i386-64
-
ksh93-path-skip.dif
Different fix from ksh2020 already applied:
https://github.com/ksh93/ksh/commit/eee47df4
https://github.com/att/ast/commit/3bc58164 -
ksh93-profile.dif
I can't determine if this patch is necessary or correct, and the code
looks a bit strange, strdup()'ing a string which it then doesn't use.
Holding off on this pending further investigation. (It looks like it might
allow a path in $ENV to override /etc/ksh.kshrc if the shell is compiled
with SHOPT_SYSRC on, which may or may not be good.) -
ksh93-s390.dif
Ifdef'ed as Linux-specific. Probably now unnecessary on Linux as well,
after the fixes in libast's sfpkrd() function (although I do not have
access to a Linux s390 box to test it). Test:
mkfifo myfifo
printf no-final-linefeed >myfifo &
read myline <myfifo
If that doesn't hang, this patch is not needed. -
ksh93-shift_ijs.dif
The regression tests that come with this patch fail. In terms of
multibyte locales, I'm okay with ksh 93u+m supporting UTF-8 only.
If this needs to work, someone other than me will need to fix it. -
ksh93-subshellpwd.dif
Not applicable; fixed differently.
See https://github.com/ksh93/ksh/issues/153 -
ksh93-suid_exec.dif
This patch is no longer applicable becausesuid_exec
has been removed: 09811daf. -
ksh93.dif
Misc undocumented changes with unclear reasons, most look OS-specific. -
workaround-stupid-build-system.diff
Not applicable, should not be needed now.