From hmo@sep.oldach.net  Sat Nov 26 07:18:03 2011
Return-Path: <hmo@sep.oldach.net>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 1E1E3106566B;
	Sat, 26 Nov 2011 07:18:03 +0000 (UTC)
	(envelope-from hmo@sep.oldach.net)
Received: from rigel.oldach.net (rigel.oldach.net [194.8.96.250])
	by mx1.freebsd.org (Postfix) with ESMTP id A781B8FC08;
	Sat, 26 Nov 2011 07:18:02 +0000 (UTC)
Received: from sep.oldach.net (hmo.in-vpn.de [217.197.85.210])
	by rigel.oldach.net (8.14.5/8.14.4/hmo30jul04) with ESMTP id pAQ6xNOc061936
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Sat, 26 Nov 2011 07:59:24 +0100 (CET)
	(envelope-from hmo@sep.oldach.net)
Received: from sep.oldach.net (localhost [127.0.0.1])
	by sep.oldach.net (8.14.5/8.14.5/hmo26jun05) with ESMTP id pAQ6xNfv053230
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Sat, 26 Nov 2011 07:59:23 +0100 (CET)
	(envelope-from hmo@sep.oldach.net)
Received: (from hmo@localhost)
	by sep.oldach.net (8.14.5/8.14.5/Submit/hmo26jun05) id pAQ6xNig053229;
	Sat, 26 Nov 2011 07:59:23 +0100 (CET)
	(envelope-from hmo)
Message-Id: <201111260659.pAQ6xNig053229@sep.oldach.net>
Date: Sat, 26 Nov 2011 07:59:23 +0100 (CET)
From: Helge Oldach <src-mergemaster-nov11@oldach.net>
Reply-To: Helge Oldach <src-mergemaster-nov11@oldach.net>
To: FreeBSD-gnats-submit@freebsd.org
Cc: Doug Barton <dougb@freebsd.org>
Subject: [patch] mergemaster -D runs tzsetup improperly
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         162891
>Category:       bin
>Synopsis:       [patch] mergemaster -D runs tzsetup improperly
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    dougb
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Nov 26 07:20:08 UTC 2011
>Closed-Date:    Thu Dec 01 07:36:33 UTC 2011
>Last-Modified:  Thu Dec 01 07:36:33 UTC 2011
>Originator:     Helge Oldach
>Release:        FreeBSD 8.2-1005 i386
>Organization:
>Environment:

System: FreeBSD localhost 8.2-1005 FreeBSD 8.2-1005 #0: Thu Nov 17 18:26:10 CET 2011 toor@localhost:/usr/obj/usr/src/sys/HMO i386

>Description:

When mergemaster'ing a destination directory with the -D option, and no
${DESTDIR}/var/db/zoneinfo exists, tzsetup is not run chroot'ed. This
causes tzsetup to create a fresh /var/db/zoneinfo instead of the
intended ${DESTDIR}/var/db/zoneinfo.

>How-To-Repeat:

Run mergemaster twice without ${DESTDIR}/var/db/zoneinfo - it will run
tzsetup again.

>Fix:

--- /usr/sbin/mergemaster~	2011-11-17 22:08:54.000000000 +0100
+++ /usr/sbin/mergemaster	2011-11-26 07:44:41.000000000 +0100
@@ -1338,14 +1338,14 @@
 
 if [ -e "${DESTDIR}/etc/localtime" ]; then	# Ignore if TZ == UTC
   echo ''
+  [ -n "${DESTDIR}" ] && tzs_args="-C ${DESTDIR}"
   if [ -f "${DESTDIR}/var/db/zoneinfo" ]; then
     echo "*** Reinstalling `cat ${DESTDIR}/var/db/zoneinfo` as ${DESTDIR}/etc/localtime"
-    [ -n "${DESTDIR}" ] && tzs_args="-C ${DESTDIR}"
     tzsetup $tzs_args -r
   else
     echo "*** There is no ${DESTDIR}/var/db/zoneinfo file to update ${DESTDIR}/etc/localtime."
     echo '    You should run tzsetup'
-    run_it_now tzsetup
+    run_it_now "tzsetup $tzs_args"
   fi
 fi
 

>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->patched 
State-Changed-By: dougb 
State-Changed-When: Tue Nov 29 08:22:15 UTC 2011 
State-Changed-Why:  

Patched in HEAD at r228122. Thanks for bringing this to my attention. 

I'll MFC ASAP. 

Doug 


Responsible-Changed-From-To: freebsd-bugs->dougb 
Responsible-Changed-By: dougb 
Responsible-Changed-When: Tue Nov 29 08:22:15 UTC 2011 
Responsible-Changed-Why:  

My bug. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=162891 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: bin/162891: commit references a PR
Date: Tue, 29 Nov 2011 08:22:27 +0000 (UTC)

 Author: dougb
 Date: Tue Nov 29 08:22:12 2011
 New Revision: 228122
 URL: http://svn.freebsd.org/changeset/base/228122
 
 Log:
   If using DESTDIR we need to be sure to create a ${DESTDIR}/var/db/zoneinfo
   
   PR:		bin/162891
   Submitted by:	Helge Oldach <src-mergemaster-nov11@oldach.net>
 
 Modified:
   head/usr.sbin/mergemaster/mergemaster.sh
 
 Modified: head/usr.sbin/mergemaster/mergemaster.sh
 ==============================================================================
 --- head/usr.sbin/mergemaster/mergemaster.sh	Tue Nov 29 08:21:54 2011	(r228121)
 +++ head/usr.sbin/mergemaster/mergemaster.sh	Tue Nov 29 08:22:12 2011	(r228122)
 @@ -1336,14 +1336,14 @@ esac
  
  if [ -e "${DESTDIR}/etc/localtime" ]; then	# Ignore if TZ == UTC
    echo ''
 +  [ -n "${DESTDIR}" ] && tzs_args="-C ${DESTDIR}"
    if [ -f "${DESTDIR}/var/db/zoneinfo" ]; then
      echo "*** Reinstalling `cat ${DESTDIR}/var/db/zoneinfo` as ${DESTDIR}/etc/localtime"
 -    [ -n "${DESTDIR}" ] && tzs_args="-C ${DESTDIR}"
      tzsetup $tzs_args -r
    else
      echo "*** There is no ${DESTDIR}/var/db/zoneinfo file to update ${DESTDIR}/etc/localtime."
      echo '    You should run tzsetup'
 -    run_it_now tzsetup
 +    run_it_now "tzsetup $tzs_args"
    fi
  fi
  
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: patched->closed 
State-Changed-By: dougb 
State-Changed-When: Thu Dec 1 07:35:45 UTC 2011 
State-Changed-Why:  

MFC complete. 

Thanks again, 

Doug 

http://www.freebsd.org/cgi/query-pr.cgi?pr=162891 
>Unformatted:
