Bug 1674692

Summary: biber: FTBFS in Fedora 30: tests fail: \field{sortinithash} values differ
Product: [Fedora] Fedora Reporter: Fedora Release Engineering <releng>
Component: biberAssignee: Petr Pisar <ppisar>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: cbm, jnovy, mefoster, perl-devel, ppisar
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: biber-2.11-4.fc30 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-02-12 10:06:12 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 1674516    
Attachments:
Description Flags
build.log
none
root.log
none
state.log none

Description Fedora Release Engineering 2019-02-11 16:53:03 UTC
biber failed to build from source in Fedora rawhide/f30

https://koji.fedoraproject.org/koji/taskinfo?taskID=32368549


For details on the mass rebuild see:

https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Please fix biber at your earliest convenience and set the bug's status to
ASSIGNED when you start fixing it. If the bug remains in NEW state for 8 weeks,
biber will be orphaned. Before branching of Fedora 31,
biber will be retired, if it still fails to build.

For more details on the FTBFS policy, please visit:
https://fedoraproject.org/wiki/Fails_to_build_from_source

Comment 1 Fedora Release Engineering 2019-02-11 16:53:07 UTC
Created attachment 1529378 [details]
build.log

file build.log too big, will only attach last 1024 bytes

Comment 2 Fedora Release Engineering 2019-02-11 16:53:08 UTC
Created attachment 1529379 [details]
root.log

file root.log too big, will only attach last 1024 bytes

Comment 3 Fedora Release Engineering 2019-02-11 16:53:10 UTC
Created attachment 1529380 [details]
state.log

Comment 4 Petr Pisar 2019-02-12 08:05:55 UTC
Tests fail like this:

+ ./Build test
BUILDSTDERR: #   Failed test 'Annotations - 1'
BUILDSTDERR: #   at t/annotations.t line 88.
BUILDSTDERR: # --- Got
BUILDSTDERR: # +++ Expected
BUILDSTDERR: # @@ -1,41 +1,41 @@
BUILDSTDERR: #  '    \\entry{ann1}{misc}{}
BUILDSTDERR: #        \\name{author}{3}{}{%
BUILDSTDERR: #          {{hash=89a9e5097e11e595700540379c9b3a6b}{%
BUILDSTDERR: #             family={Last1},
BUILDSTDERR: #             familyi={L\\bibinitperiod},
BUILDSTDERR: #             given={First1},
BUILDSTDERR: #             giveni={F\\bibinitperiod}}}%
BUILDSTDERR: #          {{hash=7475b6b7b3c24a2ac6bd4d146cdc74dc}{%
BUILDSTDERR: #             family={Last2},
BUILDSTDERR: #             familyi={L\\bibinitperiod},
BUILDSTDERR: #             given={First2},
BUILDSTDERR: #             giveni={F\\bibinitperiod}}}%
BUILDSTDERR: #          {{hash=fd3dffa06a5d1f89c512841df1ccf4d0}{%
BUILDSTDERR: #             family={Last3},
BUILDSTDERR: #             familyi={L\\bibinitperiod},
BUILDSTDERR: #             given={First3},
BUILDSTDERR: #             giveni={F\\bibinitperiod}}}%
BUILDSTDERR: #        }
BUILDSTDERR: #        \\list{language}{2}{%
BUILDSTDERR: #          {english}%
BUILDSTDERR: #          {french}%
BUILDSTDERR: #        }
BUILDSTDERR: #        \\strng{namehash}{90ae96c82de92e36949bc64254bbde0c}
BUILDSTDERR: #        \\strng{fullhash}{90ae96c82de92e36949bc64254bbde0c}
BUILDSTDERR: #        \\strng{bibnamehash}{90ae96c82de92e36949bc64254bbde0c}
BUILDSTDERR: #        \\strng{authorbibnamehash}{90ae96c82de92e36949bc64254bbde0c}
BUILDSTDERR: #        \\strng{authornamehash}{90ae96c82de92e36949bc64254bbde0c}
BUILDSTDERR: #        \\strng{authorfullhash}{90ae96c82de92e36949bc64254bbde0c}
BUILDSTDERR: #        \\field{sortinit}{L}
BUILDSTDERR: # -      \\field{sortinithash}{dad3efd0836470093a7b4a7bb756eb8c}
BUILDSTDERR: # +      \\field{sortinithash}{2c7981aaabc885868aba60f0c09ee20f}
BUILDSTDERR: #        \\field{labelnamesource}{author}
BUILDSTDERR: #        \\field{labeltitlesource}{title}
BUILDSTDERR: #        \\field{title}{The Title}
BUILDSTDERR: #        \\annotation{field}{language}{}{}{ann4}
BUILDSTDERR: #        \\annotation{field}{title}{}{}{one, two}
BUILDSTDERR: #        \\annotation{item}{author}{2}{}{corresponding}
BUILDSTDERR: #        \\annotation{item}{language}{1}{}{ann1}
BUILDSTDERR: #        \\annotation{item}{language}{2}{}{ann2, ann3}
BUILDSTDERR: #        \\annotation{part}{author}{1}{family}{student}
BUILDSTDERR: #      \\endentry
BUILDSTDERR: #  '
BUILDSTDERR: # Looks like you failed 1 test of 1.
t/annotations.t ........... 
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/1 subtests

Comment 5 Petr Pisar 2019-02-12 08:15:55 UTC
The failure started at <https://apps.fedoraproject.org/koschei/build/5871552>. This is very probably triggered by upgrading perl-Unicode-Collate from 1.25-417.fc29 to 1.27-1.fc30 as upstream changed the expected hash values to the new value with this commit:

commit 33848fc870a7df93074bc938117d447a1d104f4b
Author: Philip Kime <Philip@kime.org.uk>
Date:   Mon Nov 6 14:03:43 2017 +0100

    Update sortinithas for new U::C keys

Comment 6 Petr Pisar 2019-02-12 08:50:45 UTC
(In reply to Petr Pisar from comment #5)
> upstream changed the expected hash values to the new value
> with this commit:
> 
> commit 33848fc870a7df93074bc938117d447a1d104f4b
> Author: Philip Kime <Philip@kime.org.uk>
> Date:   Mon Nov 6 14:03:43 2017 +0100
> 
>     Update sortinithas for new U::C keys

The + and - signs have a reverse meaning in the test. That commit was a previous adaptation. Upstream has none for the current Unicode-Collate.

Comment 7 Petr Pisar 2019-02-12 09:53:55 UTC
Actually upstream has fix in dev branch:

commit 6b61b4c13778cf638f82569ab9e413f09f111ba5
Author: Philip Kime <Philip@kime.org.uk>
Date:   Sat Jan 12 17:19:51 2019 +0100

    Updated tests after U::C upgrade changed sortinit hashes

I will apply a similar fix that's applicable to 2.11.

Comment 8 Colin Macdonald 2019-02-12 09:58:07 UTC
Was just about to post the same thing.  It doesn't apply cleanly so if you can't be bothered to backport, maybe just disable tests temporarily as in e2dc8481722f0911624e08b01e07ef23256b6d52?