about summary refs log tree commit diff
path: root/localedata
diff options
context:
space:
mode:
authorCarlos O'Donell <carlos@redhat.com>2018-11-26 09:51:51 -0500
committerCarlos O'Donell <carlos@redhat.com>2018-12-03 10:15:39 -0500
commit8cebd4ffe67bf94508809ea0caa02a4f1d52e8b1 (patch)
tree37941e21ff2e02a3d6318eceeef5bc7d565215ae /localedata
parentc22e4c2a1431c5e77bf4288d35bf7629f2f093aa (diff)
downloadglibc-8cebd4ffe67bf94508809ea0caa02a4f1d52e8b1.tar.gz
glibc-8cebd4ffe67bf94508809ea0caa02a4f1d52e8b1.tar.xz
glibc-8cebd4ffe67bf94508809ea0caa02a4f1d52e8b1.zip
Add --no-hard-links option to localedef (bug 23923)
Downstream distributions need consistent sets of hardlinks in
order for rpm to operate effectively. This means that even if
locales are built with a high level of parallelism that the
resulting files need to have consistent hardlink counts. The only
way to achieve this is with a post-install hardlink pass using a
program like 'hardlink' (shipped in Fedora).

If the downstream distro wants to post-process the hardlinks then
the time spent in localedef looking up sibling directories and
processing hardlinks is wasted effort.

To optimize the build and install pass we add a --no-hard-links
option to localedef to avoid doing the hardlink optimziation for
size.

Tested on x86_64 with 'make localedata/install-locale-files'
before and after. Without the patch we have files with 100+
hardlink counts. After the patch and running with --no-hard-links
all link counts are 1. This patch also alters the convenience
target 'make localedata/install-locale-files' to use the new
option.

Signed-off-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'localedata')
-rw-r--r--localedata/Makefile2
1 files changed, 1 insertions, 1 deletions
diff --git a/localedata/Makefile b/localedata/Makefile
index 0eea396ad8..b245f0ff54 100644
--- a/localedata/Makefile
+++ b/localedata/Makefile
@@ -423,7 +423,7 @@ $(INSTALL-SUPPORTED-LOCALE-ARCHIVE): install-locales-dir
 	$(build-one-locale)
 
 $(INSTALL-SUPPORTED-LOCALE-FILES): install-locales-dir
-	@flags="-c --no-archive"; \
+	@flags="-c --no-archive --no-hard-links"; \
 	$(build-one-locale)
 
 tst-setlocale-ENV = LC_ALL=ja_JP.EUC-JP