Skip to content

Commit a120791

Browse files
committed
Use zic's new "-b slim" option to generate smaller timezone files.
IANA tzcode release 2019b adds an option that tells zic not to emit the old 32-bit section of the timezone files, and to skip some other space-wasting hacks needed for compatibility with old timezone client libraries. Since we only expect our own code to use the timezone data we install, and our code is up-to-date with 2019b, there's no apparent reason not to generate the smallest possible files. Unfortunately, while the individual zone files do get significantly smaller in many cases, they were not that big to begin with; which means that no real space savings ensues on filesystems that don't optimize small files. (For instance, on ext4 with 4K block size, "du" says the installed timezone tree is the same size as before.) Still, it seems worth making the change, if only because this is presumably the wave of the future. At the very least, we'll save some cycles while reading a zone file. But given the marginal value and the fact that this is a new code path, it doesn't seem worth the risk of back-patching this change into stable branches. Hence, unlike most of our timezone-related changes, apply to HEAD only. Discussion: https://postgr.es/m/24998.1563403327@sss.pgh.pa.us
1 parent 28b6ec1 commit a120791

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

src/timezone/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ zic: $(ZICOBJS) | submake-libpgport
5555

5656
install: all installdirs
5757
ifeq (,$(with_system_tzdata))
58-
$(ZIC) -d '$(DESTDIR)$(datadir)/timezone' -p '$(POSIXRULES)' $(ZIC_OPTIONS) $(TZDATAFILES)
58+
$(ZIC) -d '$(DESTDIR)$(datadir)/timezone' -p '$(POSIXRULES)' -b slim $(ZIC_OPTIONS) $(TZDATAFILES)
5959
endif
6060
$(MAKE) -C tznames $@
6161

src/tools/msvc/Install.pm

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -365,8 +365,9 @@ sub GenerateTimezoneFiles
365365

366366
print "Generating timezone files...";
367367

368-
my @args =
369-
("$conf/zic/zic", '-d', "$target/share/timezone", '-p', "$posixrules");
368+
my @args = (
369+
"$conf/zic/zic", '-d', "$target/share/timezone", '-p',
370+
"$posixrules", '-b', 'slim');
370371
foreach (@tzfiles)
371372
{
372373
my $tzfile = $_;

0 commit comments

Comments
 (0)