Update to 2018.5 (#1508227)

This commit is contained in:
Miro Hrončok 2018-08-23 12:07:03 +02:00
parent b75f883827
commit 568be6b6e6
6 changed files with 58 additions and 91 deletions

1
.gitignore vendored
View File

@ -7,3 +7,4 @@ pytz-2010h.tar.gz
/pytz-2016.7.tar.gz /pytz-2016.7.tar.gz
/pytz-2016.10.tar.gz /pytz-2016.10.tar.gz
/pytz-2017.2.zip /pytz-2017.2.zip
/pytz-2018.5.tar.gz

View File

@ -1,21 +0,0 @@
# Makefile for source rpm: pytz
# $Id$
NAME := pytz
SPECFILE = $(firstword $(wildcard *.spec))
define find-makefile-common
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
endef
MAKEFILE_COMMON := $(shell $(find-makefile-common))
ifeq ($(MAKEFILE_COMMON),)
# attept a checkout
define checkout-makefile-common
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
endef
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
endif
include $(MAKEFILE_COMMON)

View File

@ -1,21 +1,25 @@
diff --git a/pytz/__init__.py b/pytz/__init__.py diff --git a/pytz/__init__.py b/pytz/__init__.py
index 13c83b1..e8a674f 100644 index 120fab4..b0a3826 100644
--- a/pytz/__init__.py --- a/pytz/__init__.py
+++ b/pytz/__init__.py +++ b/pytz/__init__.py
@@ -70,6 +70,9 @@ else: # Python 2.x @@ -73,6 +73,9 @@ else: # Python 2.x
""" """
return s.encode('ASCII') return s.encode('ASCII')
+_tzinfo_dir = os.getenv("TZDIR") or "/usr/share/zoneinfo" +_tzinfo_dir = os.getenv('PYTZ_TZDATADIR') or '/usr/share/zoneinfo'
+if _tzinfo_dir.endswith(os.sep): +if _tzinfo_dir.endswith(os.sep):
+ _tzinfo_dir = _tzinfo_dir[:-1] + _tzinfo_dir = _tzinfo_dir[:-1]
def open_resource(name): def open_resource(name):
"""Open a resource from the zoneinfo subdir for reading. """Open a resource from the zoneinfo subdir for reading.
@@ -81,19 +84,7 @@ def open_resource(name): @@ -87,23 +90,8 @@ def open_resource(name):
for part in name_parts: for part in name_parts:
if part == os.path.pardir or os.path.sep in part: if part == os.path.pardir or os.path.sep in part:
raise ValueError('Bad path segment: %r' % part) raise ValueError('Bad path segment: %r' % part)
- zoneinfo_dir = os.environ.get('PYTZ_TZDATADIR', None)
- if zoneinfo_dir is not None:
- filename = os.path.join(zoneinfo_dir, *name_parts)
- else:
- filename = os.path.join(os.path.dirname(__file__), - filename = os.path.join(os.path.dirname(__file__),
- 'zoneinfo', *name_parts) - 'zoneinfo', *name_parts)
- if not os.path.exists(filename): - if not os.path.exists(filename):
@ -29,14 +33,15 @@ index 13c83b1..e8a674f 100644
- -
- if resource_stream is not None: - if resource_stream is not None:
- return resource_stream(__name__, 'zoneinfo/' + name) - return resource_stream(__name__, 'zoneinfo/' + name)
+ filename = os.path.join(_tzinfo_dir, *name_parts) + zoneinfo_dir = os.environ.get('PYTZ_TZDATADIR', _tzinfo_dir)
+ filename = os.path.join(zoneinfo_dir, *name_parts)
return open(filename, 'rb') return open(filename, 'rb')
@@ -490,1044 +481,33 @@ def _test(): @@ -484,1042 +472,37 @@ def _test():
if __name__ == '__main__': if __name__ == '__main__':
_test() _test()
-all_timezones = \ -all_timezones = \
-['Africa/Abidjan', -['Africa/Abidjan',
- 'Africa/Accra', - 'Africa/Accra',
@ -412,7 +417,6 @@ index 13c83b1..e8a674f 100644
- 'CST6CDT', - 'CST6CDT',
- 'Canada/Atlantic', - 'Canada/Atlantic',
- 'Canada/Central', - 'Canada/Central',
- 'Canada/East-Saskatchewan',
- 'Canada/Eastern', - 'Canada/Eastern',
- 'Canada/Mountain', - 'Canada/Mountain',
- 'Canada/Newfoundland', - 'Canada/Newfoundland',
@ -624,13 +628,13 @@ index 13c83b1..e8a674f 100644
- 'US/Michigan', - 'US/Michigan',
- 'US/Mountain', - 'US/Mountain',
- 'US/Pacific', - 'US/Pacific',
- 'US/Pacific-New',
- 'US/Samoa', - 'US/Samoa',
- 'UTC', - 'UTC',
- 'Universal', - 'Universal',
- 'W-SU', - 'W-SU',
- 'WET', - 'WET',
- 'Zulu'] - 'Zulu']
+
+all_timezones = [] +all_timezones = []
+for root, dirs, files in os.walk(_tzinfo_dir): +for root, dirs, files in os.walk(_tzinfo_dir):
+ for exclude in 'posix', 'right': + for exclude in 'posix', 'right':
@ -641,6 +645,7 @@ index 13c83b1..e8a674f 100644
+ for tz_file in files + for tz_file in files
+ if tz_file != 'README' and tz_file != 'Theory' + if tz_file != 'README' and tz_file != 'Theory'
+ and '.' not in tz_file) + and '.' not in tz_file)
+
all_timezones = LazyList( all_timezones = LazyList(
tz for tz in all_timezones if resource_exists(tz)) tz for tz in all_timezones if resource_exists(tz))
@ -1085,6 +1090,7 @@ index 13c83b1..e8a674f 100644
- 'US/Mountain', - 'US/Mountain',
- 'US/Pacific', - 'US/Pacific',
- 'UTC'] - 'UTC']
+
+common_timezones = [l.split()[2] +common_timezones = [l.split()[2]
+ for l in open(os.path.join(_tzinfo_dir, 'zone.tab')) + for l in open(os.path.join(_tzinfo_dir, 'zone.tab'))
+ if l != '' and l[0] != '#'] + if l != '' and l[0] != '#']
@ -1098,6 +1104,7 @@ index 13c83b1..e8a674f 100644
+ 'US/Mountain', + 'US/Mountain',
+ 'US/Pacific', + 'US/Pacific',
+ 'UTC']) + 'UTC'])
+
common_timezones = LazyList( common_timezones = LazyList(
tz for tz in common_timezones if tz in all_timezones) tz for tz in common_timezones if tz in all_timezones)

View File

@ -1,26 +1,17 @@
%if 0%{?fedora} || 0%{?rhel} >= 8
%global with_python3 1
%else
%{!?python2_sitelib: %global python2_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
%endif
Name: pytz Name: pytz
Version: 2017.2 Version: 2018.5
Release: 10%{?dist} Release: 1%{?dist}
Summary: World Timezone Definitions for Python Summary: World Timezone Definitions for Python
Group: Development/Languages
License: MIT License: MIT
URL: http://pytz.sourceforge.net/ URL: http://pytz.sourceforge.net/
Source0: https://pypi.io/packages/source/p/%{name}/%{name}-%{version}.zip Source0: %pypi_source
# Patch to use the system supplied zoneinfo files # Patch to use the system supplied zoneinfo files
Patch0: pytz-zoneinfo.patch Patch0: pytz-zoneinfo.patch
# https://bugzilla.redhat.com/1497572 # https://bugzilla.redhat.com/1497572
Patch1: remove_tzinfo_test.patch Patch1: remove_tzinfo_test.patch
BuildArch: noarch BuildArch: noarch
BuildRequires: python2-devel
BuildRequires: pytest
%global _description\ %global _description\
pytz brings the Olson tz database into Python. This library allows accurate\ pytz brings the Olson tz database into Python. This library allows accurate\
@ -33,84 +24,71 @@ Almost all (over 540) of the Olson timezones are supported.
%description %_description %description %_description
%package -n python2-%{name} %package -n python2-%{name}
Summary: %summary Summary: %summary
Requires: tzdata
%{?python_provide:%python_provide python2-%{name}} %{?python_provide:%python_provide python2-%{name}}
BuildRequires: python2-devel
BuildRequires: python2-pytest
Requires: tzdata
# Remove before F30 # Remove before F30
Provides: pytz = %{version}-%{release} Provides: pytz = %{version}-%{release}
Obsoletes: pytz < %{version}-%{release} Obsoletes: pytz < %{version}-%{release}
%description -n python2-%{name} %_description %description -n python2-%{name} %_description
%if 0%{?with_python3}
%package -n python3-%{name} %package -n python3-%{name}
Summary: World Timezone Definitions for Python Summary: %summary
Group: Development/Languages %{?python_provide:%python_provide python3-%{name}}
BuildArch: noarch
BuildRequires: python3-devel BuildRequires: python3-devel
BuildRequires: python3-pytest BuildRequires: python3-pytest
Requires: tzdata Requires: tzdata
%description -n python3-%{name} %description -n python3-%{name} %_description
pytz brings the Olson tz database into Python. This library allows accurate
and cross platform timezone calculations using Python 2.3 or higher. It
also solves the issue of ambiguous times at the end of daylight savings,
which you can read more about in the Python Library Reference
(datetime.tzinfo).
Almost all (over 540) of the Olson timezones are supported.
%endif
%prep %prep
%setup -q %autosetup -p1
%patch0 -p1 -b .zoneinfo
%patch1 -p1 -b .removeTest
%build %build
%{__python2} setup.py build %py2_build
%if 0%{?with_python3} %py3_build
%{__python3} setup.py build
%endif # with_python3
%install %install
%{__python2} setup.py install --skip-build --root %{buildroot} %py2_install
chmod +x %{buildroot}%{python2_sitelib}/pytz/*.py
rm -r %{buildroot}%{python2_sitelib}/pytz/zoneinfo rm -r %{buildroot}%{python2_sitelib}/pytz/zoneinfo
pathfix.py -pn -i %{__python2} %{buildroot}%{python2_sitelib} pathfix.py -pn -i %{__python2} %{buildroot}%{python2_sitelib}
%if 0%{?with_python3} %py3_install
%{__python3} setup.py install --skip-build --root %{buildroot}
rm -r %{buildroot}%{python3_sitelib}/pytz/zoneinfo rm -r %{buildroot}%{python3_sitelib}/pytz/zoneinfo
pathfix.py -pn -i %{__python3} %{buildroot}%{python3_sitelib} pathfix.py -pn -i %{__python3} %{buildroot}%{python3_sitelib}
%endif # with_python3
%check %check
PYTHONPATH=%{buildroot}%{python2_sitelib} py.test-%{python2_version} -v PYTHONPATH=%{buildroot}%{python2_sitelib} %{__python2} -m pytest -v
%if 0%{?with_python3} PYTHONPATH=%{buildroot}%{python3_sitelib} %{__python3} -m pytest -v
PYTHONPATH=%{buildroot}%{python3_sitelib} py.test-%{python3_version} -v
%endif
%files -n python2-%{name} %files -n python2-%{name}
%license LICENSE.txt %license LICENSE.txt
%doc CHANGES.txt README.txt %doc README.txt
%{python2_sitelib}/pytz/ %{python2_sitelib}/pytz/
%{python2_sitelib}/*.egg-info %{python2_sitelib}/*.egg-info
%if 0%{?with_python3}
%files -n python3-pytz %files -n python3-pytz
%license LICENSE.txt %license LICENSE.txt
%doc CHANGES.txt README.txt %doc README.txt
%{python3_sitelib}/pytz/ %{python3_sitelib}/pytz/
%{python3_sitelib}/*.egg-info %{python3_sitelib}/*.egg-info
%endif # with_python3
%changelog %changelog
* Thu Aug 23 2018 Miro Hrončok <mhroncok@redhat.com> - 2018.5-1
- Update to 2018.5 (#1508227)
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2017.2-10 * Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2017.2-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

View File

@ -1,10 +1,12 @@
diff --git a/pytz/tests/test_tzinfo.py b/pytz/tests/test_tzinfo.py
index b2640a8..4f5322b 100644
--- a/pytz/tests/test_tzinfo.py --- a/pytz/tests/test_tzinfo.py
+++ b/pytz/tests/test_tzinfo.py +++ b/pytz/tests/test_tzinfo.py
@@ -146,6 +146,7 @@ class PicklingTest(unittest.TestCase): @@ -155,6 +155,7 @@ class PicklingTest(unittest.TestCase):
self._roundtrip_tzinfo(localized_tz) self._roundtrip_tzinfo(localized_tz)
self._roundtrip_datetime(dt.replace(tzinfo=localized_tz)) self._roundtrip_datetime(dt.replace(tzinfo=localized_tz))
+ @unittest.skip('Fails with system-wide timezone database') + @unittest.skip('Fails with system-wide timezone database')
def testRoundtrip(self): def testRoundtrip(self):
dt = datetime(2004, 2, 1, 0, 0, 0)
for zone in pytz.all_timezones: for zone in pytz.all_timezones:
tz = pytz.timezone(zone)

View File

@ -1 +1 @@
SHA512 (pytz-2017.2.zip) = d67d64a64b4c21e0bd41da56020fc7b016aec9da7f3243f79b65704119f70b8a9cd4f5f905631b6761e06ecef93830e5e479e16c7b1611ac70e0cd2b39d5b916 SHA512 (pytz-2018.5.tar.gz) = 35b6bdd25b8e57c693da4379c2032401ef3cf290a57d8448c67dcaf1491a21d27ff25d932ef3ec3a51e31fbb7541e081073f292867a7d1ad47904b69dc7e4863