tyreunom <tyreu...@lepiller.eu> writes:

> Le 2016-11-17 01:01, Marius Bakke a écrit :
>> Ludovic Courtès <l...@gnu.org> writes:
>> 
>>> Marius Bakke <mba...@fastmail.com> skribis:
>>> 
>>>> Some failures are indeed due to missing network or programs in the 
>>>> build
>>>> environment. I tried patching a few just now, but unfortunately some
>>>> files are in a format apparently not supported by Guile!
>>>> 
>>>>  870: 5 [call-with-input-file "ext/mbstring/tests/bug26639.phpt" ...]
>>>> In 
>>>> /gnu/store/ciqw5z470c8ihl1kfswj1j3ix6hs092d-module-import/guix/build/utils.scm:
>>>>  556: 4 [#<procedure 16a6440 at 
>>>> /gnu/store/ciqw5z470c8ihl1kfswj1j3ix6hs092d-module-import/guix/buil
>>>> d/utils.scm:555:10 (in)> #<input: ext/mbstring/tests/bug26639.phpt 
>>>> 11>]
>>>>  592: 3 [#<procedure 1798aa0 at 
>>>> /gnu/store/ciqw5z470c8ihl1kfswj1j3ix6hs092d-module-import/guix/buil
>>>> d/utils.scm:578:6 (in out)> #<input: ext/mbstring/tests/bug26639.phpt 
>>>> 11> ...]
>>>> In ice-9/rdelim.scm:
>>>>  188: 2 [read-line #<input: ext/mbstring/tests/bug26639.phpt 11> 
>>>> concat]
>>>> In unknown file:
>>>>    ?: 1 [%read-line #<input: ext/mbstring/tests/bug26639.phpt 11>]
>>>> In ice-9/boot-9.scm:
>>>>  109: 0 [#<procedure 16a6480 at ice-9/boot-9.scm:100:6 (thrown-k . 
>>>> args)> decoding-error ...]
>>>> 
>>>> ice-9/boot-9.scm:109:20: In procedure #<procedure 16a6480 at 
>>>> ice-9/boot-9.scm:100:6 (thrown-k . arg
>>>> s)>:
>>>> ice-9/boot-9.scm:109:20: Throw to key `decoding-error' with args 
>>>> `("scm_getc" "input decoding error
>>>> " 84 #<input: ext/mbstring/tests/bug26639.phpt 11>)'.
>>>> 
>>>> `file` reports: ext/mbstring/tests/bug26639.phpt: Non-ISO 
>>>> extended-ASCII text
>>> 
>>> Presumably this is ‘substitute*’ failing to read the file.
>>> 
>>> ‘substitute*’ expects input files to be UTF-8-encoded; when this is 
>>> not
>>> the case, you need to bind ‘%default-port-encoding’ to whatever is the
>>> right encoding or #f for the catch-all ISO-8859-1.  See
>>> ‘gettext-minimal’ for an example.
>> 
>> Thank you! That was exactly what I needed.
>> 
>> Unfortunately that only fixed a handful of tests, the remaining
>> 50-something had to be disabled for a variety of reasons.
>> 
>> I've added a commentary to each disabled test. If you recognize any of
>> these errors/think you know what's going on, please update the patch.
>> It would be nice to know if the iconv and gd stuff is expected, and if
>> the two sqlite tests can really be ignored. The curl one is strange 
>> too.
>
> Just as I wanted to send a similar patch ;)
>
> I've been looking at some of them. The failing sqlite test is a bug in 
> sqlite that has been fixed last august 
> (https://sqlite.org/src/info/ef360601). We currently have version 
> 3.14.1, when the latest upstream version is 3.15.1. Updating should fix 
> the problem.
>
> 73159 has been fixed in gd: https://github.com/libgd/libgd/issues/289 
> (more recent than latest gd release unfortunately)
>
> 73155 has also been fixed in gd: 
> https://github.com/libgd/libgd/issues/309 (even more recent)
>
> 72482 is fixed here: 
> https://gist.github.com/anonymous/873314feb4f89bd8336711333299f748 (a 
> patch to the bundled libgd)
>
> 73213 is fixed here: 
> https://git.php.net/?p=php-src.git;a=blobdiff;f=ext/gd/libgd/gd.c;h=033d4fa5f0e9740e8b8c397a9038a115c617c419;hp=0b4b42fa27558fa32cc54e14dc297d9d0ba10832;hb=9acfb1a3a5268febb123b7e5fbd4eaf072c83537;hpb=c0219b323e0048440acbdd9ad74624c4bc33c335
>  
> (a patch to the bundled libgd)
>
> 72339 has a CVE id: 2016-5766, but it should be fixed in libgd 2.2.3 
> that we have according to the CVE description, and the failure is 
> different from what the report says.
>
> 39780 has the unexpected output described in the bug report, so it 
> really fails. I don't think we can fix our libgd though, because the 
> bundled one has some php_* functions that are used to get a warning 
> instead of an error.
>
> we could include patches to our libgd to fix two (maybe four) issues. We 
> should also upgrade our sqlite version, but many packages will then have 
> to be rebuilt, or we could create a separate package for the newer 
> version. What do you suggest?

Wow, thanks for this list! Including the two upstream gd fixes in a
"gd-for-php" package should be fine, until a new release of gd is out.
I'm more vary about including the PHP-specific ones though.

If there are serious problems with using an external (vanilla) gd, I
think we either need to maintain a "gd-for-php" package indefinitely, or
bite the bullet and use the bundled one.

Do you think it's safe to use our gd? And if not, would you be willing
to keep up with PHP development and maintain the externalized gd
component with it?

I've confirmed that using a newer sqlite fixes the sqlite test, thanks
for that. I will submit a "sqlite-3.15.1" package with this patch, and
make sure it's updated in the next 'core-updates' cycle.

Attachment: signature.asc
Description: PGP signature

Reply via email to