[Tcsh] tcsh and Alpine Linux: progress, anyone?

Vlad Meșco vlad.mesco at gmail.com
Wed Nov 30 18:39:47 UTC 2022


On Wed, Nov 30, 2022 at 04:55:47PM +0200, Kimmo Suominen wrote:
> PR#60 is the one for the diff style. It said it might help w/ the
> issue discussed here, so I was hoping someone would test it and
> confirm in the PR. I don't have Alpine or an environment where diff
> comes from busybox.
> 
> https://github.com/tcsh-org/tcsh/pull/60
> 
> Looking forward to more PRs to merge. :)
> 
> Cheers,
> + Kimmo
> 


Hi,

Found time.

I tested HEAD (90f69d2f0d5844f7b966fd728a8c18aaf5b90f1b) plus the diff
from PR!60.

tl;dr
- Alpine 3.16.0 OK
- Ubuntu 22.04 OK
- OpenBSD 7.2 OK
- `sbrk()' check OK
- use of `diff -U0' OK

First, sanity test on Ubuntu -- 

	configure:8753: checking for working sbrk
	configure:8775: gcc -o conftest -g -O2   conftest.c -ltinfo -lcrypt  >&5
	configure:8775: $? = 0
	configure:8775: ./conftest
	configure:8775: $? = 0
	configure:8777: result: yes

make check

	## ------------- ##
	## Test results. ##
	## ------------- ##
	
	190 tests were successful.
	54 tests were skipped.

Check we're still using SYSMALLOC...

	> gdb tcsh
	(gdb) break smalloc
	Breakpoint 1 at 0x49cd0: file tc.alloc.c, line 518.

So nothing broke on Ubuntu. Also, good opportunity to upgrade my tcsh :-)

Next, old Alpine VM I had lying around:

	cat /etc/alpine-release
	3.16.0

Okay, not that old... just not the latest. ./configure!

	configure:8753: checking for working sbrk
	configure:8775: gcc -o conftest -g -O2   conftest.c -lcurses  >&5
	configure:8775: $? = 0
	configure:8775: ./conftest
	configure:8775: $? = 1
	configure: program exited with status 1
	configure: failed program was:
	<snip>    <snip>    <snip>    <snip>    <snip>    <snip>    
	configure:8783: result: no; use system malloc

make check

	## ------------- ##
	## Test results. ##
	## ------------- ##
	
	190 tests were successful.
	54 tests were skipped.

All seems good in Linux land.

OpenBSD:

	configure:8753: checking for working sbrk 
	configure:8775: cc -o conftest -g -O2   conftest.c -ltermlib  >&5  
	configure:8775: $? = 0
	configure:8775: ./conftest
	configure:8775: $? = 0
	configure:8777: result: yes

...not that it matters (OBSD uses SYSMALLOC), but the check does pass.

make check

	144: Filename substitution                          ./tests/testsuite: /home/jakkal/Projects/tcsh/testsuite.dir/at-groups/144/test-source[80]: syntax error: `}' unexpected
	testsuite: WARNING: unable to parse test group: 144
	testsuite: WARNING: A failure happened in a test group before any test could be
	testsuite: WARNING: run. This means that test suite is improperly designed.  Please
	testsuite: WARNING: report this failure to <https://bugs.astron.com/>.
	 FAILED (subst.at:31)

	188: $ home                                         ./tests/testsuite: /home/jakkal/Projects/tcsh/testsuite.dir/at-groups/188/test-source[56]: syntax error: `}' unexpected
	testsuite: WARNING: unable to parse test group: 188
	testsuite: WARNING: A failure happened in a test group before any test could be
	testsuite: WARNING: run. This means that test suite is improperly designed.  Please
	testsuite: WARNING: report this failure to <https://bugs.astron.com/>.
	 FAILED (variables.at:635)
	
	202: $ cdtohome                                     ./tests/testsuite: /home/jakkal/Projects/tcsh/testsuite.dir/at-groups/202/test-source[41]: syntax error: `}' unexpected
	testsuite: WARNING: unable to parse test group: 202
	testsuite: WARNING: A failure happened in a test group before any test could be
	testsuite: WARNING: run. This means that test suite is improperly designed.  Please
	testsuite: WARNING: report this failure to <https://bugs.astron.com/>.
	 FAILED (variables.at:779)

	## ------------- ##
	## Test results. ##
	## ------------- ##
	
	ERROR: 190 tests were run,
	3 failed unexpectedly.
	54 tests were skipped.

That's "normal". The OpenBSD port has a couple of patches for those 3
tests:

	## ------------- ##
	## Test results. ##
	## ------------- ##
	
	190 tests were successful.
	54 tests were skipped.

Much better. And yes, it still uses the system malloc.

I can confirm Luke's commits are solid, nothing breaks, and Alpine now
builds without patches. And I assume also other musl libc distros like
Void(-musl) can drop their patches as well.

It would be interesting to test on one of the (extant) platforms that
relies on the custom allocator (FreeBSD maybe? if I read those ifdefs
correctly?) Although I don't see what could possibly go sideways. Maybe
some non-POSIX platform where `diff -U0' is not known. I guess someone
using such a platform will complain if it's a problem.

Cheers,
Vlad


More information about the Tcsh mailing list