From owner-freebsd-arch@freebsd.org Sun Aug 12 13:00:34 2018 Return-Path: Delivered-To: freebsd-arch@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 49483106FC51 for ; Sun, 12 Aug 2018 13:00:34 +0000 (UTC) (envelope-from philip@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DEB1986D8B; Sun, 12 Aug 2018 13:00:33 +0000 (UTC) (envelope-from philip@freebsd.org) Received: from weatherwax.trouble.is (weatherwax.trouble.is [IPv6:2a00:dd80:3c::62e]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "weatherwax.trouble.is", Issuer "Let's Encrypt Authority X3" (verified OK)) (Authenticated sender: philip/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 87EC91901F; Sun, 12 Aug 2018 13:00:33 +0000 (UTC) (envelope-from philip@freebsd.org) Received: from rincewind.trouble.is (rincewind.trouble.is [IPv6:2a01:4f8:a0:10e6::1:1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "rincewind.trouble.is", Issuer "Let's Encrypt Authority X3" (verified OK)) by weatherwax.trouble.is (Postfix) with ESMTPS id 41pJr03lHjz3C1f; Sun, 12 Aug 2018 13:00:32 +0000 (UTC) Received: by rincewind.trouble.is (Postfix, authenticated sender philip) id 41pJqy4RGQzC8k; Sun, 12 Aug 2018 13:00:30 +0000 (UTC) From: "Philip Paeps" To: "Eitan Adler" Cc: "John Baldwin" , freebsd-arch@freebsd.org Subject: Re: upstream for contrib/tzcode/stdtme? Date: Sun, 12 Aug 2018 21:00:26 +0800 X-Clacks-Overhead: GNU Terry Pratchett X-Mailer: MailMate (1.11.3r5511) Message-ID: <8B61C2A5-DCEC-403A-B8F3-0B5BEF958612@freebsd.org> In-Reply-To: <7C8DB02A-8C15-4917-A941-A10DD2F3AB50@trouble.is> References: <20a85a8f-29a7-0d8f-64d1-9ba005ffe79c@FreeBSD.org> <10e35d23-37d8-edf4-fa3b-9663bfdaa629@FreeBSD.org> <7C8DB02A-8C15-4917-A941-A10DD2F3AB50@trouble.is> MIME-Version: 1.0 Content-Type: text/plain; format=flowed; markup=markdown X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Aug 2018 13:00:34 -0000 On 2018-08-12 20:36:23 (+0800), Philip Paeps wrote: > On 2018-08-12 20:23:23 (+0800), Eitan Adler wrote: > >> On Mon, 18 Jun 2018 at 10:08, John Baldwin wrote: >>> >>> On 6/15/18 4:09 PM, Eitan Adler wrote: >>>> On 15 June 2018 at 11:31, John Baldwin wrote: >>>> >>>>> I think this second approach is actually a better plan and is not >>>>> quite what you >>>>> were suggesting. >>>>> >>>>> That is, import the vendor bits corresponding to our existing code >>>>> first into >>>>> the vendor area, >>>> >>>>> then svn cp our existing files from libc, zic, etc. into the >>>>> contrib/stdtime tree in the correct layout and do a single 'svn >>>>> merge --record-only' >>>>> merge to initialize the vendor mergeinfo. >>>>> At that point you should be able to >>>>> svn diff contrib/stdtime against the vendor/stdtime/dist to >>>>> determine what local >>>>> changes we have and start to think about them. >> >> Coming back to this. In r337683 and r337684 I imported a recent copy >> of of TZDB. I was unable to find a copy of the 2010n distribution in >> the original layout. > > That's because we split up the tzcode in our vendor area (for reasons > I've never understood). As far as I know, there is no 1:1 mapping > from any tzcode distribution to what we have in our repository. > >> The next step, if I understand, is to do the following: >> cd /srv/srv/freebsd/svn/head/contrib >> mkdir tzdb >> cd tzdb >> svn cp ../tzcode/stdtime/* . >> svn cp ../tzcode/zic/* . >> svn cp ../tzdata/* . >> svn ci >> (the above ignores duplicated files, but that's just expanding the >> wildcards appropriately). >> >> After that: >> svn merge --record-only '^/vendor/tzdb' . >> >> At this point we'll be able to diff contrib/tzdb and vendor/tzdb to >> show the most current vendor code compared our, modified old code. >> >> Is this correct? Is this the optimal plan? > > I would really (really!) want to keep tzdata separate from tzcode and > not make it any more difficult to update tzdata (which happens > distressingly often). > > tzdata imports/updates are currently not a problem. And it's nice to > be able to simply issue an errata notice only updating the zoneinfo > files without touching the tzcode. > > The IANA tzdata project also distributes tzdata and tzcode separately. > If you wanted to update tzcode, you could do it independently of > tzdata. I just noticed you've already committed this import. In case you're not actively following the tz mailing list, you may have missed that every release of tzdb comes with lots of minor but annoying code changes in addition to the data changes we actually want to distribute as quickly as possible. Currently, updating the tzdata is a fairly mechanical process of updating vendor/tzdata and doing a couple of svn copies to contrib. If we started tracking the combined tzdb rather than tzcode and tzdata separately, issuing errata notices for timezone updates becomes practically impossible. Updating the zoneinfo files in an errata patch is non-controversial, certainly compared to often seemingly arbitrary changes to the subtle code that manipulates the representation of time. It makes no sense to import these together or attempt to maintain them as one vendor tree. That is why the tzcode and tzdata tarballs exist separately in addition to the combined tzdb tarball. As requested on the src-commits list: please import tzcode separately and leave tzdata alone. Thank you. Philip -- Philip Paeps Senior Reality Engineer Ministry of Information