From owner-svn-src-all@FreeBSD.ORG Tue Sep 17 20:09:26 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id C8D9AA6B; Tue, 17 Sep 2013 20:09:26 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 9C3592F64; Tue, 17 Sep 2013 20:09:26 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r8HK9QFj061193; Tue, 17 Sep 2013 20:09:26 GMT (envelope-from jilles@svn.freebsd.org) Received: (from jilles@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r8HK9QvW061191; Tue, 17 Sep 2013 20:09:26 GMT (envelope-from jilles@svn.freebsd.org) Message-Id: <201309172009.r8HK9QvW061191@svn.freebsd.org> From: Jilles Tjoelker Date: Tue, 17 Sep 2013 20:09:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r255651 - in head/share/i18n: csmapper esdb X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Sep 2013 20:09:26 -0000 Author: jilles Date: Tue Sep 17 20:09:25 2013 New Revision: 255651 URL: http://svnweb.freebsd.org/changeset/base/255651 Log: share/i18n: Fix installworld with read-only obj. Since iconv was enabled (r254273, August 13), it has been impossible to installworld using a read-only obj tree. This is common with NFS. Parts of share/i18n unconditionally rebuild files like mapper.dir during installation. This patch ensures the files like mapper.dir are not rewritten with the same contents. Tested by: joel Approved by: re (hrs) Modified: head/share/i18n/csmapper/Makefile head/share/i18n/esdb/Makefile Modified: head/share/i18n/csmapper/Makefile ============================================================================== --- head/share/i18n/csmapper/Makefile Tue Sep 17 18:51:35 2013 (r255650) +++ head/share/i18n/csmapper/Makefile Tue Sep 17 20:09:25 2013 (r255651) @@ -7,10 +7,11 @@ SUBDIR= APPLE AST BIG5 CNS CP EBCDIC GB KAZAKH KOI KS MISC TCVN mapper.dir: ${SUBDIR} - > ${.TARGET} -.for i in ${SUBDIR} - cat ${i}/mapper.dir.${i} >> ${.TARGET} -.endfor + newfile=$$(for i in ${SUBDIR}; do \ + cat $$i/mapper.dir.$$i; \ + done); \ + [ "$$newfile" = "$$(cat ${.TARGET} 2>/dev/null)" ] || \ + printf '%s\n' "$$newfile" >${.TARGET} mapper.dir.db: mapper.dir ${MKCSMAPPER} -m -o ${.TARGET} ${.ALLSRC} @@ -18,10 +19,11 @@ FILES+= mapper.dir mapper.dir.db CLEANFILES+= mapper.dir mapper.dir.db charset.pivot: ${SUBDIR} - > ${.TARGET} -.for i in ${SUBDIR} - cat ${i}/charset.pivot.${i} >> ${.TARGET} -.endfor + newfile=$$(for i in ${SUBDIR}; do \ + cat $$i/charset.pivot.$$i; \ + done); \ + [ "$$newfile" = "$$(cat ${.TARGET} 2>/dev/null)" ] || \ + printf '%s\n' "$$newfile" >${.TARGET} charset.pivot.pvdb: charset.pivot ${MKCSMAPPER} -p -o ${.TARGET} ${.ALLSRC} Modified: head/share/i18n/esdb/Makefile ============================================================================== --- head/share/i18n/esdb/Makefile Tue Sep 17 18:51:35 2013 (r255650) +++ head/share/i18n/esdb/Makefile Tue Sep 17 20:09:25 2013 (r255651) @@ -10,18 +10,20 @@ FILES+= esdb.dir esdb.dir.db esdb.alias CLEANFILES= ${FILES} esdb.dir: ${SUBDIR} - > $@ -.for i in ${SUBDIR} - cat ${i}/esdb.dir.${i} >>${.TARGET} -.endfor + newfile=$$(for i in ${SUBDIR}; do \ + cat $$i/esdb.dir.$$i; \ + done); \ + [ "$$newfile" = "$$(cat ${.TARGET} 2>/dev/null)" ] || \ + printf '%s\n' "$$newfile" >${.TARGET} esdb.dir.db: esdb.dir ${MKESDB} -m -o ${.TARGET} ${.ALLSRC} esdb.alias: ${SUBDIR} - > $@ -.for i in ${SUBDIR} - cat ${i}/esdb.alias.${i} >>${.TARGET} -.endfor + newfile=$$(for i in ${SUBDIR}; do \ + cat $$i/esdb.alias.$$i; \ + done); \ + [ "$$newfile" = "$$(cat ${.TARGET} 2>/dev/null)" ] || \ + printf '%s\n' "$$newfile" >${.TARGET} esdb.alias.db: esdb.alias ${MKESDB} -m -o ${.TARGET} ${.ALLSRC}