# # spec file for package timezone # # Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %global flavor @BUILD_FLAVOR@%{nil} %if "%{flavor}" == "java" %define psuffix -java %endif %global AREA Etc %global ZONE UTC Name: timezone%{?psuffix} Version: 2019c Release: 0 Summary: Time Zone Descriptions License: BSD-3-Clause AND SUSE-Public-Domain Group: System/Base URL: https://www.iana.org/time-zones Source: https://www.iana.org/time-zones/repository/releases/tzdata%{version}.tar.gz Source1: https://www.iana.org/time-zones/repository/releases/tzcode%{version}.tar.gz Source2: https://www.iana.org/time-zones/repository/releases/tzdata%{version}.tar.gz.asc Source3: https://www.iana.org/time-zones/repository/releases/tzcode%{version}.tar.gz.asc Source4: timezone.keyring Source5: timezone.changes Patch0: tzdata-china.diff Patch3: iso3166-uk.diff Patch4: timezone-2018f-bsc1112310.patch Requires(pre): coreutils Requires(pre): filesystem %if "%{flavor}" == "java" BuildRequires: java BuildRequires: javazic BuildRequires: tzdb #!BuildIgnore: tzdata-java #!BuildIgnore: tzdata-java8 Provides: tzdata-java = %{version}-%{release} Provides: tzdata-java8 = %{version}-%{release} BuildArch: noarch %endif # java flavor %description %if "%{flavor}" == "" These are configuration files that describe available time zones. You can select an appropriate time zone for your system with YaST. %endif %if "%{flavor}" == "java" These are configuration files that describe available time zones - this package is intended for Java Virtual Machine based on OpenJDK. %endif %prep %setup -q -c -a 1 %patch0 -p1 %patch3 -p1 %patch4 -p1 sed -ri 's@%{_prefix}/local%{_sysconfdir}/zoneinfo@%{_datadir}/zoneinfo@g' *.[1358] %if "%{flavor}" == "java" echo "tzdata%{version}" >> VERSION %endif %build %if "%{flavor}" == "" unset ${!LC_*} LANG=POSIX LC_ALL=POSIX AREA=%{AREA} ZONE=%{ZONE} export AREA LANG LC_ALL ZONE %make_build TZDIR=%{_datadir}/zoneinfo CFLAGS="%{optflags} -DHAVE_GETTEXT=1 -DTZDEFAULT='\"%{_sysconfdir}/localtime\"' -DTM_GMTOFF=tm_gmtoff -DTM_ZONE=tm_zone -Dlint" AWK=awk %make_build TZDIR=zoneinfo AWK=awk zones # Generate posixrules ./zic -y ./yearistype -d zoneinfo -p %{AREA}/%{ZONE} %endif # flavor %if "%{flavor}" == "java" # Java 6/7 data java -jar %{_javadir}/javazic.jar -V %{version} \ -d javazi \ africa antarctica asia australasia europe northamerica pacificnew \ southamerica backward etcetera systemv \ %{_datadir}/javazic/tzdata_jdk/gmt \ %{_datadir}/javazic/tzdata_jdk/jdk11_backward # Java 8/9 data java -jar %{_javadir}/tzdb.jar \ -srcdir . -dstfile javazi/tzdb.dat \ africa antarctica asia australasia europe northamerica pacificnew \ southamerica backward etcetera systemv \ %{_datadir}/tzdb/tzdata_jdk/gmt \ %{_datadir}/tzdb/tzdata_jdk/jdk11_backward %endif # java flavor %install %if "%{flavor}" == "" mkdir -p %{buildroot}%{_datadir}/zoneinfo cp -a zoneinfo %{buildroot}%{_datadir}/zoneinfo/posix cp -al %{buildroot}%{_datadir}/zoneinfo/posix/. %{buildroot}%{_datadir}/zoneinfo cp -a zoneinfo-leaps %{buildroot}%{_datadir}/zoneinfo/right mkdir -p %{buildroot}%{_sysconfdir} rm -f %{buildroot}%{_sysconfdir}/localtime rm -f %{buildroot}%{_datadir}/zoneinfo/posixrules %if 0%{?suse_version} >= 1230 ln -sf %{_datadir}/zoneinfo/%{AREA}/%{ZONE} %{buildroot}%{_sysconfdir}/localtime %else cp -fp %{buildroot}%{_datadir}/zoneinfo/%{AREA}/%{ZONE} %{buildroot}%{_sysconfdir}/localtime %endif ln -sf %{_sysconfdir}/localtime %{buildroot}%{_datadir}/zoneinfo/posixrules install -m 644 iso3166.tab %{buildroot}%{_datadir}/zoneinfo/iso3166.tab install -m 644 zone.tab %{buildroot}%{_datadir}/zoneinfo/zone.tab install -m 644 zone1970.tab %{buildroot}%{_datadir}/zoneinfo/zone1970.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 %endif # flavor %if "%{flavor}" == "java" install -d -m 0755 %{buildroot}/%{_datadir} cp -a javazi %{buildroot}%{_datadir} %endif # java flavor %if "%{flavor}" == "" %post if [ ! -L %{_datadir}/zoneinfo/posixrules ]; then rm -f %{_datadir}/zoneinfo/posixrules ln -sf %{_sysconfdir}/localtime %{_datadir}/zoneinfo/posixrules fi if [ -e %{_datadir}/zoneinfo/posixrules.rpmnew ]; then rm -f %{_datadir}/zoneinfo/posixrules.rpmnew fi %endif # flavor %files %if "%{flavor}" == "" %verify(not link md5 size mtime) %config(missingok,noreplace) %{_sysconfdir}/localtime %verify(not link md5 size mtime) %{_datadir}/zoneinfo/posixrules %{_datadir}/zoneinfo %{_bindir}/tzselect %{_sbindir}/zdump %{_sbindir}/zic %endif # flavor %if "%{flavor}" == "java" %{_datadir}/javazi %endif # java flavor %changelog