Rather than using zic to both compile and install zoneinfo files,

generate the files during the build and install them with install(1).
This was the one place in installworld where files (vs links) were
installed by a tool other than install.

Reviewed by:	edwin, jilles
This commit is contained in:
Brooks Davis 2013-01-10 19:46:08 +00:00
parent 290a1ba9a4
commit 78e832b82d

View File

@ -29,6 +29,7 @@
#
CLEANFILES+= yearistype
CLEANDIRS+= builddir
CONTRIBDIR= ${.CURDIR}/../../contrib/tzdata/
.PATH: ${CONTRIBDIR}
@ -48,13 +49,39 @@ TZFILES+= backward systemv
TZFILES:= ${TZFILES:S/^/${CONTRIBDIR}/}
all: yearistype
TZBUILDDIR= ${.OBJDIR}/builddir
TZBUILDSUBDIRS= \
Africa \
America/Argentina \
America/Indiana \
America/Kentucky \
America/North_Dakota \
Antarctica \
Arctic \
Asia \
Atlantic \
Australia \
Etc \
Europe \
Indian \
Pacific \
SystemV
all: zoneinfo
.PHONY: zoneinfo
zoneinfo: yearistype ${TDATA}
mkdir -p ${TZBUILDDIR}
cd ${TZBUILDDIR}; mkdir -p ${TZBUILDSUBDIRS}
umask 022; cd ${.CURDIR}; \
zic -D -d ${TZBUILDDIR} -p ${POSIXRULES} -m ${NOBINMODE} \
${LEAPFILE} -y ${.OBJDIR}/yearistype ${TZFILES}
beforeinstall:
umask 022; cd ${.CURDIR}; \
zic -D -d ${DESTDIR}/usr/share/zoneinfo -p ${POSIXRULES} \
-u ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \
${LEAPFILE} -y ${.OBJDIR}/yearistype ${TZFILES}
cd ${TZBUILDDIR} && \
find . -type f -print | xargs -I _FILE_ ${INSTALL} \
-o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \
_FILE_ ${DESTDIR}/usr/share/zoneinfo/_FILE_
${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \
${CONTRIBDIR}/zone.tab ${DESTDIR}/usr/share/zoneinfo/