svn commit: r245265 - head/share/zoneinfo

Brooks Davis brooks at FreeBSD.org
Thu Jan 10 19:46:09 UTC 2013


Author: brooks
Date: Thu Jan 10 19:46:08 2013
New Revision: 245265
URL: http://svnweb.freebsd.org/changeset/base/245265

Log:
  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

Modified:
  head/share/zoneinfo/Makefile

Modified: head/share/zoneinfo/Makefile
==============================================================================
--- head/share/zoneinfo/Makefile	Thu Jan 10 19:26:56 2013	(r245264)
+++ head/share/zoneinfo/Makefile	Thu Jan 10 19:46:08 2013	(r245265)
@@ -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
-
-beforeinstall:
+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 ${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/
 


More information about the svn-src-all mailing list