X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=tzdata.spec;h=9a252e3e6accbfe976a9bac25747b2dd8f5fd9c0;hb=01671b7d3e7fa0fc9bd58880efe091def5100b98;hp=520c0f17c581aab7924eb299986344cf7236ce67;hpb=6496acd70fbadd7a81877edbe833ccf3a1581745;p=packages%2Ftzdata.git diff --git a/tzdata.spec b/tzdata.spec index 520c0f1..9a252e3 100644 --- a/tzdata.spec +++ b/tzdata.spec @@ -1,38 +1,56 @@ # # Conditional build %bcond_without tests # make check -%bcond_with java # build java subpackage +%bcond_without java # build java subpackage -%define tzcode_ver 2010j -%define tzdata_ver 2010j +%if "%{pld_release}" == "ac" +%ifnarch i586 i686 pentium3 pentium4 athlon %{x8664} +%undefine with_java +%endif +%endif + +%define tzcode_ver 2017c +%define tzdata_ver 2017c Summary: Timezone data Summary(pl.UTF-8): Dane o strefach czasowych Name: tzdata Version: %{tzdata_ver} -Release: 1 +Release: 2 License: Public Domain (database), BSD/LGPL v2.1+ (code/test suite) Group: Base +# The tzdata-base-0.tar.bz2 is a simple building infrastructure and +# a test suite. It is occasionally updated from glibc sources, and as +# such is under LGPL v2+, but none of this ever gets to be part of +# final zoneinfo files. Source0: %{name}-base-0.tar.bz2 -# Source0-md5: 906a4c98cc5240f416524a256b039c42 -Source1: ftp://elsie.nci.nih.gov/pub/%{name}%{tzdata_ver}.tar.gz -# Source1-md5: f668f66b260e14b477eac3f48bcfb5f4 -Source2: ftp://elsie.nci.nih.gov/pub/tzcode%{tzcode_ver}.tar.gz -# Source2-md5: 5ba8345720296d3a659b349b2052d139 +# Source0-md5: e36d2f742c22f8c8dbf0686ac9769b55 +# ftp://elsie.nci.nih.gov/pub/ has been shut down because of lawsuit +#Source1Download: http://www.iana.org/time-zones/ +Source1: ftp://ftp.iana.org/tz/releases/%{name}%{tzdata_ver}.tar.gz +# Source1-md5: 1e751e7e08f8b68530674f04619d894d +#Source2Download: http://www.iana.org/time-zones/ +Source2: ftp://ftp.iana.org/tz/releases/tzcode%{tzcode_ver}.tar.gz +# Source2-md5: 2fe6986231db5182c61d565021a0cd7b Source3: timezone.init Source4: timezone.sysconfig Source5: javazic.tar.gz # Source5-md5: 6a3392cd5f1594d13c12c1a836ac8d91 Patch0: %{name}-test-update.patch Patch1: javazic-fixup.patch +Patch2: install.patch URL: http://www.twinsun.com/tz/tz-link.htm -BuildRequires: rpmbuild(macros) >= 1.300 +BuildRequires: rpm >= 4.4.9-56 +BuildRequires: rpmbuild(macros) >= 1.623 %if %{with java} +BuildRequires: jdk BuildRequires: jpackage-utils BuildRequires: rpm-javaprov %endif -Requires(post,preun): /sbin/chkconfig +Requires(post,preun,postun): systemd-units >= 38 +Requires: %{name}-zoneinfo = %{version}-%{release} Requires: /sbin/chkconfig -Requires: rc-scripts >= 0.4.1.4 +Requires: rc-scripts >= 0.4.3.0 +Requires: systemd-units >= 38 BuildArch: noarch BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -44,23 +62,34 @@ around the world. Ten pakiet zawiera pliki z danymi na temat reguł stref czasowych na całym świecie. -%package java +%package -n java-tzdata Summary: Timezone data for Java Summary(pl.UTF-8): Dane stref czasowych dla Javy Group: Base -%description java +%description -n java-tzdata This package contains timezone information for use by Java runtimes. -%description java -l pl.UTF-8 +%description -n java-tzdata -l pl.UTF-8 Ten pakiet zawiera informacje o strefach czasowych przeznaczone dla programów w Javie. +%package zoneinfo +Summary: Timezone data +Summary(pl.UTF-8): Dane stref czasowych +Group: Base + +%description zoneinfo +Timezone data. + +%description zoneinfo -l pl.UTF-8 +Dane stref czasowych. + %package zoneinfo_right Summary: Non-POSIX (real) time zones Summary(es.UTF-8): Zonas de tiempo reales (no de POSIX) Summary(pl.UTF-8): Nie-POSIX-owe (prawdziwe) strefy czasowe -Group: Libraries +Group: Base Obsoletes: glibc-zoneinfo_right %description zoneinfo_right @@ -89,12 +118,17 @@ Plik nagłówkowy bazy danych stref czasowych. %prep %setup -qc mv tzdata/* . +%patch0 -p1 + %{__tar} xzf %{SOURCE1} -C tzdata -mkdir tzcode +# don't override Makefile from base tar +%{__mv} tzdata/Makefile{,.tzdata} + +install -d tzcode %{__tar} xzf %{SOURCE2} -C tzcode -%patch0 -p1 +%patch2 -p1 -sed -e " +%{__sed} -e " s|@objpfx@|`pwd`/obj/| s|@datadir@|%{_datadir}| s|@install_root@|$RPM_BUILD_ROOT| @@ -132,20 +166,18 @@ cd ../tzdata %java -classpath ../javazic/ rht.tools.javazic.Main -V %{version} \ -d ../zoneinfo/java \ africa antarctica asia australasia europe northamerica pacificnew \ - southamerica backward etcetera solar87 solar88 solar89 systemv \ + southamerica backward etcetera factory systemv \ ../javazic/tzdata_jdk/gmt ../javazic/tzdata_jdk/jdk11_backward cd .. %endif %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT/etc/{sysconfig,rc.d/init.d} -install -d $RPM_BUILD_ROOT%{_includedir} -install -d $RPM_BUILD_ROOT%{_mandir}/man5 - +install -d $RPM_BUILD_ROOT{/etc/{sysconfig,rc.d/init.d},%{_mandir}/man5,%{_includedir},%{systemdunitdir}} %{__make} install %if %{with tests} +# test needs to be ran after "make install", as it uses installed files : ====================TESTING========================= %{__make} check \ CC="%{__cc}" \ @@ -154,7 +186,7 @@ install -d $RPM_BUILD_ROOT%{_mandir}/man5 %endif # glibc.spec didn't keep it. so won't here either. -rm -rf $RPM_BUILD_ROOT%{_datadir}/zoneinfo/posix +%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/zoneinfo/posix # behave more like glibc.spec ln -sf %{_sysconfdir}/localtime $RPM_BUILD_ROOT%{_datadir}/zoneinfo/localtime ln -sf localtime $RPM_BUILD_ROOT%{_datadir}/zoneinfo/posixtime @@ -163,11 +195,13 @@ ln -sf localtime $RPM_BUILD_ROOT%{_datadir}/zoneinfo/posixrules > $RPM_BUILD_ROOT/etc/localtime # header file -cp -a tzcode/tzfile.h $RPM_BUILD_ROOT%{_includedir}/tzfile.h -cp -a tzcode/tzfile.5 $RPM_BUILD_ROOT%{_mandir}/man5 +cp -p tzcode/tzfile.h $RPM_BUILD_ROOT%{_includedir}/tzfile.h +cp -p tzcode/tzfile.5 $RPM_BUILD_ROOT%{_mandir}/man5 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/timezone -cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/timezone +cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/timezone + +ln -s /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/timezone.service %if %{with java} cp -a zoneinfo/java $RPM_BUILD_ROOT%{_datadir}/javazi @@ -185,12 +219,16 @@ if [ "$1" = "0" ]; then /sbin/chkconfig --del timezone # save for postun - cp -f /etc/localtime /etc/localtime.rpmsave + localtime=$(readlink -f /etc/localtime) + # cp has no dereference target option, so remove link first + test -L /etc/localtime.rpmsave && rm -f /etc/localtime.rpmsave + cp -pf $localtime /etc/localtime.rpmsave fi %postun if [ "$1" = "0" ]; then if [ ! -f /etc/localtime -a -f /etc/localtime.rpmsave ]; then + echo >&2 "Preserving /etc/localtime" mv -f /etc/localtime{.rpmsave,} fi fi @@ -213,22 +251,35 @@ if ! grep -q '^TIMEZONE=' /etc/sysconfig/timezone; then %service timezone restart fi +%triggerpostun -- tzdata < 2015f-2 +%systemd_service_disable timezone.service +%systemd_service_stop timezone.service + %files %defattr(644,root,root,755) -%doc tzcode/README tzcode/Theory tzcode/tz-link.html +%doc tzcode/README tzcode/tz-link.html %ghost /etc/localtime %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/timezone %attr(754,root,root) /etc/rc.d/init.d/timezone - -%{_datadir}/zoneinfo -%exclude %{_datadir}/zoneinfo/right +%{systemdunitdir}/timezone.service +%{_datadir}/zoneinfo/localtime +%{_datadir}/zoneinfo/posixrules +%{_datadir}/zoneinfo/posixtime %if %{with java} -%files java +%files -n java-tzdata %defattr(644,root,root,755) %{_datadir}/javazi %endif +%files zoneinfo +%defattr(644,root,root,755) +%{_datadir}/zoneinfo +%exclude %{_datadir}/zoneinfo/right +%exclude %{_datadir}/zoneinfo/localtime +%exclude %{_datadir}/zoneinfo/posixrules +%exclude %{_datadir}/zoneinfo/posixtime + %files zoneinfo_right %defattr(644,root,root,755) %{_datadir}/zoneinfo/right