SHA256
1
0
forked from pool/timezone
timezone/timezone.spec

158 lines
5.4 KiB
RPMSpec

#
# 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