aboutsummaryrefslogtreecommitdiff
path: root/share
diff options
context:
space:
mode:
authorBrooks Davis <brooks@FreeBSD.org>2013-01-10 19:46:08 +0000
committerBrooks Davis <brooks@FreeBSD.org>2013-01-10 19:46:08 +0000
commit78e832b82d6720d7b1393edb2be9a62771b66712 (patch)
tree5c8572fe5e361c169d90350f974e7e74e88e0734 /share
parent290a1ba9a40e4d608068b69ed73ad3d8bb3a2559 (diff)
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
Notes
Notes: svn path=/head/; revision=245265
Diffstat (limited to 'share')
-rw-r--r--share/zoneinfo/Makefile35
1 files changed, 31 insertions, 4 deletions
diff --git a/share/zoneinfo/Makefile b/share/zoneinfo/Makefile
index 6de8ef5f9346..97181dacd877 100644
--- a/share/zoneinfo/Makefile
+++ b/share/zoneinfo/Makefile
@@ -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
-beforeinstall:
+all: zoneinfo
+
+.PHONY: zoneinfo
+zoneinfo: yearistype ${TDATA}
+ mkdir -p ${TZBUILDDIR}
+ cd ${TZBUILDDIR}; mkdir -p ${TZBUILDSUBDIRS}
umask 022; cd ${.CURDIR}; \
- zic -D -d ${DESTDIR}/usr/share/zoneinfo -p ${POSIXRULES} \
- -u ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \
+ zic -D -d ${TZBUILDDIR} -p ${POSIXRULES} -m ${NOBINMODE} \
${LEAPFILE} -y ${.OBJDIR}/yearistype ${TZFILES}
+
+beforeinstall:
+ 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/