diff --git a/timezone-java.changes b/timezone-java.changes
index 24fa88d..fb35def 100644
--- a/timezone-java.changes
+++ b/timezone-java.changes
@@ -1,3 +1,9 @@
+-------------------------------------------------------------------
+Tue Apr 21 14:41:08 CEST 2009 - werner@suse.de
+
+- Use Unversial time zone for posixrules
+- Use mktemp from coreutiles for temporary file
+
 -------------------------------------------------------------------
 Thu Mar 26 01:40:08 CET 2009 - pbaudis@suse.cz
 
diff --git a/timezone-java.spec b/timezone-java.spec
index 35747fb..fa0eef7 100644
--- a/timezone-java.spec
+++ b/timezone-java.spec
@@ -26,7 +26,7 @@ Group:          System/Base
 # COMMON-BEGIN
 # COMMON-BEGIN
 Version:        2009d
-Release:        1
+Release:        2
 Source:         tzdata%{version}.tar.gz
 Source1:        tzcode%{version}.tar.gz
 # COMMON-END
@@ -63,6 +63,9 @@ cp -a javazi $RPM_BUILD_ROOT%{_datadir}
 %{_datadir}/javazi
 
 %changelog
+* Tue Apr 21 2009 werner@suse.de
+- Use Unversial time zone for posixrules
+- Use mktemp from coreutiles for temporary file
 * Thu Mar 26 2009 pbaudis@suse.cz
 - update to 2009d:
   * DST changes: Africa/Casablanca, Africa/Tunis, Asia/Damascus,
@@ -120,7 +123,7 @@ cp -a javazi $RPM_BUILD_ROOT%{_datadir}
 - Use RPM_OPT_FLAGS.
 * Thu Dec 06 2007 pbaudis@suse.cz
 - Update to version 2007j (esp. Venezuela time shift)
-* Sun Oct 07 2007 pbaudis@suse.cz
+* Mon Oct 08 2007 pbaudis@suse.cz
 - Update to version 2007h
 * Sat Sep 08 2007 pbaudis@suse.cz
 - Fix %%post script to work in patch RPMs as well
@@ -391,7 +394,7 @@ cp -a javazi $RPM_BUILD_ROOT%{_datadir}
 - Fix asm-s390/setup.h for userspace inclusion
 - nsswitch.conf: Add nis to netgroup and automount entry
 - Fix sys/procfs.h for ppc64
-* Mon Jan 09 2006 kukuk@suse.de
+* Tue Jan 10 2006 kukuk@suse.de
 - Update to current CVS (fix for pthread.h with -std=c99)
 - Define PAGE_SIZE on POWER
 - Don't include linux/sched.h in asm-power/elf.h
@@ -618,7 +621,7 @@ cp -a javazi $RPM_BUILD_ROOT%{_datadir}
 - Include own copy of texi2html
 - Add glibc_pst_upgrade program (based on version from FC3)
 - Update to current CVS
-* Thu Jan 27 2005 kukuk@suse.de
+* Fri Jan 28 2005 kukuk@suse.de
 - Re-add patch for timezone/zic.c (got lost with last merge)
 * Wed Jan 26 2005 kukuk@suse.de
 - Update timezone data to 2005c release (fixes zdump crash on
@@ -714,7 +717,7 @@ cp -a javazi $RPM_BUILD_ROOT%{_datadir}
 - Update to CVS: Fix nscd crash if one service is disabled
 - glob.h: Add workaround for invalid prototypes
 - nss_compat: Check that buffer is larger than 0 bytes
-* Fri Sep 10 2004 kukuk@suse.de
+* Sat Sep 11 2004 kukuk@suse.de
 - Update to CVS: Fix cdefs.h for C++ usage
 * Fri Sep 10 2004 kukuk@suse.de
 - Add lwres to hosts search order in nsswitch.conf
@@ -732,7 +735,7 @@ cp -a javazi $RPM_BUILD_ROOT%{_datadir}
 - Update to current CVS:
   - Use CVS version for last fix.
   - Add malloc sanity checks for double free.
-* Fri Aug 20 2004 schwab@suse.de
+* Sat Aug 21 2004 schwab@suse.de
 - Fix cancellable syscalls in librt w/ linuxthreads.
 * Fri Aug 20 2004 kukuk@suse.de
 - Update to current CVS [#43993]
@@ -810,19 +813,19 @@ cp -a javazi $RPM_BUILD_ROOT%{_datadir}
 * Thu Apr 15 2004 kukuk@suse.de
 - Add /etc/ld.so.conf.d/*.conf to /etc/ld.so.conf
 - Disable FUTEX_REQUEUE support in NPTL library [Bug #38882]
-* Wed Apr 14 2004 schwab@suse.de
+* Thu Apr 15 2004 schwab@suse.de
 - Remove /usr/i386-linux from ld.so.conf,
 * Wed Apr 14 2004 kukuk@suse.de
 - Fix linux/compiler.h for glibc inclusion
 - Really fix ffsl on s390x
-* Fri Apr 09 2004 schwab@suse.de
+* Sat Apr 10 2004 schwab@suse.de
 - Fix syntax error in memcmp.
 * Fri Apr 09 2004 kukuk@suse.de
 - Update from CVS: linuxthread debug fixes
 - Fix INLINE_SYSCALL on x86-64 and ia64 (fixes #38399)
 - Fix ffsl weak alias on s390x
 - Update to 2.6.5 kernel headers
-* Wed Apr 07 2004 meissner@suse.de
+* Thu Apr 08 2004 meissner@suse.de
 - forward umount to umount2 on ppc64 because umount syscall
   does not exist
 * Mon Apr 05 2004 kukuk@suse.de
@@ -1345,7 +1348,7 @@ cp -a javazi $RPM_BUILD_ROOT%{_datadir}
 - Update to current cvs snapshot
 * Fri Jan 03 2003 bg@suse.de
 - removed obsolete patch for hppa
-* Fri Dec 20 2002 kukuk@suse.de
+* Sat Dec 21 2002 kukuk@suse.de
 - Update to current cvs snapshot
 - Obsoletes glibc-2.3-setjmp-ppc64.diff
 - Obsoletes build-alpha.diff
@@ -1922,7 +1925,7 @@ cp -a javazi $RPM_BUILD_ROOT%{_datadir}
 - strip gconv modules
 * Fri Nov 24 2000 kukuk@suse.de
 - Fix typo in spec file
-* Thu Nov 23 2000 kukuk@suse.de
+* Fri Nov 24 2000 kukuk@suse.de
 - Add hack for POWER3
 * Wed Nov 22 2000 kukuk@suse.de
 - Add strncat bugfix for S/390
@@ -2234,7 +2237,7 @@ cp -a javazi $RPM_BUILD_ROOT%{_datadir}
 - don't use lx_hack for build
 * Tue Mar 16 1999 ro@suse.de
 - libc.texinfo: changed to build with stable texinfo version
-* Mon Mar 15 1999 ro@suse.de
+* Tue Mar 16 1999 ro@suse.de
 - update to 2.1.1 (cvs of Mar 15 1999)
 - update nssv1 to 2.0.2
 * Sat Feb 20 1999 ro@suse.de
@@ -2259,7 +2262,7 @@ cp -a javazi $RPM_BUILD_ROOT%{_datadir}
 * Wed Sep 02 1998 ro@suse.de
 - build for 586 since egcs generates code for 686 that does NOT run
   on 586 !!! (eg strtok)
-* Fri Aug 21 1998 ro@suse.de
+* Sat Aug 22 1998 ro@suse.de
 - updated to cvs-version 20.8.98
   added gettext as neededforbuild (so configure shuts up)
   glibc-linuxthreads is contained in main archive now
diff --git a/timezone.changes b/timezone.changes
index 24fa88d..fb35def 100644
--- a/timezone.changes
+++ b/timezone.changes
@@ -1,3 +1,9 @@
+-------------------------------------------------------------------
+Tue Apr 21 14:41:08 CEST 2009 - werner@suse.de
+
+- Use Unversial time zone for posixrules
+- Use mktemp from coreutiles for temporary file
+
 -------------------------------------------------------------------
 Thu Mar 26 01:40:08 CET 2009 - pbaudis@suse.cz
 
diff --git a/timezone.spec b/timezone.spec
index 5167062..a85162e 100644
--- a/timezone.spec
+++ b/timezone.spec
@@ -26,7 +26,7 @@ Url:            http://www.gnu.org/software/libc/libc.html
 PreReq:         filesystem, coreutils
 # COMMON-BEGIN
 Version:        2009d
-Release:        1
+Release:        2
 Source:         tzdata%{version}.tar.gz
 Source1:        tzcode%{version}.tar.gz
 # COMMON-END
@@ -34,6 +34,8 @@ Patch0:         tzdata-china.diff
 Patch1:         tzcode-zic.diff
 Patch2:         tzcode-ksh.diff
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+%global AREA    Etc
+%global ZONE    UTC
 
 %description
 These are configuration files that describe available time zones. You
@@ -48,35 +50,44 @@ can select an appropriate time zone for your system with YaST.
 %patch2
 
 %build
+unset ${!LC_*}
+LANG=POSIX
+LC_ALL=POSIX
+AREA=%{AREA}
+ZONE=%{ZONE}
+export AREA LANG LC_ALL ZONE
 make TZDIR=%{_prefix}/share/zoneinfo CFLAGS="$RPM_OPT_FLAGS -DHAVE_GETTEXT=1 -DTZDEFAULT='\"/etc/localtime\"'" AWK=awk
 make TZDIR=zoneinfo AWK=awk zones
 # Generate posixrules
-./zic -y ./yearistype -d zoneinfo -p America/New_York
+./zic -y ./yearistype -d zoneinfo -p %{AREA}/%{ZONE}
 
 %install
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/share/zoneinfo
-cp -a zoneinfo $RPM_BUILD_ROOT%{_prefix}/share/zoneinfo/posix
-cp -al $RPM_BUILD_ROOT%{_prefix}/share/zoneinfo/posix/. $RPM_BUILD_ROOT%{_prefix}/share/zoneinfo
-cp -a zoneinfo-leaps $RPM_BUILD_ROOT%{_prefix}/share/zoneinfo/right
-mkdir -p $RPM_BUILD_ROOT/etc
-rm -f $RPM_BUILD_ROOT/etc/localtime
-cp -f $RPM_BUILD_ROOT%{_prefix}/share/zoneinfo/UTC $RPM_BUILD_ROOT/etc/localtime
-install -m 644 iso3166.tab $RPM_BUILD_ROOT%{_prefix}/share/zoneinfo/iso3166.tab
-install -m 644 zone.tab $RPM_BUILD_ROOT%{_prefix}/share/zoneinfo/zone.tab
-install -D -m 755 tzselect $RPM_BUILD_ROOT%{_bindir}/tzselect
-install -D -m 755 zdump $RPM_BUILD_ROOT%{_sbindir}/zdump
-install -D -m 755 zic $RPM_BUILD_ROOT%{_sbindir}/zic
+mkdir -p %{buildroot}%{_prefix}/share/zoneinfo
+cp -a zoneinfo %{buildroot}%{_prefix}/share/zoneinfo/posix
+cp -al %{buildroot}%{_prefix}/share/zoneinfo/posix/. %{buildroot}%{_prefix}/share/zoneinfo
+cp -a zoneinfo-leaps %{buildroot}%{_prefix}/share/zoneinfo/right
+mkdir -p %{buildroot}/etc
+rm -f  %{buildroot}/etc/localtime
+rm -f  %{buildroot}%{_prefix}/share/zoneinfo/posixrules
+cp -fp %{buildroot}%{_prefix}/share/zoneinfo/%{AREA}/%{ZONE} %{buildroot}/etc/localtime
+ln -sf /etc/localtime      %{buildroot}%{_prefix}/share/zoneinfo/posixrules
+install -m 644 iso3166.tab %{buildroot}%{_prefix}/share/zoneinfo/iso3166.tab
+install -m 644 zone.tab    %{buildroot}%{_prefix}/share/zoneinfo/zone.tab
+install -D -m 755 tzselect %{buildroot}%{_bindir}/tzselect
+install -D -m 755 zdump    %{buildroot}%{_sbindir}/zdump
+install -D -m 755 zic      %{buildroot}%{_sbindir}/zic
 
 %clean
-rm -rf $RPM_BUILD_ROOT
+rm -rf %{buildroot}
 
 %post
 if [ -f /etc/sysconfig/clock ];
 then
     . /etc/sysconfig/clock
     if [ -n "$TIMEZONE" -a -f /etc/localtime -a -f /usr/share/zoneinfo/$TIMEZONE ]; then
-	cp -l /usr/share/zoneinfo/$TIMEZONE /etc/localtime.$$ 2>/dev/null || cp -f /usr/share/zoneinfo/$TIMEZONE /etc/localtime.$$
-	mv /etc/localtime.$$ /etc/localtime
+	new=$(mktemp /etc/localtime.XXXXXXXX) || exit 1
+	cp -l /usr/share/zoneinfo/$TIMEZONE $new 2>/dev/null || cp -fp /usr/share/zoneinfo/$TIMEZONE $new
+	mv -f $new /etc/localtime
     else
 	[ ! -f /etc/localtime ] || echo "WARNING: Not updating /etc/localtime with new zone file" >&2
     fi
@@ -84,13 +95,17 @@ fi
 
 %files
 %defattr(-,root,root)
-%verify(not md5 size mtime) %config(noreplace) /etc/localtime
+%verify(not link md5 size mtime) %config(missingok,noreplace) /etc/localtime
+%verify(not link md5 size mtime) %config(missingok,noreplace) %{_prefix}/share/zoneinfo/posixrules
 %{_prefix}/share/zoneinfo
 %{_bindir}/tzselect
 %{_sbindir}/zdump
 %{_sbindir}/zic
 
 %changelog
+* Tue Apr 21 2009 werner@suse.de
+- Use Unversial time zone for posixrules
+- Use mktemp from coreutiles for temporary file
 * Thu Mar 26 2009 pbaudis@suse.cz
 - update to 2009d:
   * DST changes: Africa/Casablanca, Africa/Tunis, Asia/Damascus,
@@ -148,7 +163,7 @@ fi
 - Use RPM_OPT_FLAGS.
 * Thu Dec 06 2007 pbaudis@suse.cz
 - Update to version 2007j (esp. Venezuela time shift)
-* Sun Oct 07 2007 pbaudis@suse.cz
+* Mon Oct 08 2007 pbaudis@suse.cz
 - Update to version 2007h
 * Sat Sep 08 2007 pbaudis@suse.cz
 - Fix %%post script to work in patch RPMs as well
@@ -419,7 +434,7 @@ fi
 - Fix asm-s390/setup.h for userspace inclusion
 - nsswitch.conf: Add nis to netgroup and automount entry
 - Fix sys/procfs.h for ppc64
-* Mon Jan 09 2006 kukuk@suse.de
+* Tue Jan 10 2006 kukuk@suse.de
 - Update to current CVS (fix for pthread.h with -std=c99)
 - Define PAGE_SIZE on POWER
 - Don't include linux/sched.h in asm-power/elf.h
@@ -646,7 +661,7 @@ fi
 - Include own copy of texi2html
 - Add glibc_pst_upgrade program (based on version from FC3)
 - Update to current CVS
-* Thu Jan 27 2005 kukuk@suse.de
+* Fri Jan 28 2005 kukuk@suse.de
 - Re-add patch for timezone/zic.c (got lost with last merge)
 * Wed Jan 26 2005 kukuk@suse.de
 - Update timezone data to 2005c release (fixes zdump crash on
@@ -742,7 +757,7 @@ fi
 - Update to CVS: Fix nscd crash if one service is disabled
 - glob.h: Add workaround for invalid prototypes
 - nss_compat: Check that buffer is larger than 0 bytes
-* Fri Sep 10 2004 kukuk@suse.de
+* Sat Sep 11 2004 kukuk@suse.de
 - Update to CVS: Fix cdefs.h for C++ usage
 * Fri Sep 10 2004 kukuk@suse.de
 - Add lwres to hosts search order in nsswitch.conf
@@ -760,7 +775,7 @@ fi
 - Update to current CVS:
   - Use CVS version for last fix.
   - Add malloc sanity checks for double free.
-* Fri Aug 20 2004 schwab@suse.de
+* Sat Aug 21 2004 schwab@suse.de
 - Fix cancellable syscalls in librt w/ linuxthreads.
 * Fri Aug 20 2004 kukuk@suse.de
 - Update to current CVS [#43993]
@@ -838,19 +853,19 @@ fi
 * Thu Apr 15 2004 kukuk@suse.de
 - Add /etc/ld.so.conf.d/*.conf to /etc/ld.so.conf
 - Disable FUTEX_REQUEUE support in NPTL library [Bug #38882]
-* Wed Apr 14 2004 schwab@suse.de
+* Thu Apr 15 2004 schwab@suse.de
 - Remove /usr/i386-linux from ld.so.conf,
 * Wed Apr 14 2004 kukuk@suse.de
 - Fix linux/compiler.h for glibc inclusion
 - Really fix ffsl on s390x
-* Fri Apr 09 2004 schwab@suse.de
+* Sat Apr 10 2004 schwab@suse.de
 - Fix syntax error in memcmp.
 * Fri Apr 09 2004 kukuk@suse.de
 - Update from CVS: linuxthread debug fixes
 - Fix INLINE_SYSCALL on x86-64 and ia64 (fixes #38399)
 - Fix ffsl weak alias on s390x
 - Update to 2.6.5 kernel headers
-* Wed Apr 07 2004 meissner@suse.de
+* Thu Apr 08 2004 meissner@suse.de
 - forward umount to umount2 on ppc64 because umount syscall
   does not exist
 * Mon Apr 05 2004 kukuk@suse.de
@@ -1373,7 +1388,7 @@ fi
 - Update to current cvs snapshot
 * Fri Jan 03 2003 bg@suse.de
 - removed obsolete patch for hppa
-* Fri Dec 20 2002 kukuk@suse.de
+* Sat Dec 21 2002 kukuk@suse.de
 - Update to current cvs snapshot
 - Obsoletes glibc-2.3-setjmp-ppc64.diff
 - Obsoletes build-alpha.diff
@@ -1950,7 +1965,7 @@ fi
 - strip gconv modules
 * Fri Nov 24 2000 kukuk@suse.de
 - Fix typo in spec file
-* Thu Nov 23 2000 kukuk@suse.de
+* Fri Nov 24 2000 kukuk@suse.de
 - Add hack for POWER3
 * Wed Nov 22 2000 kukuk@suse.de
 - Add strncat bugfix for S/390
@@ -2262,7 +2277,7 @@ fi
 - don't use lx_hack for build
 * Tue Mar 16 1999 ro@suse.de
 - libc.texinfo: changed to build with stable texinfo version
-* Mon Mar 15 1999 ro@suse.de
+* Tue Mar 16 1999 ro@suse.de
 - update to 2.1.1 (cvs of Mar 15 1999)
 - update nssv1 to 2.0.2
 * Sat Feb 20 1999 ro@suse.de
@@ -2287,7 +2302,7 @@ fi
 * Wed Sep 02 1998 ro@suse.de
 - build for 586 since egcs generates code for 686 that does NOT run
   on 586 !!! (eg strtok)
-* Fri Aug 21 1998 ro@suse.de
+* Sat Aug 22 1998 ro@suse.de
 - updated to cvs-version 20.8.98
   added gettext as neededforbuild (so configure shuts up)
   glibc-linuxthreads is contained in main archive now