c694b81
# sitelib for noarch packages, sitearch for others (remove the unneeded one)
785246b
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
785246b
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
c694b81
c694b81
Name:           python-nss
deab3cb
Version:        0.9
06f20fd
Release:        2%{?dist}
c694b81
Summary:        Python bindings for Network Security Services (NSS)
c694b81
c694b81
Group:          Development/Languages
ecd8a90
License:        MPLv1.1 or GPLv2+ or LGPLv2+
abb03ab
URL:            :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot/mozilla/security/python/nss
763c2bf
Source0:        %{name}-%{version}.tar.bz2
c694b81
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
c694b81
785246b
%global docdir %{_docdir}/%{name}-%{version}
c694b81
c694b81
BuildRequires: python-devel
c694b81
BuildRequires: python-setuptools-devel
c694b81
BuildRequires: epydoc
23f49df
BuildRequires: python-docutils
c694b81
BuildRequires: nspr-devel
c694b81
BuildRequires: nss-devel
c694b81
c694b81
c694b81
%description
c694b81
This package provides Python bindings for Network Security Services
c694b81
(NSS) and the Netscape Portable Runtime (NSPR).
c694b81
c694b81
NSS is a set of libraries supporting security-enabled client and
c694b81
server applications. Applications built with NSS can support SSL v2
c694b81
and v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3
c694b81
certificates, and other security standards. Specific NSS
c694b81
implementations have been FIPS-140 certified.
c694b81
c694b81
c694b81
%prep
c694b81
%setup -q
c694b81
c694b81
c694b81
%build
c694b81
CFLAGS="$RPM_OPT_FLAGS" %{__python} setup.py build
c694b81
%{__python} setup.py build_doc
c694b81
c694b81
c694b81
%install
c694b81
rm -rf $RPM_BUILD_ROOT
763c2bf
%{__python} setup.py install  -O1 --install-platlib %{python_sitearch} --skip-build --root $RPM_BUILD_ROOT
c694b81
%{__python} setup.py install_doc --docdir %{docdir} --skip-build --root $RPM_BUILD_ROOT
c694b81
c694b81
# Remove execution permission from any example scripts
c694b81
find $RPM_BUILD_ROOT/%{docdir}/examples -type f | xargs chmod a-x
c694b81
c694b81
# Set correct permissions on .so files
c694b81
chmod 0755 $RPM_BUILD_ROOT/%{python_sitearch}/nss/*.so
763c2bf
ecd8a90
c694b81
%clean
c694b81
rm -rf $RPM_BUILD_ROOT
c694b81
c694b81
c694b81
%files
c694b81
%defattr(-,root,root,-)
c694b81
%doc %{docdir}
c694b81
%{python_sitearch}/*
c694b81
c694b81
c694b81
%changelog
06f20fd
* Tue Jun  1 2010 John Dennis <jdennis@redhat.com> - 0.9-2
06f20fd
- fold in more ref counting patches from Miloslav Trmač <mitr@redhat.com>
06f20fd
  into upstream.
06f20fd
  Did not bump upstream version, just bumped release ver in this spec file.
06f20fd
deab3cb
* Fri May 28 2010 John Dennis <jdennis@redhat.com> - 0.9-1
deab3cb
- Unicode objects now accepted as well as str objects for
deab3cb
  interfaces expecting a string.
deab3cb
deab3cb
- Sockets were enhanced thusly:
deab3cb
    - Threads will now yield during blocking IO.
deab3cb
    - Socket.makefile() reimplemented
deab3cb
	  file object methods that had been missing (readlines(), sendall(),
deab3cb
	  and iteration) were implemented, makefile now just returns the same
deab3cb
	  Socket object but increments an "open" ref count. Thus a Socket
deab3cb
	  object behaves like a file object and must be closed once for each
deab3cb
	  makefile() call before it's actually closed.
deab3cb
    - Sockets now support the iter protocol
deab3cb
    - Add Socket.readlines(), Socket.sendall()
deab3cb
deab3cb
- The following classes were added:
deab3cb
    AuthKeyID
deab3cb
    CRLDistributionPoint
deab3cb
    CRLDistributionPts
deab3cb
    CertificateExtension
deab3cb
    GeneralName
deab3cb
    SignedCRL
deab3cb
    X500AVA
deab3cb
    X500Name
deab3cb
    X500RDN
deab3cb
deab3cb
- The following module functions were added:
deab3cb
    nss.nss.cert_crl_reason_from_name()
deab3cb
    nss.nss.cert_crl_reason_name()
deab3cb
    nss.nss.cert_general_name_type_from_name()
deab3cb
    nss.nss.cert_general_name_type_name()
deab3cb
    nss.nss.decode_der_crl()
deab3cb
    nss.nss.der_universal_secitem_fmt_lines()
deab3cb
    nss.nss.import_crl()
deab3cb
    nss.nss.make_line_pairs()
deab3cb
    nss.nss.oid_dotted_decimal()
deab3cb
    nss.nss.oid_str()
deab3cb
    nss.nss.oid_tag()
deab3cb
    nss.nss.oid_tag_name()
deab3cb
    nss.nss.read_der_from_file()
deab3cb
    nss.nss.x509_alt_name()
deab3cb
    nss.nss.x509_ext_key_usage()
deab3cb
    nss.nss.x509_key_usage()
deab3cb
deab3cb
- The following class methods and properties were added:
deab3cb
  Note: it's a method if the name is suffixed with (), a propety otherwise
deab3cb
    Socket.next()
deab3cb
    Socket.readlines()
deab3cb
    Socket.sendall()
deab3cb
    SSLSocket.next()
deab3cb
    SSLSocket.readlines()
deab3cb
    SSLSocket.sendall()
deab3cb
    AuthKeyID.key_id
deab3cb
    AuthKeyID.serial_number
deab3cb
    AuthKeyID.get_general_names()
deab3cb
    CRLDistributionPoint.issuer
deab3cb
    CRLDistributionPoint.get_general_names()
deab3cb
    CRLDistributionPoint.get_reasons()
deab3cb
    CertDB.find_crl_by_cert()
deab3cb
    CertDB.find_crl_by_name()
deab3cb
    Certificate.extensions
deab3cb
    CertificateExtension.critical
deab3cb
    CertificateExtension.name
deab3cb
    CertificateExtension.oid
deab3cb
    CertificateExtension.oid_tag
deab3cb
    CertificateExtension.value
deab3cb
    GeneralName.type_enum
deab3cb
    GeneralName.type_name
deab3cb
    GeneralName.type_string
deab3cb
    SecItem.der_to_hex()
deab3cb
    SecItem.get_oid_sequence()
deab3cb
    SecItem.to_hex()
deab3cb
    SignedCRL.delete_permanently()
deab3cb
    X500AVA.oid
deab3cb
    X500AVA.oid_tag
deab3cb
    X500AVA.value
deab3cb
    X500AVA.value_str
deab3cb
    X500Name.cert_uid
deab3cb
    X500Name.common_name
deab3cb
    X500Name.country_name
deab3cb
    X500Name.dc_name
deab3cb
    X500Name.email_address
deab3cb
    X500Name.locality_name
deab3cb
    X500Name.org_name
deab3cb
    X500Name.org_unit_name
deab3cb
    X500Name.state_name
deab3cb
    X500Name.add_rdn()
deab3cb
    X500Name.has_key()
deab3cb
    X500RDN.has_key()
deab3cb
deab3cb
- The following module functions were removed:
deab3cb
  Note: use nss.nss.oid_tag() instead
deab3cb
    nss.nss.sec_oid_tag_from_name()
deab3cb
    nss.nss.sec_oid_tag_name()
deab3cb
    nss.nss.sec_oid_tag_str()
deab3cb
deab3cb
- The following files were added:
deab3cb
    doc/examples/cert_dump.py
deab3cb
    test/test_cert_components.py
deab3cb
06f20fd
- Apply patches from  Miloslav Trmač <mitr@redhat.com>
06f20fd
  for ref counting and threading support. Thanks Miloslav!
06f20fd
deab3cb
- Review all ref counting, numerous ref counting fixes
deab3cb
deab3cb
- Implement cyclic garbage collection support by
deab3cb
  adding object traversal and clear methods
deab3cb
deab3cb
- Identify static variables, move to thread local storage
deab3cb
deab3cb
785246b
* Wed Mar 24 2010 John Dennis <jdennis@redhat.com> - 0.8-2
785246b
- change %%define to %%global
785246b
4d837ec
* Mon Sep 21 2009 John Dennis <jdennis@redhat.com> - 0.8-1
4d837ec
- The following methods, properties  and functions were added:
4d837ec
  SecItem.type SecItem.len, SecItem.data
4d837ec
  PK11SymKey.key_data, PK11SymKey.key_length, PK11SymKey.slot
4d837ec
  create_context_by_sym_key
4d837ec
  param_from_iv
4d837ec
  generate_new_param
4d837ec
  get_iv_length
4d837ec
  get_block_size
4d837ec
  get_pad_mechanism
4d837ec
- SecItem's now support indexing and slicing on their data
4d837ec
- Clean up parsing and parameter validation of variable arg functions
4d837ec
763c2bf
* Fri Sep 18 2009 John Dennis <jdennis@redhat.com> - 0.7-1
763c2bf
- add support for symmetric encryption/decryption
763c2bf
  more support for digests (hashes)
763c2bf
763c2bf
  The following classes were added:
763c2bf
  PK11SymKey PK11Context
763c2bf
763c2bf
  The following methods and functions were added:
763c2bf
  get_best_wrap_mechanism          get_best_key_length
763c2bf
  key_gen                          derive
763c2bf
  get_key_length                   digest_key
763c2bf
  clone_context                    digest_begin
763c2bf
  digest_op                        cipher_op
763c2bf
  finalize                         digest_final
763c2bf
  read_hex                         hash_buf
763c2bf
  sec_oid_tag_str                  sec_oid_tag_name
763c2bf
  sec_oid_tag_from_name            key_mechanism_type_name
763c2bf
  key_mechanism_type_from_name     pk11_attribute_type_name
763c2bf
  pk11_attribute_type_from_name    get_best_slot
763c2bf
  get_internal_key_slot            create_context_by_sym_key
763c2bf
  import_sym_key                   create_digest_context
763c2bf
  param_from_iv                    param_from_algid
763c2bf
  generate_new_param               algtag_to_mechanism
763c2bf
  mechanism_to_algtag
763c2bf
763c2bf
  The following files were added:
763c2bf
  cipher_test.py digest_test.py
763c2bf
53dc54e
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6-3
53dc54e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
53dc54e
49e89b2
* Thu Jul  9 2009 John Dennis <jdennis@redhat.com> - 0.6-2
49e89b2
- restore nss.nssinit(), make deprecated
49e89b2
0b64323
* Wed Jul  8 2009 John Dennis <jdennis@redhat.com> - 0.6-1
0b64323
- fix bug #510343 client_auth_data_callback seg faults if False
0b64323
  is returned from callback
0b64323
0488687
* Wed Jul  1 2009 John Dennis <jdennis@redhat.com> - 0.5-1
0488687
- restore ssl.nss_init and ssl.nss_shutdown but make them deprecated
0488687
  add __version__ string to nss module
0488687
2b3bd95
* Tue Jun 30 2009 John Dennis <jdennis@redhat.com> - 0.4-1
2b3bd95
- add binding for NSS_NoDB_Init(), bug #509002
2b3bd95
  move nss_init and nss_shutdown from ssl module to nss module
2b3bd95
abb03ab
* Thu Jun  4 2009 John Dennis <jdennis@redhat.com> - 0.3-1
abb03ab
- installed source code in Mozilla CVS repository
abb03ab
  update URL tag to point to CVS repositoy
abb03ab
  (not yet a valid URL, still have to coordinate with Mozilla)
abb03ab
  minor tweak to src directory layout
abb03ab
ecd8a90
* Mon Jun  1 2009 John Dennis <jdennis@redhat.com> - 0.2-1
ecd8a90
- Convert licensing to MPL tri-license
ecd8a90
- apply patch from bug #472805, (Miloslav Trmač)
ecd8a90
  Don't allow closing a socket twice, that causes crashes.
ecd8a90
  New function nss.io.Socket.new_socket_pair()
ecd8a90
  New function nss.io.Socket.poll()
ecd8a90
  New function nss.io.Socket.import_tcp_socket()
ecd8a90
  New method nss.nss.Certificate.get_subject_common_name()
ecd8a90
  New function nss.nss.generate_random()
ecd8a90
  Fix return value creation in SSLSocket.get_security_status
763c2bf
  New function nss.ssl.SSLSocket.import_tcp_socket()
ecd8a90
6ce0271
* Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1-3
6ce0271
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
6ce0271
378b003
* Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 0.1-2
378b003
- Rebuild for Python 2.6
378b003
c45603e
* Tue Sep  9 2008 John Dennis <jdennis@redhat.com> - 0.1-1
c45603e
- clean up ssl_example.py, fix arg list in get_cert_nicknames,
c45603e
   make certdir cmd line arg consistent with other NSS tools
c45603e
- update httplib.py to support client auth, add httplib_example.py which illustrates it's use
c45603e
- fix some documentation
c45603e
- fix some type usage which were unsafe on 64-bit
c45603e
23f49df
* Wed Jul  9 2008 John Dennis <jdennis@redhat.com> - 0.0-2
23f49df
- add docutils to build requires so restructured text works
23f49df
c694b81
* Fri Jun 27 2008 John Dennis <jdennis@redhat.com> - 0.0-1
c694b81
- initial release
c694b81
c694b81