diff --git a/.gitignore b/.gitignore index 947b742..68c1671 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /DateTime-TimeZone-[0-9.]*.tar.gz +/tzdata2017b.tar.gz diff --git a/perl-DateTime-TimeZone.spec b/perl-DateTime-TimeZone.spec index 1e18c5e..937898a 100644 --- a/perl-DateTime-TimeZone.spec +++ b/perl-DateTime-TimeZone.spec @@ -1,11 +1,21 @@ +# Regenerate Perl library code from upstream Olson database of this date +%global tzversion 2017b + Name: perl-DateTime-TimeZone Version: 2.13 Release: 4%{?dist} Summary: Time zone object base class and factory -License: GPL+ or Artistic +# tzdata%%{tzversion}.tar.gz archive: Public Domain +# other files: GPL+ or Artistic +# Some other files are generated from tzdata%%{tzversion}.tar.gz content by +# upstream or locally: Public Domain +License: (GPL+ or Artistic) and Public Domain Group: Development/Libraries URL: http://search.cpan.org/dist/DateTime-TimeZone/ Source0: http://www.cpan.org/authors/id/D/DR/DROLSKY/DateTime-TimeZone-%{version}.tar.gz +%if %{defined tzversion} +Source1: ftp://ftp.iana.org/tz/releases/tzdata%{tzversion}.tar.gz +%endif # Parse local time zone definition from /etc/localtime as before giving up, # bug #1135981, CPAN RT#55029 Patch0: DateTime-TimeZone-2.04-Parse-etc-localtime-by-DateTime-TimeZone-Tzfile.patch @@ -17,6 +27,22 @@ BuildRequires: perl-generators BuildRequires: perl(ExtUtils::MakeMaker) >= 6.76 BuildRequires: perl(strict) BuildRequires: perl(warnings) +%if !%{defined perl_bootstrap} && %{defined tzversion} +# Avoid circular dependencies - perl-DateTime strictly requires DateTime::TimeZone +BuildRequires: perl(Data::Dumper) +BuildRequires: perl(DateTime) +BuildRequires: perl(File::Copy) +BuildRequires: perl(File::Find::Rule) +BuildRequires: perl(File::Path) +BuildRequires: perl(File::Spec) +BuildRequires: perl(Getopt::Long) +BuildRequires: perl(integer) +BuildRequires: perl(lib) +BuildRequires: perl(List::Util) +BuildRequires: perl(Locale::Country) >= 3.11 +BuildRequires: perl(Parallel::ForkManager) +BuildRequires: sed +%endif # Runtime BuildRequires: perl(Class::Singleton) >= 1.03 BuildRequires: perl(constant) @@ -64,6 +90,11 @@ Requires: perl(File::Find) # Require optional DateTime::TimeZone::Tzfile to work in mock after tzdata # upgrade, bug #1135981 Requires: perl(DateTime::TimeZone::Tzfile) +%if !%{defined perl_bootstrap} && %{defined tzversion} +Provides: bundled(tzdata) = %{tzversion} +%else +Provides: bundled(tzdata) +%endif # Remove under-specified dependencies %global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(Class::Singleton\\)$ @@ -79,10 +110,18 @@ represented internally as a set of observances, each of which describes the offset from GMT for a given time period. %prep -%setup -q -n DateTime-TimeZone-%{version} +%if !%{defined perl_bootstrap} && %{defined tzversion} +%setup -q -T -b 1 -c -n tzdata-%{tzversion} +%endif +%setup -q -T -b 0 -n DateTime-TimeZone-%{version} %patch0 -p1 %build +%if !%{defined perl_bootstrap} && %{defined tzversion} +JOBS=$(printf '%%s' "%{?_smp_mflags}" | sed 's/.*-j\([0-9][0-9]*\).*/\1/') +perl tools/parse_olson --dir ../tzdata-%{tzversion} --version %{tzversion} \ + --jobs $JOBS --clean +%endif perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 make %{?_smp_mflags} @@ -102,6 +141,7 @@ make test %changelog * Thu Jul 20 2017 Petr Pisar - 2.13-4 - Specify all dependencies +- Regenerate Perl code from timezone sources (bug #1101251) * Wed Jun 07 2017 Jitka Plesnikova - 2.13-3 - Perl 5.26 re-rebuild of bootstrapped packages diff --git a/sources b/sources index 7e9531f..44b3b8e 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ SHA512 (DateTime-TimeZone-2.13.tar.gz) = 6003b2b6044c35a7c75840cf550d1f68500c1d762dc0ebdcf22e1714b68804382d2d969512d183c460fe89fe2fdbd8037463594536d6c3acee0ccf79734ac654 +SHA512 (tzdata2017b.tar.gz) = 3e090dba1f52e4c63b4930b28f4bf38b56aabd6728f23094cb5801d10f4e464f17231f17b75b8866714bf98199c166ea840de0787b75b2274aa419a4e14bbc4d