150476Speter# $FreeBSD: stable/10/share/zoneinfo/Makefile 322100 2017-08-05 16:55:07Z ngie $
21638Srgrimes
3172476Sedwin#
4172476Sedwin# HOW TO UPDATE THE ZONEINFO DATA
5172476Sedwin#
6181426Sedwin# With the use of subversion, this is a little bit simpler than the CVS method.
7172476Sedwin#
8181426Sedwin# Import the new sources to the vendor branch:
9172476Sedwin#
10181426Sedwin# $ cd ~/svn/vendor/tzdata/dist
11181426Sedwin# $ tar zxvf /usr/ports/distfile/tzdata2008X.tar.gz
12181426Sedwin#   (check with "svn stat" and "svn diff" if it all makes sense)
13181426Sedwin# $ svn commit	# Commit message: "Vendor import of tzdata2008X (+details)" 
14172476Sedwin#
15181426Sedwin# Tag it
16172476Sedwin#
17181426Sedwin# $ cd ~/svn/vendor/tzdata
18181426Sedwin# $ svn cp svn+ssh://svn.freebsd.org/base/vendor/tzdata/dist \
19181426Sedwin#	svn+ssh://svn.freebsd.org/base/vendor/tzdata/tzdata2008X
20183865Sedwin# $ svn update	# Commit message: "Tag of tzdata2008X"
21172476Sedwin#
22181426Sedwin# Merge-from-vendor
23172476Sedwin#
24183865Sedwin# $ cd ~/svn/head/share/zoneinfo
25181426Sedwin# $ svn update
26183865Sedwin# $ svn merge -c X --accept=postpone \
27181426Sedwin#	svn+ssh://svn.freebsd.org/base/vendor/tzdata/dist .
28183865Sedwin# $ svn update	# Commit message: "MFV of tzdata2008X"
29172476Sedwin#
30172476Sedwin
31322100Sngie.include <bsd.own.mk>
32322100Sngie
332747SwollmanCLEANFILES+=	yearistype
34245265SbrooksCLEANDIRS+=	builddir
35204300SedwinCONTRIBDIR=	${.CURDIR}/../../contrib/tzdata/
36204300Sedwin.PATH:		${CONTRIBDIR}
371638Srgrimes
382747Swollman.if defined(LEAPSECONDS)
39322100Sngie.warning "Using backwards compatibility variable for LEAPSECONDS; please use WITH_ZONEINFO_LEAPSECONDS_SUPPORT instead"
40322100SngieMK_ZONEINFO_LEAPSECONDS_SUPPORT= yes
41322100Sngie.endif
42322100Sngie
43322100Sngie.if defined(OLDTIMEZONES)
44322100Sngie.warning "Using backwards compatibility variable for OLDTIMEZONES; please use WITH_ZONEINFO_OLD_TIMEZONES_SUPPORT instead"
45322100SngieMK_ZONEINFO_OLD_TIMEZONES_SUPPORT= yes
46322100Sngie.endif
47322100Sngie
48322100Sngie.if ${MK_ZONEINFO_LEAPSECONDS_SUPPORT} != "no"
49287546SdelphijLEAPFILE=	-L ${CONTRIBDIR}leapseconds
502747Swollman.else
5112319SgpalmerLEAPFILE=
522747Swollman.endif
531638Srgrimes
542747SwollmanTZFILES=	africa antarctica asia australasia etcetera europe \
55149653Swollman		factory northamerica southamerica
562747SwollmanPOSIXRULES=	America/New_York
571638Srgrimes
58322100Sngie.if ${MK_ZONEINFO_OLD_TIMEZONES_SUPPORT} != "no"
59149653SwollmanTZFILES+=	backward systemv
602747Swollman.endif
611638Srgrimes
62204300SedwinTZFILES:=	${TZFILES:S/^/${CONTRIBDIR}/}
63204300Sedwin
64245265SbrooksTZBUILDDIR=	${.OBJDIR}/builddir
65245265SbrooksTZBUILDSUBDIRS=	\
66245265Sbrooks		Africa \
67245265Sbrooks		America/Argentina \
68245265Sbrooks		America/Indiana \
69245265Sbrooks		America/Kentucky \
70245265Sbrooks		America/North_Dakota \
71245265Sbrooks		Antarctica \
72245265Sbrooks		Arctic \
73245265Sbrooks		Asia \
74245265Sbrooks		Atlantic \
75245265Sbrooks		Australia \
76245265Sbrooks		Etc \
77245265Sbrooks		Europe \
78245265Sbrooks		Indian \
79245265Sbrooks		Pacific \
80245265Sbrooks		SystemV
811638Srgrimes
82322100Sngie.if ${MK_ZONEINFO_OLD_TIMEZONES_SUPPORT} != "no"
83312869SjulianTZBUILDSUBDIRS+= US Mexico Chile Canada Brazil
84312869Sjulian.endif
85312869Sjulian
86245265Sbrooksall: zoneinfo
87245265Sbrooks
88245265Sbrooks.PHONY: zoneinfo
89245265Sbrookszoneinfo: yearistype ${TDATA}
90245265Sbrooks	mkdir -p ${TZBUILDDIR}
91245265Sbrooks	cd ${TZBUILDDIR}; mkdir -p ${TZBUILDSUBDIRS}
922747Swollman	umask 022; cd ${.CURDIR}; \
93245265Sbrooks	zic -D -d ${TZBUILDDIR} -p ${POSIXRULES} -m ${NOBINMODE} \
94136709Sru	    ${LEAPFILE} -y ${.OBJDIR}/yearistype ${TZFILES}
95245265Sbrooks
96245265Sbrooksbeforeinstall:
97312870Sjulian	mkdir -p ${DESTDIR}/usr/share/zoneinfo
98312870Sjulian	cd ${DESTDIR}/usr/share/zoneinfo;  mkdir -p ${TZBUILDSUBDIRS}
99245265Sbrooks	cd ${TZBUILDDIR} && \
100289974Sngie	    find -s * -type f -print -exec ${INSTALL} \
101245265Sbrooks	    -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \
102245309Sbrooks	    \{} ${DESTDIR}/usr/share/zoneinfo/\{} \;
103100872Sru	${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \
104204300Sedwin	    ${CONTRIBDIR}/zone.tab ${DESTDIR}/usr/share/zoneinfo/
1051638Srgrimes
106198351Sedwinafterinstall:
107198375Sedwin#
108198375Sedwin# If the file /var/db/zoneinfo exists, and it is owned by root:wheel,
109198375Sedwin# and the contents of it exists in /usr/share/zoneinfo, then reinstall
110198375Sedwin# it.
111198375Sedwin#
112198351Sedwin	@if [ -f ${DESTDIR}/var/db/zoneinfo -a -O ${DESTDIR}/var/db/zoneinfo \
113198351Sedwin	    -a -G ${DESTDIR}/var/db/zoneinfo ]; then \
114198351Sedwin		zf=$$(cat ${DESTDIR}/var/db/zoneinfo); \
115198351Sedwin		if [ -f ${DESTDIR}/usr/share/zoneinfo/$${zf} ]; then \
116198351Sedwin			if [ ! -z "${DESTDIR}" ]; then \
117198351Sedwin				optC="-C ${DESTDIR}"; \
118198351Sedwin			fi; \
119198351Sedwin			echo "Updating /etc/localtime"; \
120203780Snork			tzsetup $${optC} -r; \
121198351Sedwin		fi; \
122198351Sedwin	else \
123198351Sedwin		echo "Run tzsetup(8) manually to update /etc/localtime."; \
124198351Sedwin	fi
125198351Sedwin
126322100Sngie.if ${MK_TESTS} != "no"
127322100SngieSUBDIR+=	tests
128322100Sngie.endif
129322100Sngie
1301638Srgrimes.include <bsd.prog.mk>
131