diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..6ef00ec
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+SOURCES/httplib2-0.10.3.tar.gz
diff --git a/.python-httplib2.metadata b/.python-httplib2.metadata
new file mode 100644
index 0000000..b28ce63
--- /dev/null
+++ b/.python-httplib2.metadata
@@ -0,0 +1 @@
+79fef92f4a5c121adcb7be0cd7c43f4d8328a299 SOURCES/httplib2-0.10.3.tar.gz
diff --git a/SOURCES/python-httplib2-0.9-proxy-http.patch b/SOURCES/python-httplib2-0.9-proxy-http.patch
new file mode 100644
index 0000000..0d55002
--- /dev/null
+++ b/SOURCES/python-httplib2-0.9-proxy-http.patch
@@ -0,0 +1,16 @@
+diff -Nur httplib2-0.9.orig/python2/httplib2/__init__.py httplib2-0.9/python2/httplib2/__init__.py
+--- httplib2-0.9.orig/python2/httplib2/__init__.py	2015-04-03 12:56:04.834370332 -0600
++++ httplib2-0.9/python2/httplib2/__init__.py	2015-04-03 12:58:16.441925454 -0600
+@@ -838,7 +838,11 @@
+     else:
+         port = dict(https=443, http=80)[method]
+ 
+-    proxy_type = 3 # socks.PROXY_TYPE_HTTP
++    if method == 'http':
++       proxy_type = 4 # socks.PROXY_TYPE_HTTP_NO_TUNNEL
++    else:
++       proxy_type = 3 # socks.PROXY_TYPE_HTTP
++
+     return ProxyInfo(
+         proxy_type = proxy_type,
+         proxy_host = host,
diff --git a/SOURCES/python-httplib2.certfile.patch b/SOURCES/python-httplib2.certfile.patch
new file mode 100644
index 0000000..e351169
--- /dev/null
+++ b/SOURCES/python-httplib2.certfile.patch
@@ -0,0 +1,31 @@
+diff -Nur httplib2-0.9.orig/python2/httplib2/__init__.py httplib2-0.9/python2/httplib2/__init__.py
+--- httplib2-0.9.orig/python2/httplib2/__init__.py	2014-04-14 06:52:57.000000000 -0600
++++ httplib2-0.9/python2/httplib2/__init__.py	2014-05-23 21:17:02.082118837 -0600
+@@ -191,8 +191,10 @@
+     CA_CERTS = ca_certs_locater.get()
+ except ImportError:
+     # Default CA certificates file bundled with httplib2.
+-    CA_CERTS = os.path.join(
+-        os.path.dirname(os.path.abspath(__file__ )), "cacerts.txt")
++#    CA_CERTS = os.path.join(
++#        os.path.dirname(os.path.abspath(__file__ )), "cacerts.txt")
++# Use Fedora system-wide shared certificate store for security, consistency.
++    CA_CERTS = "/etc/pki/tls/certs/ca-bundle.crt"
+ 
+ # Which headers are hop-by-hop headers by default
+ HOP_BY_HOP = ['connection', 'keep-alive', 'proxy-authenticate', 'proxy-authorization', 'te', 'trailers', 'transfer-encoding', 'upgrade']
+--- httplib2-0.9/python3/httplib2/__init__.py	2014-04-14 05:52:57.000000000 -0700
++++ httplib2-0.9/python3/httplib2/__init__.py.new	2015-01-12 17:22:19.815505848 -0800
+@@ -124,8 +124,10 @@
+ HOP_BY_HOP = ['connection', 'keep-alive', 'proxy-authenticate', 'proxy-authorization', 'te', 'trailers', 'transfer-encoding', 'upgrade']
+ 
+ # Default CA certificates file bundled with httplib2.
+-CA_CERTS = os.path.join(
+-        os.path.dirname(os.path.abspath(__file__ )), "cacerts.txt")
++#CA_CERTS = os.path.join(
++#        os.path.dirname(os.path.abspath(__file__ )), "cacerts.txt")
++# Use Fedora system-wide shared certificate store for security, consistency.
++CA_CERTS = "/etc/pki/tls/certs/ca-bundle.crt"
+ 
+ def _get_end2end_headers(response):
+     hopbyhop = list(HOP_BY_HOP)
diff --git a/SOURCES/python-httplib2.getCertHost.patch b/SOURCES/python-httplib2.getCertHost.patch
new file mode 100644
index 0000000..f9c53de
--- /dev/null
+++ b/SOURCES/python-httplib2.getCertHost.patch
@@ -0,0 +1,21 @@
+diff -up ./python2/httplib2/__init__.py.getCertHost ./python2/httplib2/__init__.py
+--- ./python2/httplib2/__init__.py.getCertHost	2012-05-03 17:16:33.834155219 +1000
++++ ./python2/httplib2/__init__.py	2012-06-21 18:19:33.804660257 +1000
+@@ -942,11 +942,12 @@ class HTTPSConnectionWithTimeout(httplib
+           list: A list of valid host globs.
+         """
+         if 'subjectAltName' in cert:
+-            return [x[1] for x in cert['subjectAltName']
+-                    if x[0].lower() == 'dns']
+-        else:
+-            return [x[0][1] for x in cert['subject']
+-                    if x[0][0].lower() == 'commonname']
++            # Patch from richardfearn@gmail.com
++	    return [x[1] for x in cert['subjectAltName']
++                if x[0].lower() == "dns"]
++
++        return [x[0][1] for x in cert['subject']
++            if x[0][0].lower() == 'commonname']
+ 
+     def _ValidateCertificateHostname(self, cert, hostname):
+         """Validates that a given hostname is valid for an SSL certificate.
diff --git a/SOURCES/python-httplib2.rfc2459.patch b/SOURCES/python-httplib2.rfc2459.patch
new file mode 100644
index 0000000..523129e
--- /dev/null
+++ b/SOURCES/python-httplib2.rfc2459.patch
@@ -0,0 +1,19 @@
+diff -up ./python2/httplib2/__init__.py.orig ./python2/httplib2/__init__.py
+--- ./python2/httplib2/__init__.py.orig	2012-07-27 18:35:59.215300471 +1000
++++ ./python2/httplib2/__init__.py	2012-07-27 18:36:30.697287505 +1000
+@@ -943,8 +943,13 @@ class HTTPSConnectionWithTimeout(httplib
+         """
+         if 'subjectAltName' in cert:
+             # Patch from richardfearn@gmail.com
+-	    return [x[1] for x in cert['subjectAltName']
++            # RFC 2459 states that subjectAltName may contain:
++            # either DNS, email, IP or URI
++            # email, URI,
++            hosts=[x[1] for x in cert['subjectAltName']
+                 if x[0].lower() == "dns"]
++	    if hosts:
++		return hosts
+
+         return [x[0][1] for x in cert['subject']
+             if x[0][0].lower() == 'commonname']
+
diff --git a/SPECS/python-httplib2.spec b/SPECS/python-httplib2.spec
new file mode 100644
index 0000000..0e62b36
--- /dev/null
+++ b/SPECS/python-httplib2.spec
@@ -0,0 +1,258 @@
+%if 0%{?fedora} >= 13
+%global with_python3 1
+%else
+%if 0%{?rhel} >= 7
+%global with_python3 1
+%endif
+%endif
+
+%if 0%{?rhel} > 7
+# Disable python2 build by default
+%bcond_with python2
+%else
+%bcond_without python2
+%endif
+
+Name:           python-httplib2
+Version:        0.10.3
+Release:        4%{?dist}
+Summary:        A comprehensive HTTP client library
+Group:          System Environment/Libraries
+License:        MIT
+URL:            https://pypi.python.org/pypi/httplib2
+Source0:        https://pypi.python.org/packages/source/h/httplib2/httplib2-%{version}.tar.gz
+# See also the 'locater plugin' system httplib2 now allows, and
+# https://github.com/dreamhost/httplib2-ca_certs_locater
+# It's kind of problematic, though: https://github.com/jcgregorio/httplib2/issues/293
+Patch1:         %{name}.certfile.patch
+Patch2:         %{name}.getCertHost.patch
+Patch3:         %{name}.rfc2459.patch
+#
+# Fix proxy with plain http
+# https://bugzilla.redhat.com/show_bug.cgi?id=857514
+# https://github.com/jcgregorio/httplib2/issues/228
+# 
+Patch4:         python-httplib2-0.9-proxy-http.patch
+
+BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+%if %{with python2}
+BuildRequires:  python2-setuptools
+BuildRequires:  python2-devel
+%endif # with python2
+BuildArch:      noarch
+
+%if 0%{?with_python3}
+BuildRequires:  python3-devel
+BuildRequires:  python3-setuptools
+%endif # if with_python3
+
+%global _description\
+A comprehensive HTTP client library that supports many features left out of\
+other HTTP libraries.
+
+%description %_description
+
+%if %{with python2}
+%package -n python2-httplib2
+Summary: %summary
+%{?python_provide:%python_provide python2-httplib2}
+
+%description -n python2-httplib2 %_description
+%endif # with python2
+
+%if 0%{?with_python3}
+%package -n python3-httplib2
+Summary:        A comprehensive HTTP client library
+%{?python_provide:%python_provide python3-httplib2}
+
+%description -n python3-httplib2
+A comprehensive HTTP client library that supports many features left out of
+other HTTP libraries.
+%endif # with_python3
+
+%prep
+%setup -q -n httplib2-%{version}
+%patch1 -p1 -b .certfile
+%patch2 -p0 -b .getCertHost
+%patch3 -p0 -b .rfc2459
+%patch4 -p1
+
+%if 0%{?with_python3}
+rm -rf %{py3dir}
+cp -a . %{py3dir}
+find %{py3dir} -name '*.py' | xargs sed -i '1s|^#!/usr/bin/python|#!%{__python3}|'
+%endif # with_python3
+
+%build
+%if %{with python2}
+%py2_build
+%endif # with python2
+
+%if 0%{?with_python3}
+pushd %{py3dir}
+%py3_build
+popd
+%endif # with_python3
+
+%install
+%if %{with python2}
+%py2_install
+%endif # with python2
+
+%if 0%{?with_python3}
+pushd %{py3dir}
+%py3_install
+popd
+%endif # with_python3
+
+%if %{with python2}
+%files -n python2-httplib2
+%{python2_sitelib}/*
+%endif # with python2
+
+%if 0%{?with_python3}
+%files -n python3-httplib2
+%{python3_sitelib}/*
+%endif # with_python3
+
+%changelog
+* Fri Jun 08 2018 Charalampos Stratakis <cstratak@redhat.com> - 0.10.3-4
+- Conditionalize the python2 subpackage
+
+* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.10.3-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Mon Sep 11 2017 Nick Bebout <nb@fedoraproject.org> - 0.10.3-2
+- Fix BuildRequires to use python2-* instead of python-*
+
+* Sun Sep 10 2017 Nick Bebout <nb@fedoraproject.org> - 0.10.3-1
+- Update to 0.10.3
+
+* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.9.2-7
+- Python 2 binary package renamed to python2-httplib2
+  See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
+
+* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.2-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.2-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 0.9.2-4
+- Rebuild for Python 3.6
+
+* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.2-3
+- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
+
+* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Sat Dec 26 2015 Kevin Fenzi <kevin@scrye.com> - 0.9.2-1
+- Update to 0.9.2
+
+* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.1-3
+- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
+
+* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Sun Apr 12 2015 Kevin Fenzi <kevin@scrye.com> 0.9.1-1
+- Update to 0.9.1 and drop upstreamed patches
+
+* Fri Apr 03 2015 Kevin Fenzi <kevin@scrye.com> 0.9-6
+- Add patch to fix http over proxy. Fixes bug #857514
+- Add patch to fix CVE-2013-2037. Fixes bug #958640
+- Add patch to fix binary headers in python3. Fixes bug #1205127
+
+* Mon Jan 12 2015 Adam Williamson <awilliam@redhat.com> - 0.9-5
+- certfile.patch: use /etc/pki/tls not /etc/ssl/certs, patch python3 too
+
+* Mon Jun 30 2014 Toshio Kuratomi <toshio@fedoraproject.org> - 0.9-4
+- Replace python-setuptools-devel BR with python-setuptools
+
+* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
+
+* Wed May 28 2014 Kalev Lember <kalevlember@gmail.com> - 0.9-2
+- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4
+
+* Fri May 23 2014 Kevin Fenzi <kevin@scrye.com> 0.9-1
+- Update to 0.9
+
+* Wed May 14 2014 Bohuslav Kabrda <bkabrda@redhat.com> - 0.7.7-4
+- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4
+
+* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7.7-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
+* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7.7-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+
+* Wed Jan 02 2013 Ding-Yi Chen <dchen at redhat.com> - 0.7.7-1
+- Upstream update to 0.7.7
+
+* Sat Aug 04 2012 David Malcolm <dmalcolm@redhat.com> - 0.7.4-7
+- rebuild for https://fedoraproject.org/wiki/Features/Python_3.3
+
+* Fri Jul 27 2012 Ding-Yi Chen <dchen at redhat.com> - 0.7.4-6
+- Fixed Bug 840968 - SSL errors when the site certificate contains
+  subjectAltName but DNS is not in it
+
+* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7.4-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Fri Jun 22 2012 Ding-Yi Chen <dchen at redhat.com> - 0.7.4-4
+- Unify the spec file between EPEL and Fedora.
+
+* Thu Jun 21 2012 Ding-Yi Chen <dchen at redhat.com> - 0.7.4-3
+- Applied patch suggested by richardfearn@gmail.com regarding issue 208
+- Fixed: Bug 832344 - Certification validation fails due to multiple 'dns' entries in subjectAltName
+
+* Fri Jun 01 2012 Ding-Yi Chen <dchen at redhat.com> - 0.7.4-2
+- Upstream update for Fedora
+
+* Thu May 03 2012 Ding-Yi Chen <dchen at redhat.com> - 0.7.4-1
+- Upstream update to 0.7.4
+- Applied patch suggested in issue 208
+
+* Fri Feb 24 2012 Ding-Yi Chen <dchen at redhat.com> - 0.7.2-1
+- Upstream update to 0.7.2
+  Which may fixed http://code.google.com/p/httplib2/issues/detail?id=62
+  Note this version uses fedora's cert file bundle instead of httplib2
+  default.
+
+* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.0-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Fri Jul 29 2011 Ding-Yi Chen <dchen at redhat.com>  - 0.4.0-5.el6
+- Apply that address python-httplib2 (GoogleCode Hosted) issue 39
+  http://code.google.com/p/httplib2/issues/detail?id=39
+
+* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.0-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Wed Aug 25 2010 Thomas Spura <tomspur@fedoraproject.org> - 0.6.0-4
+- rebuild with python3.2
+  http://lists.fedoraproject.org/pipermail/devel/2010-August/141368.html
+
+* Thu Jul 22 2010 David Malcolm <dmalcolm@redhat.com> - 0.6.0-3
+- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
+
+* Tue Apr 20 2010 Tom "spot" Callaway <tcallawa@redhat.com>
+- minor spec cleanups
+- enable python3 support
+
+* Fri Apr 02 2010 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de> - 0.6.0-1
+- version upgrade (#566721)
+
+* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.0-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.0-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
+* Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 0.4.0-2
+- Rebuild for Python 2.6
+
+* Thu Dec 27 2007 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de> - 0.4.0-1
+- initial version