2e292b
%global bootstrap 0
2e292b
2e292b
Name:           python-pymongo
2e292b
Version:        3.10.1
2e292b
Release:        5%{?dist}
2e292b
2e292b
# All code is ASL 2.0 except bson/time64*.{c,h} which is MIT
2e292b
License:        ASL 2.0 and MIT
2e292b
Summary:        Python driver for MongoDB
2e292b
URL:            http://api.mongodb.org/python
2e292b
Source0:        https://github.com/mongodb/mongo-python-driver/archive/%{version}/pymongo-%{version}.tar.gz
2e292b
# This patch removes the bundled ssl.match_hostname library as it was vulnerable to CVE-2013-7440
2e292b
# and CVE-2013-2099, and wasn't needed anyway since Fedora >= 22 has the needed module in the Python
2e292b
# standard library. It also adjusts imports so that they exclusively use the code from Python.
2e292b
Patch01:        0001-Use-ssl.match_hostname-from-the-Python-stdlib.patch
2e292b
2e292b
BuildRequires: make
2e292b
BuildRequires:  gcc
2e292b
%if 0%{!?bootstrap:1}
2e292b
BuildRequires:  python3-sphinx
2e292b
%endif
2e292b
BuildRequires:  python3-devel
2e292b
BuildRequires:  python3-setuptools
2e292b
2e292b
%description
2e292b
The Python driver for MongoDB.
2e292b
2e292b
2e292b
%package doc
2e292b
BuildArch: noarch
2e292b
Summary:   Documentation for python-pymongo
2e292b
2e292b
%description doc
2e292b
Documentation for python-pymongo.
2e292b
2e292b
2e292b
%package -n python3-bson
2e292b
Summary:        Python bson library
2e292b
%{?python_provide:%python_provide python3-bson}
2e292b
2e292b
%description -n python3-bson
2e292b
BSON is a binary-encoded serialization of JSON-like documents. BSON is designed
2e292b
to be lightweight, traversable, and efficient. BSON, like JSON, supports the
2e292b
embedding of objects and arrays within other objects and arrays.  This package
2e292b
contains the python3 version of this module.
2e292b
2e292b
2e292b
%package -n python3-pymongo
2e292b
Summary:        Python driver for MongoDB
2e292b
Requires:       python3-bson%{?_isa} = %{version}-%{release}
2e292b
%{?python_provide:%python_provide python3-pymongo}
2e292b
2e292b
%description -n python3-pymongo
2e292b
The Python driver for MongoDB.  This package contains the python3 version of
2e292b
this module.
2e292b
2e292b
2e292b
%package -n python3-pymongo-gridfs
2e292b
Summary:        Python GridFS driver for MongoDB
2e292b
Requires:       python3-pymongo%{?_isa} = %{version}-%{release}
2e292b
%{?python_provide:%python_provide python3-pymongo-gridfs}
2e292b
2e292b
%description -n python3-pymongo-gridfs
2e292b
GridFS is a storage specification for large objects in MongoDB.  This package
2e292b
contains the python3 version of this module.
2e292b
2e292b
2e292b
%prep
2e292b
%setup -q -n mongo-python-driver-%{version}
2e292b
%patch01 -p1 -b .ssl
2e292b
2e292b
# Remove the bundled ssl.match_hostname library as it was vulnerable to CVE-2013-7440
2e292b
# and CVE-2013-2099, and isn't needed anyway since Fedora >= 22 has the needed module in the Python
2e292b
# standard library.
2e292b
rm pymongo/ssl_match_hostname.py
2e292b
2e292b
2e292b
%build
2e292b
%py3_build
2e292b
2e292b
%if 0%{!?bootstrap:1}
2e292b
pushd doc
2e292b
make %{?_smp_mflags} html
2e292b
popd
2e292b
%endif
2e292b
2e292b
2e292b
%install
2e292b
%py3_install
2e292b
# Fix permissions
2e292b
chmod 755 %{buildroot}%{python3_sitearch}/bson/*.so
2e292b
chmod 755 %{buildroot}%{python3_sitearch}/pymongo/*.so
2e292b
2e292b
2e292b
%files doc
2e292b
%license LICENSE
2e292b
%if 0%{!?bootstrap:1}
2e292b
%doc doc/_build/html/*
2e292b
%endif
2e292b
2e292b
2e292b
%files -n python3-bson
2e292b
%license LICENSE
2e292b
%doc README.rst
2e292b
%{python3_sitearch}/bson
2e292b
2e292b
2e292b
%files -n python3-pymongo
2e292b
%license LICENSE
2e292b
%doc README.rst
2e292b
%{python3_sitearch}/pymongo
2e292b
%{python3_sitearch}/pymongo-%{version}-*.egg-info
2e292b
2e292b
2e292b
%files -n python3-pymongo-gridfs
2e292b
%license LICENSE
2e292b
%doc README.rst
2e292b
%{python3_sitearch}/gridfs
2e292b
2e292b
2e292b
%changelog
2e292b
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.10.1-5
2e292b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
2e292b
2e292b
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.10.1-4
2e292b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
2e292b
2e292b
* Sun May 24 2020 Miro Hrončok <mhroncok@redhat.com> - 3.10.1-3
2e292b
- Rebuilt for Python 3.9
2e292b
2e292b
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.10.1-2
2e292b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
2e292b
2e292b
* Tue Jan 21 2020 Randy Barlow <bowlofeggs@fedoraproject.org> - 3.10.1-1
2e292b
- Update to 3.10.1 (#1782385).
2e292b
- https://github.com/mongodb/mongo-python-driver/blob/3.10.1/doc/changelog.rst
2e292b
2e292b
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 3.8.0-4
2e292b
- Rebuilt for Python 3.8.0rc1 (#1748018)
2e292b
2e292b
* Sun Aug 18 2019 Miro Hrončok <mhroncok@redhat.com> - 3.8.0-3
2e292b
- Rebuilt for Python 3.8
2e292b
2e292b
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.0-2
2e292b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
2e292b
2e292b
* Tue Jun 04 2019 Randy Barlow <bowlofeggs@fedoraproject.org> - 3.8.0-1
2e292b
- Update to 3.8.0 (#1686670).
2e292b
- http://api.mongodb.com/python/3.8.0/changelog.html
2e292b
2e292b
* Tue Mar 26 2019 Randy Barlow <bowlofeggs@fedoraproject.org> - 3.7.2-2
2e292b
- Drop build dependency on mongodb-server, since it is no longer shipped in Fedora.
2e292b
- As a result of the above, we no longer run the tests.
2e292b
2e292b
* Thu Feb 28 2019 Yatin Karel <ykarel@redhat.com> - 3.7.2-1
2e292b
- Update to 3.7.2
2e292b
- http://api.mongodb.com/python/3.7.2/changelog.html
2e292b
2e292b
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.1-4
2e292b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
2e292b
2e292b
* Mon Jan 28 2019 Miro Hrončok <mhroncok@redhat.com> - 3.7.1-3
2e292b
- Subpackages python2-bson, python2-pymongo, python2-pymongo-gridfs have been removed
2e292b
  See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal
2e292b
2e292b
* Mon Dec 10 2018 Honza Horak <hhorak@redhat.com> - 3.7.1-3
2e292b
- Add bootstrap macro and python2 condition
2e292b
2e292b
* Tue Jul 31 2018 Florian Weimer <fweimer@redhat.com> - 3.7.1-2
2e292b
- Rebuild with fixed binutils
2e292b
2e292b
* Mon Jul 30 2018 Randy Barlow <bowlofeggs@fedoraproject.org> - 3.7.1-1
2e292b
- Update to 3.7.1 (#1601651).
2e292b
- http://api.mongodb.com/python/3.7.1/changelog.html
2e292b
2e292b
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.1-3
2e292b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
2e292b
2e292b
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 3.6.1-2
2e292b
- Rebuilt for Python 3.7
2e292b
2e292b
* Sat Mar 10 2018 Randy Barlow <bowlofeggs@fedoraproject.org> - 3.6.1-1
2e292b
- Update to 3.6.1 (#1550757).
2e292b
- http://api.mongodb.com/python/3.6.1/changelog.html
2e292b
2e292b
* Tue Feb 27 2018 Iryna Shcherbina <ishcherb@redhat.com> - 3.6.0-2
2e292b
- Update Python 2 dependency declarations to new packaging standards
2e292b
  (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
2e292b
2e292b
* Mon Feb 19 2018 Marek Skalický <mskalick@redhat.com> - 3.6.0-1
2e292b
- Rebase to latest release
2e292b
2e292b
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.5.1-2
2e292b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild