Bug 1288047

Summary: nss-softokn FTBFS during stage2 bootstrap - ldvector.c:298:20: fatal error: verref.h: No such file or directory
Product: [Fedora] Fedora Reporter: Jaromír Cápík <jcapik>
Component: nss-softoknAssignee: Elio Maldonado Batiz <emaldona>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 22CC: emaldona, jcapik, kengert, ovasik, rrelyea
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-12-15 12:22:16 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1224209    
Attachments:
Description Flags
nss-softokn.log
none
Copy verref.h so the next step in the build can find it
none
STAGE2-nss-softokn-f22.patch emaldona: review+

Description Jaromír Cápík 2015-12-03 11:25:50 UTC
Created attachment 1101786 [details]
nss-softokn.log

Description of problem:
After the recent changes in nss we're facing FTBFS of the nss-softokn component during the stage2 bootstrap.
This happened with the f21 sources, but we believe the same would happen with the f22 sources. I'll confirm that once we get results of the next iteration.

Version-Release number of selected component (if applicable):
nss-softokn-3.21.0-1.1.fc21

Comment 1 Elio Maldonado Batiz 2015-12-03 15:32:59 UTC
ldvector.c: In function 'FREEBL_GetVector':
ldvector.c:298:20: fatal error: verref.h: No such file or directory

The verref.h is a header than we make sure we preserve when the nss-split-softoken.sh script. We do via this new lines in that script.

# copy private headers that nss-softoken needs
for f in verref.h; do
  cp -p ${nss_source_dir}/nss/lib/util/$f ${WORK}/${softokn_dir}/nss/lib/util
done

This is so that when we remove what we don't need we preserve that file so that later on in nsss-softoken.spec we can recover it. There in %build phase we havee
......................................................
# Compile softokn plus needed support
%{__make} -C ./nss/coreconf 
%{__make} -C ./nss/lib/dbm

>>> Begin Line lines

# ldvector.c, pkcs11.c, and lginit.c include nss/lib/util/verref.h, 
# which is private export, move it to where it can be found.
%{__mkdir_p} ./dist/private/nss
%{__mv} ./nss/lib/util/verref.h ./dist/private/nss/verref.h
>>>> End new Lines

%{__make} -C ./nss
.............................................................

The STAGE2-nss-softokn recipe probably needs new lines matching the changes made in the nss-softokn.spec file. I'll attach a patch for review next.

Comment 2 Elio Maldonado Batiz 2015-12-03 15:40:53 UTC
Created attachment 1101837 [details]
Copy verref.h so the next step in the build can find it

Comment 3 Jaromír Cápík 2015-12-04 09:51:59 UTC
Hello Elio.

Thanks for the patch. I'll check the paths, start the next iteration with the proposed changes and share the results.

Comment 4 Jaromír Cápík 2015-12-14 14:08:06 UTC
Created attachment 1105580 [details]
STAGE2-nss-softokn-f22.patch

Hi Elio.

There was a tiny copy'n'paste issue in the patch. The fixed version is here.

Comment 5 Elio Maldonado Batiz 2015-12-14 14:58:33 UTC
(In reply to Jaromír Cápík from comment #4)
Ah, I missed that '+export NSS_DISABLE_GTESTS=1' line, and to make the extra directory which yours takes care of. Please go ahead and check it in. 

Thank you. 

-Elio