Bug 1652229

Summary: glibc: Do not use parallel make for building locales
Product: Red Hat Enterprise Linux 8 Reporter: Florian Weimer <fweimer>
Component: glibcAssignee: Florian Weimer <fweimer>
Status: CLOSED CURRENTRELEASE QA Contact: Alexandra Petlanová Hájková <ahajkova>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 8.0CC: ahajkova, ashankar, codonell, dj, fweimer, mnewsome, pfrankli, skolosov
Target Milestone: rc   
Target Release: 8.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glibc-2.28-35.el8 Doc Type: No Doc Update
Doc Text:
undefined
Story Points: ---
Clone Of: 1652228 Environment:
Last Closed: 2019-06-14 01:57:55 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: 1652228    
Bug Blocks:    

Description Florian Weimer 2018-11-21 17:51:15 UTC
+++ This bug was initially created as a clone of Bug #1652228 +++

localedef uses hard links to avoid storing the same data repeatedly across locales, but the hardlink groups are different depending on how the localedef invocations are scheduled by make.

This leads to differences in the generated RPM files—the column “6:19” in the first row is RPM's pseudo-inode number followed by the link count.

--rw-r--r-- () 6:19 {(none)} root root 337024 - /usr/lib/locale/ar_AE.utf8/LC_CTYPE
+-rw-r--r-- () 6:18 {(none)} root root 337024 - /usr/lib/locale/ar_AE.utf8/LC_CTYPE
 -rw-r--r-- () 19:17 {(none)} root root 288796 - /usr/lib/locale/ar_AE/LC_CTYPE
--rw-r--r-- () 6:19 {(none)} root root 337024 - /usr/lib/locale/ar_BH.utf8/LC_CTYPE
+-rw-r--r-- () 6:18 {(none)} root root 337024 - /usr/lib/locale/ar_BH.utf8/LC_CTYPE
 -rw-r--r-- () 19:17 {(none)} root root 288796 - /usr/lib/locale/ar_BH/LC_CTYPE
--rw-r--r-- () 6:19 {(none)} root root 337024 - /usr/lib/locale/ar_DZ.utf8/LC_CTYPE
+-rw-r--r-- () 6:18 {(none)} root root 337024 - /usr/lib/locale/ar_DZ.utf8/LC_CTYPE
 -rw-r--r-- () 19:17 {(none)} root root 288796 - /usr/lib/locale/ar_DZ/LC_CTYPE
--rw-r--r-- () 6:19 {(none)} root root 337024 - /usr/lib/locale/ar_EG.utf8/LC_CTYPE
+-rw-r--r-- () 6:18 {(none)} root root 337024 - /usr/lib/locale/ar_EG.utf8/LC_CTYPE
 -rw-r--r-- () 19:17 {(none)} root root 288796 - /usr/lib/locale/ar_EG/LC_CTYPE
--rw-r--r-- () 6:19 {(none)} root root 337024 - /usr/lib/locale/ar_IN/LC_CTYPE
--rw-r--r-- () 6:19 {(none)} root root 337024 - /usr/lib/locale/ar_IQ.utf8/LC_CTYPE
+-rw-r--r-- () 6:18 {(none)} root root 337024 - /usr/lib/locale/ar_IN/LC_CTYPE
+-rw-r--r-- () 6:18 {(none)} root root 337024 - /usr/lib/locale/ar_IQ.utf8/LC_CTYPE
 -rw-r--r-- () 19:17 {(none)} root root 288796 - /usr/lib/locale/ar_IQ/LC_CTYPE
--rw-r--r-- () 6:19 {(none)} root root 337024 - /usr/lib/locale/ar_JO.utf8/LC_CTYPE
+-rw-r--r-- () 6:18 {(none)} root root 337024 - /usr/lib/locale/ar_JO.utf8/LC_CTYPE
 -rw-r--r-- () 19:17 {(none)} root root 288796 - /usr/lib/locale/ar_JO/LC_CTYPE
--rw-r--r-- () 6:19 {(none)} root root 337024 - /usr/lib/locale/ar_KW.utf8/LC_CTYPE
+-rw-r--r-- () 6:18 {(none)} root root 337024 - /usr/lib/locale/ar_KW.utf8/LC_CTYPE
 -rw-r--r-- () 19:17 {(none)} root root 288796 - /usr/lib/locale/ar_KW/LC_CTYPE
--rw-r--r-- () 6:19 {(none)} root root 337024 - /usr/lib/locale/ar_LB.utf8/LC_CTYPE
+-rw-r--r-- () 6:18 {(none)} root root 337024 - /usr/lib/locale/ar_LB.utf8/LC_CTYPE
 -rw-r--r-- () 19:17 {(none)} root root 288796 - /usr/lib/locale/ar_LB/LC_CTYPE
--rw-r--r-- () 6:19 {(none)} root root 337024 - /usr/lib/locale/ar_LY.utf8/LC_CTYPE
+-rw-r--r-- () 6:18 {(none)} root root 337024 - /usr/lib/locale/ar_LY.utf8/LC_CTYPE
 -rw-r--r-- () 19:17 {(none)} root root 288796 - /usr/lib/locale/ar_LY/LC_CTYPE
--rw-r--r-- () 6:19 {(none)} root root 337024 - /usr/lib/locale/ar_MA.utf8/LC_CTYPE
+-rw-r--r-- () 6:18 {(none)} root root 337024 - /usr/lib/locale/ar_MA.utf8/LC_CTYPE
 -rw-r--r-- () 19:17 {(none)} root root 288796 - /usr/lib/locale/ar_MA/LC_CTYPE
--rw-r--r-- () 6:19 {(none)} root root 337024 - /usr/lib/locale/ar_OM.utf8/LC_CTYPE
+-rw-r--r-- () 300:1 {(none)} root root 337024 - /usr/lib/locale/ar_OM.utf8/LC_CTYPE
 -rw-r--r-- () 19:17 {(none)} root root 288796 - /usr/lib/locale/ar_OM/LC_CTYPE
--rw-r--r-- () 6:19 {(none)} root root 337024 - /usr/lib/locale/ar_QA.utf8/LC_CTYPE
+-rw-r--r-- () 6:18 {(none)} root root 337024 - /usr/lib/locale/ar_QA.utf8/LC_CTYPE
 -rw-r--r-- () 19:17 {(none)} root root 288796 - /usr/lib/locale/ar_QA/LC_CTYPE
--rw-r--r-- () 6:19 {(none)} root root 337024 - /usr/lib/locale/ar_SA.utf8/LC_CTYPE
+-rw-r--r-- () 6:18 {(none)} root root 337024 - /usr/lib/locale/ar_SA.utf8/LC_CTYPE
 -rw-r--r-- () 19:17 {(none)} root root 288796 - /usr/lib/locale/ar_SA/LC_CTYPE
--rw-r--r-- () 6:19 {(none)} root root 337024 - /usr/lib/locale/ar_SD.utf8/LC_CTYPE
+-rw-r--r-- () 6:18 {(none)} root root 337024 - /usr/lib/locale/ar_SD.utf8/LC_CTYPE
 -rw-r--r-- () 19:17 {(none)} root root 288796 - /usr/lib/locale/ar_SD/LC_CTYPE
--rw-r--r-- () 6:19 {(none)} root root 337024 - /usr/lib/locale/ar_SS/LC_CTYPE
--rw-r--r-- () 6:19 {(none)} root root 337024 - /usr/lib/locale/ar_SY.utf8/LC_CTYPE
+-rw-r--r-- () 6:18 {(none)} root root 337024 - /usr/lib/locale/ar_SS/LC_CTYPE
+-rw-r--r-- () 6:18 {(none)} root root 337024 - /usr/lib/locale/ar_SY.utf8/LC_CTYPE
 -rw-r--r-- () 19:17 {(none)} root root 288796 - /usr/lib/locale/ar_SY/LC_CTYPE
--rw-r--r-- () 6:19 {(none)} root root 337024 - /usr/lib/locale/ar_TN.utf8/LC_CTYPE
+-rw-r--r-- () 6:18 {(none)} root root 337024 - /usr/lib/locale/ar_TN.utf8/LC_CTYPE
 -rw-r--r-- () 19:17 {(none)} root root 288796 - /usr/lib/locale/ar_TN/LC_CTYPE
--rw-r--r-- () 6:19 {(none)} root root 337024 - /usr/lib/locale/ar_YE.utf8/LC_CTYPE
+-rw-r--r-- () 6:18 {(none)} root root 337024 - /usr/lib/locale/ar_YE.utf8/LC_CTYPE
 -rw-r--r-- () 19:17 {(none)} root root 288796 - /usr/lib/locale/ar_YE/LC_CTYPE

If there are fewer hardlinks as the result of these races, then installation size and RPM size increases due to data duplication.