* man-db 2.7.6.1: Test failures under musl libc
@ 2017-08-14 23:43 A. Wilcox
2017-08-14 23:55 ` Rich Felker
2017-08-26 12:04 ` Colin Watson
0 siblings, 2 replies; 6+ messages in thread
From: A. Wilcox @ 2017-08-14 23:43 UTC (permalink / raw)
To: cjwatson, musl, man-db-devel
[-- Attachment #1.1: Type: text/plain, Size: 452 bytes --]
Hello,
We are creating a new Linux distribution based on the musl libc focused
on security and reliability. As such, we run test suites for all of our
packaged software. The man-db test suite seems to have numerous
failures due to musl's iconv(3) (or more specifically, iconv_open(3))
method not supporting //IGNORE suffixes for character sets.
Best,
--arw
--
A. Wilcox (awilfox)
Project Lead, Adélie Linux
http://adelielinux.org
[-- Attachment #1.2: man-db-2.7.6.1-test-suite.log --]
[-- Type: text/plain, Size: 11597 bytes --]
==============================================
man-db 2.7.6.1: src/tests/test-suite.log
==============================================
# TOTAL: 24
# PASS: 20
# SKIP: 0
# XFAIL: 0
# FAIL: 4
# XPASS: 0
# ERROR: 0
.. contents:: :depth: 2
FAIL: man-6
===========
No manual entry for test
FAIL: missing locales
FAIL man-6 (exit status: 1)
FAIL: manconv-1
===============
lt-manconv: iconv_open ("UTF-8//IGNORE", "ISO-8859-1"): Invalid argument
--- /tmp/tmp.Z13DSCRrAK/1.exp 2017-08-14 23:36:45.092587088 +0000
+++ /tmp/tmp.Z13DSCRrAK/1.out 2017-08-14 23:36:45.092587088 +0000
@@ -1,2 +0,0 @@
-'\" -*- coding: ISO-8859-1
-á
FAIL: simple coding tag
lt-manconv: iconv_open ("UTF-8//IGNORE", "ISO-8859-1"): Invalid argument
--- /tmp/tmp.Z13DSCRrAK/2.exp 2017-08-14 23:36:45.252586798 +0000
+++ /tmp/tmp.Z13DSCRrAK/2.out 2017-08-14 23:36:45.255920125 +0000
@@ -1,2 +0,0 @@
-'\" -*- mode: troff; coding: ISO-8859-1
-á
FAIL: mode and coding tags
lt-manconv: iconv_open ("UTF-8//IGNORE", "ISO-8859-1"): Invalid argument
--- /tmp/tmp.Z13DSCRrAK/3.exp 2017-08-14 23:36:45.349253290 +0000
+++ /tmp/tmp.Z13DSCRrAK/3.out 2017-08-14 23:36:45.352586617 +0000
@@ -1,2 +0,0 @@
-'\" -*- mode: troff; coding: ISO-LATIN-1
-á
FAIL: iso-latin-1 coding alias
lt-manconv: iconv_open ("UTF-8//IGNORE", "UTF-8"): Invalid argument
--- /tmp/tmp.Z13DSCRrAK/4.inp 2017-08-14 23:36:45.442586455 +0000
+++ /tmp/tmp.Z13DSCRrAK/4.out 2017-08-14 23:36:45.442586455 +0000
@@ -1 +0,0 @@
-'\" -*- nroff -*-
FAIL: preprocessor comment but no coding tag
FAIL manconv-1 (exit status: 1)
FAIL: manconv-2
===============
lt-manconv: iconv_open ("UTF-8//IGNORE", "ISO-8859-1"): Invalid argument
--- /tmp/tmp.SkB1onmT18/1.exp 2017-08-14 23:36:45.289253399 +0000
+++ /tmp/tmp.SkB1onmT18/1.out 2017-08-14 23:36:45.289253399 +0000
@@ -1 +0,0 @@
- ¡¢£¤¥¦§¨©ª«¬Â®¯°±²³´µ¶·¸¹º»¼½¾¿ÃÃÃÃÃÃ
ÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃà áâãäåæçèéêëìÃîïðñòóôõö÷øùúûüýþÿ
FAIL: -f UTF-8:ISO-8859-1 -t UTF-8 on ISO-8859-1 input
lt-manconv: iconv_open ("UTF-8//IGNORE", "ISO-8859-2"): Invalid argument
--- /tmp/tmp.SkB1onmT18/1-latin2.exp 2017-08-14 23:36:45.412586508 +0000
+++ /tmp/tmp.SkB1onmT18/1-latin2.out 2017-08-14 23:36:45.412586508 +0000
@@ -1 +0,0 @@
- ÄËŤĽÅ§¨ŠÅŤŹÂŽŻ°Ä
ËÅ´ľÅ˸šÅťźËžżÅÃÃÄÃĹÄÃÄÃÄÃÄÃÃÄÄÅÅÃÃÅÃÃÅÅ®ÃÅ°ÃÃÅ¢ÃÅáâÄäĺÄçÄéÄëÄÃîÄÄÅÅóôÅö÷ÅůúűüýţË
FAIL: -f UTF-8:ISO-8859-2 -t UTF-8 on ISO-8859-2 input
lt-manconv: iconv_open ("UTF-8//IGNORE", "KOI8-R"): Invalid argument
--- /tmp/tmp.SkB1onmT18/2.exp 2017-08-14 23:36:45.502586346 +0000
+++ /tmp/tmp.SkB1onmT18/2.out 2017-08-14 23:36:45.502586346 +0000
@@ -1,2 +0,0 @@
-ÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐââÐ
-Ðââ
FAIL: -f UTF-8:KOI8-R -t UTF-8 on KOI8-R input with UTF-8 prefix
PASS: -f UTF-8:ISO-8859-1 -t UTF-8 preserves UTF-8 input
lt-manconv: iconv_open ("ISO-8859-2//IGNORE", "UTF-8"): Invalid argument
lt-manconv: iconv_open ("UTF-8//IGNORE", "ISO-8859-2"): Invalid argument
--- /tmp/tmp.SkB1onmT18/4.exp 2017-08-14 23:36:45.702585984 +0000
+++ /tmp/tmp.SkB1onmT18/4.out 2017-08-14 23:36:45.702585984 +0000
@@ -1 +0,0 @@
-¹³
FAIL: recognises input encoding and omits invalid output character
lt-manconv: iconv_open ("UTF-8//IGNORE", "ISO-8859-7"): Invalid argument
PASS: copes with invalid input characters
FAIL manconv-2 (exit status: 1)
FAIL: manconv-3
===============
lt-manconv: iconv_open ("UTF-8//IGNORE", "EUC-JP"): Invalid argument
FAIL: incomplete character at EOF
FAIL manconv-3 (exit status: 1)
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: man-db 2.7.6.1: Test failures under musl libc
2017-08-14 23:43 man-db 2.7.6.1: Test failures under musl libc A. Wilcox
@ 2017-08-14 23:55 ` Rich Felker
2017-08-15 0:02 ` A. Wilcox
2017-08-26 12:04 ` Colin Watson
1 sibling, 1 reply; 6+ messages in thread
From: Rich Felker @ 2017-08-14 23:55 UTC (permalink / raw)
To: musl
On Mon, Aug 14, 2017 at 06:43:27PM -0500, A. Wilcox wrote:
> Hello,
>
> We are creating a new Linux distribution based on the musl libc focused
> on security and reliability. As such, we run test suites for all of our
> packaged software. The man-db test suite seems to have numerous
> failures due to musl's iconv(3) (or more specifically, iconv_open(3))
> method not supporting //IGNORE suffixes for character sets.
I'm not clear what it's trying to do with //IGNORE or why it wants it:
> ==============================================
> man-db 2.7.6.1: src/tests/test-suite.log
> ==============================================
>
> # TOTAL: 24
> # PASS: 20
> # SKIP: 0
> # XFAIL: 0
> # FAIL: 4
> # XPASS: 0
> # ERROR: 0
>
> .. contents:: :depth: 2
>
> FAIL: man-6
> ===========
>
> No manual entry for test
> FAIL: missing locales
> FAIL man-6 (exit status: 1)
>
> FAIL: manconv-1
> ===============
>
> lt-manconv: iconv_open ("UTF-8//IGNORE", "ISO-8859-1"): Invalid argument
> --- /tmp/tmp.Z13DSCRrAK/1.exp 2017-08-14 23:36:45.092587088 +0000
> +++ /tmp/tmp.Z13DSCRrAK/1.out 2017-08-14 23:36:45.092587088 +0000
> @@ -1,2 +0,0 @@
> -'\" -*- coding: ISO-8859-1
> -??
Here the "//IGNORE" seems to be on the destination charset, and the
source charset, ISO-8859-1, does not have any illegal bytes/sequences,
so it's not clear what they're even trying to achieve. I think it's
just a wrong test but maybe you have some more insight?
> --- /tmp/tmp.SkB1onmT18/2.exp 2017-08-14 23:36:45.502586346 +0000
> +++ /tmp/tmp.SkB1onmT18/2.out 2017-08-14 23:36:45.502586346 +0000
> @@ -1,2 +0,0 @@
> -??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
> -????????
> FAIL: -f UTF-8:KOI8-R -t UTF-8 on KOI8-R input with UTF-8 prefix
> PASS: -f UTF-8:ISO-8859-1 -t UTF-8 preserves UTF-8 input
> lt-manconv: iconv_open ("ISO-8859-2//IGNORE", "UTF-8"): Invalid argument
> lt-manconv: iconv_open ("UTF-8//IGNORE", "ISO-8859-2"): Invalid argument
This is the only one that seems to be different, trying to do some
sort of round trip test?
> --- /tmp/tmp.SkB1onmT18/4.exp 2017-08-14 23:36:45.702585984 +0000
> +++ /tmp/tmp.SkB1onmT18/4.out 2017-08-14 23:36:45.702585984 +0000
> @@ -1 +0,0 @@
> -??
> FAIL: recognises input encoding and omits invalid output character
> lt-manconv: iconv_open ("UTF-8//IGNORE", "ISO-8859-7"): Invalid argument
> PASS: copes with invalid input characters
> FAIL manconv-2 (exit status: 1)
Not sure if this is any different.
> FAIL: manconv-3
> ===============
>
> lt-manconv: iconv_open ("UTF-8//IGNORE", "EUC-JP"): Invalid argument
> FAIL: incomplete character at EOF
> FAIL manconv-3 (exit status: 1)
>
Looks like just the //IGNORE issue again. Not clear if it's supposed
to do anything useful in this case.
Rich
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: man-db 2.7.6.1: Test failures under musl libc
2017-08-14 23:55 ` Rich Felker
@ 2017-08-15 0:02 ` A. Wilcox
0 siblings, 0 replies; 6+ messages in thread
From: A. Wilcox @ 2017-08-15 0:02 UTC (permalink / raw)
To: musl
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
On 14/08/17 18:55, Rich Felker wrote:
> I'm not clear what it's trying to do with //IGNORE or why it wants
> it:
>
>> FAIL: manconv-1 ===============
>>
>> lt-manconv: iconv_open ("UTF-8//IGNORE", "ISO-8859-1"): Invalid
>> argument --- /tmp/tmp.Z13DSCRrAK/1.exp 2017-08-14
>> 23:36:45.092587088 +0000 +++ /tmp/tmp.Z13DSCRrAK/1.out 2017-08-14
>> 23:36:45.092587088 +0000 @@ -1,2 +0,0 @@ -'\" -*- coding:
>> ISO-8859-1 -??
>
> Here the "//IGNORE" seems to be on the destination charset, and
> the source charset, ISO-8859-1, does not have any illegal
> bytes/sequences, so it's not clear what they're even trying to
> achieve. I think it's just a wrong test but maybe you have some
> more insight?
>
It seems to want to have illegal sequences 'pass through' unedited,
but I can't tell. I meant to send this report to man-db's own list on
nongnu (autocomplete in Thunderbird strikes again); sorry for the noise.
Best,
- --arw
- --
A. Wilcox (awilfox)
Project Lead, Adélie Linux
http://adelielinux.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAEBCAAGBQJZkjouAAoJEMspy1GSK50Uo+YQAJiZwMcIP5LgD+xSO6l2isc7
Kkh/rD4jK2O9TxThnwTwiZvzgQ1krbf3neTbLtLxhoErJB6yxEBCZGE5XGbr58u9
I+WtmBDtnIyMYouhLwvl/qex6I+xQvcfKEFlIkxfgGy9lcvZd0M6psFaMZrRRmRh
yWq2nQ1MiMkIrRNs4aqgHIB/4rizY3sCx5Qny9IbK4rbTfOWXQ+l7N413GggCgrl
q9CezuhNEm1Mpp9CcCOwnVRrSYBTA+nFdZDYeB7CgDgl9S4W8N7dpcllvwqxduqt
TAPh32bES/LdNSAbjzXev0MsmrHTemPWCEYQV1CmM767n6Olwsk09uJGK4s7a+HN
zPFvVOzRZFetgAyAGG7VCEk2CCYA2JI3ARdWp8KqIq0UJseJi5QLRCZJXgkFgQ6H
CQkRIrqm3eNfXxvxuMSidMEtpUqFj9KtlJl+5chxd3LVEVrp9DbarbW6dYKUoKH5
1fefKeHHwSDGiu/5u/98QZRvmlp6cmXXc9xDi2uFer75ZoLaD1yWHG5ESZdKSZ2L
NE/v6+MatT+ki1OX2FPUce3OiBwN2frOt+8KD07yyRtX3kqqb8jUICCFx2NaQsfe
bdAeJDWeisu53OIYVULWFqdgsooJRLeR5C8cR8+rjRNPfGi/XVzjPVVWtFhvBIfW
8oNNDtpkNaum44RikDwZ
=6r8W
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: man-db 2.7.6.1: Test failures under musl libc
2017-08-14 23:43 man-db 2.7.6.1: Test failures under musl libc A. Wilcox
2017-08-14 23:55 ` Rich Felker
@ 2017-08-26 12:04 ` Colin Watson
2017-08-26 13:28 ` Rich Felker
1 sibling, 1 reply; 6+ messages in thread
From: Colin Watson @ 2017-08-26 12:04 UTC (permalink / raw)
To: A. Wilcox; +Cc: musl, man-db-devel
On Mon, Aug 14, 2017 at 06:43:27PM -0500, A. Wilcox wrote:
> We are creating a new Linux distribution based on the musl libc focused
> on security and reliability. As such, we run test suites for all of our
> packaged software. The man-db test suite seems to have numerous
> failures due to musl's iconv(3) (or more specifically, iconv_open(3))
> method not supporting //IGNORE suffixes for character sets.
man-db can't reasonably do without //IGNORE, certainly not if you want
reliability. Can you try building man-db with GNU libiconv? The build
system uses AM_ICONV already, so should have enough options to let you
do this.
(I'd take a patch to the build system to have it detect this situation
and emit an error earlier if //IGNORE isn't available.)
Thanks,
--
Colin Watson [cjwatson@debian.org]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Re: man-db 2.7.6.1: Test failures under musl libc
2017-08-26 12:04 ` Colin Watson
@ 2017-08-26 13:28 ` Rich Felker
2017-08-26 15:13 ` Colin Watson
0 siblings, 1 reply; 6+ messages in thread
From: Rich Felker @ 2017-08-26 13:28 UTC (permalink / raw)
To: Colin Watson; +Cc: A. Wilcox, musl, man-db-devel
On Sat, Aug 26, 2017 at 01:04:26PM +0100, Colin Watson wrote:
> On Mon, Aug 14, 2017 at 06:43:27PM -0500, A. Wilcox wrote:
> > We are creating a new Linux distribution based on the musl libc focused
> > on security and reliability. As such, we run test suites for all of our
> > packaged software. The man-db test suite seems to have numerous
> > failures due to musl's iconv(3) (or more specifically, iconv_open(3))
> > method not supporting //IGNORE suffixes for character sets.
>
> man-db can't reasonably do without //IGNORE, certainly not if you want
> reliability. Can you try building man-db with GNU libiconv? The build
> system uses AM_ICONV already, so should have enough options to let you
> do this.
>
> (I'd take a patch to the build system to have it detect this situation
> and emit an error earlier if //IGNORE isn't available.)
Can you explain? This seems wrong; maybe I misunderstand //IGNORE but
I can't come up with any plausible scenario where a conversion with
//IGNORE would produce usable output.
Also please be aware that the encoding on a system using musl is
always UTF-8 (musl only supports UTF-8 locales), so conversion of
man pages to another locale that can't represent their contents is
out-of-scope. I'm not sure if //IGNORE would be useful for this anyway
(I couldn't figure out from the failed tests what the intent was) but
I mention it because it may be related.
Rich
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Re: man-db 2.7.6.1: Test failures under musl libc
2017-08-26 13:28 ` Rich Felker
@ 2017-08-26 15:13 ` Colin Watson
0 siblings, 0 replies; 6+ messages in thread
From: Colin Watson @ 2017-08-26 15:13 UTC (permalink / raw)
To: Rich Felker; +Cc: A. Wilcox, musl, man-db-devel
On Sat, Aug 26, 2017 at 09:28:08AM -0400, Rich Felker wrote:
> On Sat, Aug 26, 2017 at 01:04:26PM +0100, Colin Watson wrote:
> > man-db can't reasonably do without //IGNORE, certainly not if you want
> > reliability. Can you try building man-db with GNU libiconv? The build
> > system uses AM_ICONV already, so should have enough options to let you
> > do this.
> >
> > (I'd take a patch to the build system to have it detect this situation
> > and emit an error earlier if //IGNORE isn't available.)
>
> Can you explain? This seems wrong; maybe I misunderstand //IGNORE but
> I can't come up with any plausible scenario where a conversion with
> //IGNORE would produce usable output.
No, it definitely did help in some cases. Here's the NEWS entry from
when I added that:
o apropos, lexgrog, man, mandb, and whatis ignore encoding
conversion errors for the last possible encoding of the source
page. This helps, for example, with pages including misencoded
non-ASCII names of authors; it usually seems better to allow these
pages to pass with small errors than to break them entirely.
That was nine years ago so I no longer have specific examples to hand,
but that's the sort of thing my past self wouldn't have bothered doing
without having run into it in practice. :-) I seem to remember the case
of non-ASCII authors' names in otherwise-ASCII pages being quite common,
and especially back then the toolchain wasn't always happy to accept
UTF-8 at every stage in every environment.
(This is all after manconv has made its best guess as to the input
encoding using stricter checks; the choice at this point is normally
between mostly-correct output or an error. For many programs I agree
that an error would be more appropriate, but for a program whose job is
to display documentation I prefer to make a best effort to do so.)
This is actually a bit less critical than I remembered. I still think
it's worthwhile in general, but I'd also take a patch to use //IGNORE
only when an iconv implementation that supports it is in use.
> Also please be aware that the encoding on a system using musl is
> always UTF-8 (musl only supports UTF-8 locales), so conversion of
> man pages to another locale that can't represent their contents is
> out-of-scope.
Well, you also have the C locale which isn't really true UTF-8. But
anyway, as noted above, the use of //IGNORE here is not intended for the
case where we are totally unable to represent any of the contents, but
rather for the case of small unrepresentable sections.
--
Colin Watson [cjwatson@debian.org]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2017-08-26 15:13 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-14 23:43 man-db 2.7.6.1: Test failures under musl libc A. Wilcox
2017-08-14 23:55 ` Rich Felker
2017-08-15 0:02 ` A. Wilcox
2017-08-26 12:04 ` Colin Watson
2017-08-26 13:28 ` Rich Felker
2017-08-26 15:13 ` Colin Watson
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/musl/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).