Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 8 Jul 2014 02:59:33 +0400
From: "Dmitry V. Levin" <ldv@...linux.org>
To: owl-dev@...ts.openwall.com
Subject: Re: tzdata

Hi,

On Tue, Jul 08, 2014 at 01:15:55AM +0400, Solar Designer wrote:
> Hi,
> 
> I thought I'd quickly update our tzdata package today, but it turned out
> to be a bit trickier than I had time for.
[...]
> I am not committing this update yet.  I'd appreciate comments from
> someone more knowledgeable.  Dmitry, what are your plans for updating
> tzdata in ALT Linux?  Can we use the same approach for ALT Linux and
> Owl, and can it be a simpler approach like what I tried above?
> 
> tzcode's Makefile has been much improved recently by Paul Eggert.
> I guess this is what broke compatibility with our old tzdata-base, but
> it's also a reason why we might not need tzdata-base anymore.  For
> example, there's now proper DESTDIR support in tzcode's Makefile.

Starting with 2012i, tzdata in ALT Linux is based on
https://github.com/eggert/tz (tarballs are also available, both git tags
and tarballs are signed by Paul Eggert).  The only additional file needed
to build tzdata is tzdata.spec, all the rest is provided by tzcode and
tzdata.

I vaguely recollect some upgrade issue with
/usr/share/zoneinfo{,-leaps,-posix} - something related to directories
turned into symlinks or a similar issue, but I do not remember details now.

> While we're at it, another detail I noticed is that our glibc's
> timezone/Makefile has a race condition when building with -j, which is
> put in MAKEFLAGS on Owl when we use "make PACKAGE=glibc".  This started
> failing for me after a kernel upgrade on a quad-core machine; setting
> PROCESSORS=3 in buildworld.sh makes the build succeed.  Specifically:
> 
> tzbases := africa antarctica asia australasia europe northamerica \
>            southamerica etcetera factory \
>            solar87 solar88 solar89
> tzlinks := backward systemv
> tzfiles := $(tzbases) $(tzlinks)
> 
> does not ensure that $(tzbases) are built before $(tzlinks) are started
> being built, which results in:
[...]
> I don't know if this glibc timezone build race is already fixed upstream
> or not.  At first glance, it is not - but somehow there are no recent
> complaints from LFS users, so maybe it went away with some other change.

Upstream glibc no longer builds $(tzlinks), probably as a side effect of
this change in glibc-2.16:
https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS;hb=glibc-2.16#l133

> %install
> rm -rf %buildroot
> %__make install DESTDIR=%buildroot TOPDIR=/usr TZDIR=%_datadir/zoneinfo

It would be simpler to leave default TOPDIR=/usr/local unchanged, and ...

> %files
> %defattr(-,root,root)
> %_datadir/zoneinfo
> %doc README NEWS Theory *.htm*
> %exclude /usr/etc
> %exclude /usr/lib
> %exclude /usr/man

... replace all these %exclude lines with a single line.


-- 
ldv

[ CONTENT OF TYPE application/pgp-signature SKIPPED ]

Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ