pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Import py-letsencrypt* and py-acme.
Module Name: pkgsrc-wip
Committed By: Filip Hajny <filip%joyent.com@localhost>
Pushed By: fhajny
Date: Tue Dec 1 14:39:56 2015 +0000
Changeset: f75a6fc28b3a171fb629f3a0dbe7af6340902223
Modified Files:
Makefile
Added Files:
py-acme/DESCR
py-acme/Makefile
py-acme/PLIST
py-letsencrypt-apache/DESCR
py-letsencrypt-apache/Makefile
py-letsencrypt-apache/PLIST
py-letsencrypt-nginx/DESCR
py-letsencrypt-nginx/Makefile
py-letsencrypt-nginx/PLIST
py-letsencrypt/DESCR
py-letsencrypt/Makefile
py-letsencrypt/Makefile.common
py-letsencrypt/PLIST
py-letsencrypt/distinfo
Log Message:
Import py-letsencrypt* and py-acme.
This is work in progress, the Apache/Nginx integration will not
work yet, but getting a standalone certificate issued should work.
The Let's Encrypt Client is a tool to automatically receive and
install X.509 certificates to enable TLS on servers. The client
will interoperate with the Let's Encrypt CA which will be issuing
browser-trusted certificates for free.
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=f75a6fc28b3a171fb629f3a0dbe7af6340902223
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
Makefile | 4 +
py-acme/DESCR | 2 +
py-acme/Makefile | 27 +++++
py-acme/PLIST | 139 +++++++++++++++++++++++++
py-letsencrypt-apache/DESCR | 1 +
py-letsencrypt-apache/Makefile | 25 +++++
py-letsencrypt-apache/PLIST | 103 +++++++++++++++++++
py-letsencrypt-nginx/DESCR | 1 +
py-letsencrypt-nginx/Makefile | 25 +++++
py-letsencrypt-nginx/PLIST | 75 ++++++++++++++
py-letsencrypt/DESCR | 4 +
py-letsencrypt/Makefile | 43 ++++++++
py-letsencrypt/Makefile.common | 17 +++
py-letsencrypt/PLIST | 227 +++++++++++++++++++++++++++++++++++++++++
py-letsencrypt/distinfo | 6 ++
15 files changed, 699 insertions(+)
diffs:
diff --git a/Makefile b/Makefile
index 0d43e58..d507b11 100644
--- a/Makefile
+++ b/Makefile
@@ -2519,6 +2519,7 @@ SUBDIR+= py-SQLObject
SUBDIR+= py-Soya
SUBDIR+= py-abcpmc
SUBDIR+= py-achemkit
+SUBDIR+= py-acme
SUBDIR+= py-acq4
SUBDIR+= py-addons
SUBDIR+= py-adsbibdesk
@@ -2879,6 +2880,9 @@ SUBDIR+= py-lazr.uri
SUBDIR+= py-lazy-object-proxy
SUBDIR+= py-lds
SUBDIR+= py-lea
+SUBDIR+= py-letsencrypt
+SUBDIR+= py-letsencrypt-apache
+SUBDIR+= py-letsencrypt-nginx
SUBDIR+= py-lhafile
SUBDIR+= py-lib
SUBDIR+= py-liblzma
diff --git a/py-acme/DESCR b/py-acme/DESCR
new file mode 100644
index 0000000..074064e
--- /dev/null
+++ b/py-acme/DESCR
@@ -0,0 +1,2 @@
+ACME (Automated Certificate Management Environment) protocol
+implementation in Python.
diff --git a/py-acme/Makefile b/py-acme/Makefile
new file mode 100644
index 0000000..15ff021
--- /dev/null
+++ b/py-acme/Makefile
@@ -0,0 +1,27 @@
+# $NetBSD$
+
+PKGNAME= ${PYPKGPREFIX}-${DISTNAME:S/dev//:S/letsencrypt/acme/}
+CATEGORIES= security
+MASTER_SITES= ${MASTER_SITE_GITHUB:=letsencrypt/}
+
+COMMENT= ACME protocol implementation in Python
+LICENSE= apache-2.0
+
+.include "../../wip/py-letsencrypt/Makefile.common"
+
+DEPENDS+= ${PYPKGPREFIX}-OpenSSL>=0.15:../../security/py-OpenSSL
+DEPENDS+= ${PYPKGPREFIX}-asn1-[0-9]*:../../security/py-asn1
+DEPENDS+= ${PYPKGPREFIX}-cryptography>=0.8:../../security/py-cryptography
+DEPENDS+= ${PYPKGPREFIX}-ndg_httpsclient-[0-9]*:../../security/py-ndg_httpsclient
+DEPENDS+= ${PYPKGPREFIX}-pytz-[0-9]*:../../time/py-pytz
+DEPENDS+= ${PYPKGPREFIX}-requests-[0-9]*:../../devel/py-requests
+DEPENDS+= ${PYPKGPREFIX}-rfc3339-[0-9]*:../../time/py-rfc3339
+DEPENDS+= ${PYPKGPREFIX}-six-[0-9]*:../../lang/py-six
+DEPENDS+= ${PYPKGPREFIX}-werkzeug-[0-9]*:../../www/py-werkzeug
+
+EGG_NAME= ${DISTNAME:S/letsencrypt/acme/}
+
+PYSETUPSUBDIR= acme
+
+.include "../../lang/python/egg.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/py-acme/PLIST b/py-acme/PLIST
new file mode 100644
index 0000000..951a738
--- /dev/null
+++ b/py-acme/PLIST
@@ -0,0 +1,139 @@
+@comment $NetBSD$
+bin/jws
+${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
+${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
+${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
+${PYSITELIB}/${EGG_INFODIR}/entry_points.txt
+${PYSITELIB}/${EGG_INFODIR}/requires.txt
+${PYSITELIB}/${EGG_INFODIR}/top_level.txt
+${PYSITELIB}/acme/__init__.py
+${PYSITELIB}/acme/__init__.pyc
+${PYSITELIB}/acme/__init__.pyo
+${PYSITELIB}/acme/challenges.py
+${PYSITELIB}/acme/challenges.pyc
+${PYSITELIB}/acme/challenges.pyo
+${PYSITELIB}/acme/challenges_test.py
+${PYSITELIB}/acme/challenges_test.pyc
+${PYSITELIB}/acme/challenges_test.pyo
+${PYSITELIB}/acme/client.py
+${PYSITELIB}/acme/client.pyc
+${PYSITELIB}/acme/client.pyo
+${PYSITELIB}/acme/client_test.py
+${PYSITELIB}/acme/client_test.pyc
+${PYSITELIB}/acme/client_test.pyo
+${PYSITELIB}/acme/crypto_util.py
+${PYSITELIB}/acme/crypto_util.pyc
+${PYSITELIB}/acme/crypto_util.pyo
+${PYSITELIB}/acme/crypto_util_test.py
+${PYSITELIB}/acme/crypto_util_test.pyc
+${PYSITELIB}/acme/crypto_util_test.pyo
+${PYSITELIB}/acme/errors.py
+${PYSITELIB}/acme/errors.pyc
+${PYSITELIB}/acme/errors.pyo
+${PYSITELIB}/acme/errors_test.py
+${PYSITELIB}/acme/errors_test.pyc
+${PYSITELIB}/acme/errors_test.pyo
+${PYSITELIB}/acme/fields.py
+${PYSITELIB}/acme/fields.pyc
+${PYSITELIB}/acme/fields.pyo
+${PYSITELIB}/acme/fields_test.py
+${PYSITELIB}/acme/fields_test.pyc
+${PYSITELIB}/acme/fields_test.pyo
+${PYSITELIB}/acme/jose/__init__.py
+${PYSITELIB}/acme/jose/__init__.pyc
+${PYSITELIB}/acme/jose/__init__.pyo
+${PYSITELIB}/acme/jose/b64.py
+${PYSITELIB}/acme/jose/b64.pyc
+${PYSITELIB}/acme/jose/b64.pyo
+${PYSITELIB}/acme/jose/b64_test.py
+${PYSITELIB}/acme/jose/b64_test.pyc
+${PYSITELIB}/acme/jose/b64_test.pyo
+${PYSITELIB}/acme/jose/errors.py
+${PYSITELIB}/acme/jose/errors.pyc
+${PYSITELIB}/acme/jose/errors.pyo
+${PYSITELIB}/acme/jose/errors_test.py
+${PYSITELIB}/acme/jose/errors_test.pyc
+${PYSITELIB}/acme/jose/errors_test.pyo
+${PYSITELIB}/acme/jose/interfaces.py
+${PYSITELIB}/acme/jose/interfaces.pyc
+${PYSITELIB}/acme/jose/interfaces.pyo
+${PYSITELIB}/acme/jose/interfaces_test.py
+${PYSITELIB}/acme/jose/interfaces_test.pyc
+${PYSITELIB}/acme/jose/interfaces_test.pyo
+${PYSITELIB}/acme/jose/json_util.py
+${PYSITELIB}/acme/jose/json_util.pyc
+${PYSITELIB}/acme/jose/json_util.pyo
+${PYSITELIB}/acme/jose/json_util_test.py
+${PYSITELIB}/acme/jose/json_util_test.pyc
+${PYSITELIB}/acme/jose/json_util_test.pyo
+${PYSITELIB}/acme/jose/jwa.py
+${PYSITELIB}/acme/jose/jwa.pyc
+${PYSITELIB}/acme/jose/jwa.pyo
+${PYSITELIB}/acme/jose/jwa_test.py
+${PYSITELIB}/acme/jose/jwa_test.pyc
+${PYSITELIB}/acme/jose/jwa_test.pyo
+${PYSITELIB}/acme/jose/jwk.py
+${PYSITELIB}/acme/jose/jwk.pyc
+${PYSITELIB}/acme/jose/jwk.pyo
+${PYSITELIB}/acme/jose/jwk_test.py
+${PYSITELIB}/acme/jose/jwk_test.pyc
+${PYSITELIB}/acme/jose/jwk_test.pyo
+${PYSITELIB}/acme/jose/jws.py
+${PYSITELIB}/acme/jose/jws.pyc
+${PYSITELIB}/acme/jose/jws.pyo
+${PYSITELIB}/acme/jose/jws_test.py
+${PYSITELIB}/acme/jose/jws_test.pyc
+${PYSITELIB}/acme/jose/jws_test.pyo
+${PYSITELIB}/acme/jose/util.py
+${PYSITELIB}/acme/jose/util.pyc
+${PYSITELIB}/acme/jose/util.pyo
+${PYSITELIB}/acme/jose/util_test.py
+${PYSITELIB}/acme/jose/util_test.pyc
+${PYSITELIB}/acme/jose/util_test.pyo
+${PYSITELIB}/acme/jws.py
+${PYSITELIB}/acme/jws.pyc
+${PYSITELIB}/acme/jws.pyo
+${PYSITELIB}/acme/jws_test.py
+${PYSITELIB}/acme/jws_test.pyc
+${PYSITELIB}/acme/jws_test.pyo
+${PYSITELIB}/acme/messages.py
+${PYSITELIB}/acme/messages.pyc
+${PYSITELIB}/acme/messages.pyo
+${PYSITELIB}/acme/messages_test.py
+${PYSITELIB}/acme/messages_test.pyc
+${PYSITELIB}/acme/messages_test.pyo
+${PYSITELIB}/acme/other.py
+${PYSITELIB}/acme/other.pyc
+${PYSITELIB}/acme/other.pyo
+${PYSITELIB}/acme/other_test.py
+${PYSITELIB}/acme/other_test.pyc
+${PYSITELIB}/acme/other_test.pyo
+${PYSITELIB}/acme/standalone.py
+${PYSITELIB}/acme/standalone.pyc
+${PYSITELIB}/acme/standalone.pyo
+${PYSITELIB}/acme/standalone_test.py
+${PYSITELIB}/acme/standalone_test.pyc
+${PYSITELIB}/acme/standalone_test.pyo
+${PYSITELIB}/acme/test_util.py
+${PYSITELIB}/acme/test_util.pyc
+${PYSITELIB}/acme/test_util.pyo
+${PYSITELIB}/acme/testdata/README
+${PYSITELIB}/acme/testdata/cert-san.pem
+${PYSITELIB}/acme/testdata/cert.der
+${PYSITELIB}/acme/testdata/cert.pem
+${PYSITELIB}/acme/testdata/csr-6sans.pem
+${PYSITELIB}/acme/testdata/csr-nosans.pem
+${PYSITELIB}/acme/testdata/csr-san.pem
+${PYSITELIB}/acme/testdata/csr.der
+${PYSITELIB}/acme/testdata/csr.pem
+${PYSITELIB}/acme/testdata/dsa512_key.pem
+${PYSITELIB}/acme/testdata/rsa1024_key.pem
+${PYSITELIB}/acme/testdata/rsa2048_key.pem
+${PYSITELIB}/acme/testdata/rsa256_key.pem
+${PYSITELIB}/acme/testdata/rsa512_key.pem
+${PYSITELIB}/acme/util.py
+${PYSITELIB}/acme/util.pyc
+${PYSITELIB}/acme/util.pyo
+${PYSITELIB}/acme/util_test.py
+${PYSITELIB}/acme/util_test.pyc
+${PYSITELIB}/acme/util_test.pyo
diff --git a/py-letsencrypt-apache/DESCR b/py-letsencrypt-apache/DESCR
new file mode 100644
index 0000000..3505fd5
--- /dev/null
+++ b/py-letsencrypt-apache/DESCR
@@ -0,0 +1 @@
+Apache plugin for Let's Encrypt client
diff --git a/py-letsencrypt-apache/Makefile b/py-letsencrypt-apache/Makefile
new file mode 100644
index 0000000..661d6e5
--- /dev/null
+++ b/py-letsencrypt-apache/Makefile
@@ -0,0 +1,25 @@
+# $NetBSD$
+
+PKGNAME= ${PYPKGPREFIX}-${DISTNAME:S/dev//:S/letsencrypt/letsencrypt-apache/}
+CATEGORIES= security
+MASTER_SITES= ${MASTER_SITE_GITHUB:=letsencrypt/}
+
+COMMENT= Apache plugin for Let's Encrypt client
+LICENSE= apache-2.0
+
+.include "../../wip/py-letsencrypt/Makefile.common"
+
+DEPENDS+= ${PYPKGPREFIX}-acme-${PKGVERSION_NOREV}{nb*,}:../../wip/py-acme
+DEPENDS+= ${PYPKGPREFIX}-letsencrypt-${PKGVERSION_NOREV}{nb*,}:../../wip/py-letsencrypt
+
+DEPENDS+= ${PYPKGPREFIX}-augeas-[0-9]*:../../sysutils/py-augeas
+DEPENDS+= ${PYPKGPREFIX}-mock-[0-9]*:../../devel/py-mock
+DEPENDS+= ${PYPKGPREFIX}-ZopeComponent-[0-9]*:../../devel/py-ZopeComponent
+DEPENDS+= ${PYPKGPREFIX}-ZopeInterface-[0-9]*:../../devel/py-ZopeInterface
+
+EGG_NAME= ${DISTNAME:S/letsencrypt/letsencrypt_apache/}
+
+PYSETUPSUBDIR= letsencrypt-apache
+
+.include "../../lang/python/egg.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/py-letsencrypt-apache/PLIST b/py-letsencrypt-apache/PLIST
new file mode 100644
index 0000000..f6f09a8
--- /dev/null
+++ b/py-letsencrypt-apache/PLIST
@@ -0,0 +1,103 @@
+@comment $NetBSD$
+${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
+${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
+${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
+${PYSITELIB}/${EGG_INFODIR}/entry_points.txt
+${PYSITELIB}/${EGG_INFODIR}/requires.txt
+${PYSITELIB}/${EGG_INFODIR}/top_level.txt
+${PYSITELIB}/letsencrypt_apache/__init__.py
+${PYSITELIB}/letsencrypt_apache/__init__.pyc
+${PYSITELIB}/letsencrypt_apache/__init__.pyo
+${PYSITELIB}/letsencrypt_apache/augeas_configurator.py
+${PYSITELIB}/letsencrypt_apache/augeas_configurator.pyc
+${PYSITELIB}/letsencrypt_apache/augeas_configurator.pyo
+${PYSITELIB}/letsencrypt_apache/augeas_lens/httpd.aug
+${PYSITELIB}/letsencrypt_apache/configurator.py
+${PYSITELIB}/letsencrypt_apache/configurator.pyc
+${PYSITELIB}/letsencrypt_apache/configurator.pyo
+${PYSITELIB}/letsencrypt_apache/constants.py
+${PYSITELIB}/letsencrypt_apache/constants.pyc
+${PYSITELIB}/letsencrypt_apache/constants.pyo
+${PYSITELIB}/letsencrypt_apache/display_ops.py
+${PYSITELIB}/letsencrypt_apache/display_ops.pyc
+${PYSITELIB}/letsencrypt_apache/display_ops.pyo
+${PYSITELIB}/letsencrypt_apache/dvsni.py
+${PYSITELIB}/letsencrypt_apache/dvsni.pyc
+${PYSITELIB}/letsencrypt_apache/dvsni.pyo
+${PYSITELIB}/letsencrypt_apache/obj.py
+${PYSITELIB}/letsencrypt_apache/obj.pyc
+${PYSITELIB}/letsencrypt_apache/obj.pyo
+${PYSITELIB}/letsencrypt_apache/options-ssl-apache.conf
+${PYSITELIB}/letsencrypt_apache/parser.py
+${PYSITELIB}/letsencrypt_apache/parser.pyc
+${PYSITELIB}/letsencrypt_apache/parser.pyo
+${PYSITELIB}/letsencrypt_apache/tests/__init__.py
+${PYSITELIB}/letsencrypt_apache/tests/__init__.pyc
+${PYSITELIB}/letsencrypt_apache/tests/__init__.pyo
+${PYSITELIB}/letsencrypt_apache/tests/augeas_configurator_test.py
+${PYSITELIB}/letsencrypt_apache/tests/augeas_configurator_test.pyc
+${PYSITELIB}/letsencrypt_apache/tests/augeas_configurator_test.pyo
+${PYSITELIB}/letsencrypt_apache/tests/complex_parsing_test.py
+${PYSITELIB}/letsencrypt_apache/tests/complex_parsing_test.pyc
+${PYSITELIB}/letsencrypt_apache/tests/complex_parsing_test.pyo
+${PYSITELIB}/letsencrypt_apache/tests/configurator_test.py
+${PYSITELIB}/letsencrypt_apache/tests/configurator_test.pyc
+${PYSITELIB}/letsencrypt_apache/tests/configurator_test.pyo
+${PYSITELIB}/letsencrypt_apache/tests/display_ops_test.py
+${PYSITELIB}/letsencrypt_apache/tests/display_ops_test.pyc
+${PYSITELIB}/letsencrypt_apache/tests/display_ops_test.pyo
+${PYSITELIB}/letsencrypt_apache/tests/dvsni_test.py
+${PYSITELIB}/letsencrypt_apache/tests/dvsni_test.pyc
+${PYSITELIB}/letsencrypt_apache/tests/dvsni_test.pyo
+${PYSITELIB}/letsencrypt_apache/tests/obj_test.py
+${PYSITELIB}/letsencrypt_apache/tests/obj_test.pyc
+${PYSITELIB}/letsencrypt_apache/tests/obj_test.pyo
+${PYSITELIB}/letsencrypt_apache/tests/parser_test.py
+${PYSITELIB}/letsencrypt_apache/tests/parser_test.pyc
+${PYSITELIB}/letsencrypt_apache/tests/parser_test.pyo
+${PYSITELIB}/letsencrypt_apache/tests/testdata/complex_parsing/apache2.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/complex_parsing/conf-enabled/dummy.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/complex_parsing/test_fnmatch.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/complex_parsing/test_variables.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/default_vhost/apache2/apache2.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/default_vhost/apache2/conf-available/other-vhosts-access-log.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/default_vhost/apache2/conf-available/security.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/default_vhost/apache2/conf-available/serve-cgi-bin.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/default_vhost/apache2/conf-enabled/other-vhosts-access-log.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/default_vhost/apache2/conf-enabled/security.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/default_vhost/apache2/conf-enabled/serve-cgi-bin.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/default_vhost/apache2/envvars
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/default_vhost/apache2/mods-available/ssl.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/default_vhost/apache2/mods-available/ssl.load
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/default_vhost/apache2/ports.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/default_vhost/apache2/sites-available/000-default.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/default_vhost/apache2/sites-available/default-ssl.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/default_vhost/apache2/sites-enabled/000-default.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/default_vhost/sites
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/apache2.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/conf-available/bad_conf_file.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/conf-available/other-vhosts-access-log.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/conf-available/security.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/conf-available/serve-cgi-bin.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/conf-enabled/other-vhosts-access-log.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/conf-enabled/security.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/conf-enabled/serve-cgi-bin.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/envvars
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/mods-available/rewrite.load
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/mods-available/ssl.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/mods-available/ssl.load
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/mods-enabled/.gitignore
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/ports.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/sites-available/000-default.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/sites-available/default-ssl.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/sites-available/encryption-example.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/sites-available/letsencrypt.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/sites-available/mod_macro-example.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/sites-enabled/000-default.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/sites-enabled/encryption-example.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/sites-enabled/letsencrypt.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/sites-enabled/mod_macro-example.conf
+${PYSITELIB}/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/sites
+${PYSITELIB}/letsencrypt_apache/tests/util.py
+${PYSITELIB}/letsencrypt_apache/tests/util.pyc
+${PYSITELIB}/letsencrypt_apache/tests/util.pyo
diff --git a/py-letsencrypt-nginx/DESCR b/py-letsencrypt-nginx/DESCR
new file mode 100644
index 0000000..3505fd5
--- /dev/null
+++ b/py-letsencrypt-nginx/DESCR
@@ -0,0 +1 @@
+Apache plugin for Let's Encrypt client
diff --git a/py-letsencrypt-nginx/Makefile b/py-letsencrypt-nginx/Makefile
new file mode 100644
index 0000000..022d7f6
--- /dev/null
+++ b/py-letsencrypt-nginx/Makefile
@@ -0,0 +1,25 @@
+# $NetBSD$
+
+PKGNAME= ${PYPKGPREFIX}-${DISTNAME:S/dev//:S/letsencrypt/letsencrypt-nginx/}
+CATEGORIES= security
+MASTER_SITES= ${MASTER_SITE_GITHUB:=letsencrypt/}
+
+COMMENT= Nginx plugin for Let's Encrypt client
+LICENSE= apache-2.0
+
+.include "../../wip/py-letsencrypt/Makefile.common"
+
+DEPENDS+= ${PYPKGPREFIX}-acme-${PKGVERSION_NOREV}{nb*,}:../../wip/py-acme
+DEPENDS+= ${PYPKGPREFIX}-letsencrypt-${PKGVERSION_NOREV}{nb*,}:../../wip/py-letsencrypt
+
+DEPENDS+= ${PYPKGPREFIX}-mock-[0-9]*:../../devel/py-mock
+DEPENDS+= ${PYPKGPREFIX}-OpenSSL-[0-9]*:../../security/py-OpenSSL
+DEPENDS+= ${PYPKGPREFIX}-pyparsing-[0-9]*:../../devel/py-pyparsing
+DEPENDS+= ${PYPKGPREFIX}-ZopeInterface-[0-9]*:../../devel/py-ZopeInterface
+
+EGG_NAME= ${DISTNAME:S/letsencrypt/letsencrypt_nginx/}
+
+PYSETUPSUBDIR= letsencrypt-nginx
+
+.include "../../lang/python/egg.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/py-letsencrypt-nginx/PLIST b/py-letsencrypt-nginx/PLIST
new file mode 100644
index 0000000..5651a98
--- /dev/null
+++ b/py-letsencrypt-nginx/PLIST
@@ -0,0 +1,75 @@
+@comment $NetBSD$
+${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
+${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
+${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
+${PYSITELIB}/${EGG_INFODIR}/entry_points.txt
+${PYSITELIB}/${EGG_INFODIR}/requires.txt
+${PYSITELIB}/${EGG_INFODIR}/top_level.txt
+${PYSITELIB}/letsencrypt_nginx/__init__.py
+${PYSITELIB}/letsencrypt_nginx/__init__.pyc
+${PYSITELIB}/letsencrypt_nginx/__init__.pyo
+${PYSITELIB}/letsencrypt_nginx/configurator.py
+${PYSITELIB}/letsencrypt_nginx/configurator.pyc
+${PYSITELIB}/letsencrypt_nginx/configurator.pyo
+${PYSITELIB}/letsencrypt_nginx/constants.py
+${PYSITELIB}/letsencrypt_nginx/constants.pyc
+${PYSITELIB}/letsencrypt_nginx/constants.pyo
+${PYSITELIB}/letsencrypt_nginx/dvsni.py
+${PYSITELIB}/letsencrypt_nginx/dvsni.pyc
+${PYSITELIB}/letsencrypt_nginx/dvsni.pyo
+${PYSITELIB}/letsencrypt_nginx/nginxparser.py
+${PYSITELIB}/letsencrypt_nginx/nginxparser.pyc
+${PYSITELIB}/letsencrypt_nginx/nginxparser.pyo
+${PYSITELIB}/letsencrypt_nginx/obj.py
+${PYSITELIB}/letsencrypt_nginx/obj.pyc
+${PYSITELIB}/letsencrypt_nginx/obj.pyo
+${PYSITELIB}/letsencrypt_nginx/options-ssl-nginx.conf
+${PYSITELIB}/letsencrypt_nginx/parser.py
+${PYSITELIB}/letsencrypt_nginx/parser.pyc
+${PYSITELIB}/letsencrypt_nginx/parser.pyo
+${PYSITELIB}/letsencrypt_nginx/tests/__init__.py
+${PYSITELIB}/letsencrypt_nginx/tests/__init__.pyc
+${PYSITELIB}/letsencrypt_nginx/tests/__init__.pyo
+${PYSITELIB}/letsencrypt_nginx/tests/configurator_test.py
+${PYSITELIB}/letsencrypt_nginx/tests/configurator_test.pyc
+${PYSITELIB}/letsencrypt_nginx/tests/configurator_test.pyo
+${PYSITELIB}/letsencrypt_nginx/tests/dvsni_test.py
+${PYSITELIB}/letsencrypt_nginx/tests/dvsni_test.pyc
+${PYSITELIB}/letsencrypt_nginx/tests/dvsni_test.pyo
+${PYSITELIB}/letsencrypt_nginx/tests/nginxparser_test.py
+${PYSITELIB}/letsencrypt_nginx/tests/nginxparser_test.pyc
+${PYSITELIB}/letsencrypt_nginx/tests/nginxparser_test.pyo
+${PYSITELIB}/letsencrypt_nginx/tests/obj_test.py
+${PYSITELIB}/letsencrypt_nginx/tests/obj_test.pyc
+${PYSITELIB}/letsencrypt_nginx/tests/obj_test.pyo
+${PYSITELIB}/letsencrypt_nginx/tests/parser_test.py
+${PYSITELIB}/letsencrypt_nginx/tests/parser_test.pyc
+${PYSITELIB}/letsencrypt_nginx/tests/parser_test.pyo
+${PYSITELIB}/letsencrypt_nginx/tests/testdata/etc_nginx/broken.conf
+${PYSITELIB}/letsencrypt_nginx/tests/testdata/etc_nginx/edge_cases.conf
+${PYSITELIB}/letsencrypt_nginx/tests/testdata/etc_nginx/foo.conf
+${PYSITELIB}/letsencrypt_nginx/tests/testdata/etc_nginx/mime.types
+${PYSITELIB}/letsencrypt_nginx/tests/testdata/etc_nginx/minimalistic_comments.conf
+${PYSITELIB}/letsencrypt_nginx/tests/testdata/etc_nginx/minimalistic_comments.new.conf
+${PYSITELIB}/letsencrypt_nginx/tests/testdata/etc_nginx/nginx.conf
+${PYSITELIB}/letsencrypt_nginx/tests/testdata/etc_nginx/nginx.new.conf
+${PYSITELIB}/letsencrypt_nginx/tests/testdata/etc_nginx/server.conf
+${PYSITELIB}/letsencrypt_nginx/tests/testdata/etc_nginx/sites-enabled/default
+${PYSITELIB}/letsencrypt_nginx/tests/testdata/etc_nginx/sites-enabled/example.com
+${PYSITELIB}/letsencrypt_nginx/tests/testdata/etc_nginx/ubuntu_nginx_1_4_6/default_vhost/nginx/fastcgi_params
+${PYSITELIB}/letsencrypt_nginx/tests/testdata/etc_nginx/ubuntu_nginx_1_4_6/default_vhost/nginx/koi-utf
+${PYSITELIB}/letsencrypt_nginx/tests/testdata/etc_nginx/ubuntu_nginx_1_4_6/default_vhost/nginx/koi-win
+${PYSITELIB}/letsencrypt_nginx/tests/testdata/etc_nginx/ubuntu_nginx_1_4_6/default_vhost/nginx/mime.types
+${PYSITELIB}/letsencrypt_nginx/tests/testdata/etc_nginx/ubuntu_nginx_1_4_6/default_vhost/nginx/naxsi-ui.conf.1.4.1
+${PYSITELIB}/letsencrypt_nginx/tests/testdata/etc_nginx/ubuntu_nginx_1_4_6/default_vhost/nginx/naxsi.rules
+${PYSITELIB}/letsencrypt_nginx/tests/testdata/etc_nginx/ubuntu_nginx_1_4_6/default_vhost/nginx/naxsi_core.rules
+${PYSITELIB}/letsencrypt_nginx/tests/testdata/etc_nginx/ubuntu_nginx_1_4_6/default_vhost/nginx/nginx.conf
+${PYSITELIB}/letsencrypt_nginx/tests/testdata/etc_nginx/ubuntu_nginx_1_4_6/default_vhost/nginx/proxy_params
+${PYSITELIB}/letsencrypt_nginx/tests/testdata/etc_nginx/ubuntu_nginx_1_4_6/default_vhost/nginx/scgi_params
+${PYSITELIB}/letsencrypt_nginx/tests/testdata/etc_nginx/ubuntu_nginx_1_4_6/default_vhost/nginx/sites-available/default
+${PYSITELIB}/letsencrypt_nginx/tests/testdata/etc_nginx/ubuntu_nginx_1_4_6/default_vhost/nginx/sites-enabled/default
+${PYSITELIB}/letsencrypt_nginx/tests/testdata/etc_nginx/ubuntu_nginx_1_4_6/default_vhost/nginx/uwsgi_params
+${PYSITELIB}/letsencrypt_nginx/tests/testdata/etc_nginx/ubuntu_nginx_1_4_6/default_vhost/nginx/win-utf
+${PYSITELIB}/letsencrypt_nginx/tests/util.py
+${PYSITELIB}/letsencrypt_nginx/tests/util.pyc
+${PYSITELIB}/letsencrypt_nginx/tests/util.pyo
diff --git a/py-letsencrypt/DESCR b/py-letsencrypt/DESCR
new file mode 100644
index 0000000..19c1ac8
--- /dev/null
+++ b/py-letsencrypt/DESCR
@@ -0,0 +1,4 @@
+The Let's Encrypt Client is a tool to automatically receive and
+install X.509 certificates to enable TLS on servers. The client
+will interoperate with the Let's Encrypt CA which will be issuing
+browser-trusted certificates for free.
diff --git a/py-letsencrypt/Makefile b/py-letsencrypt/Makefile
new file mode 100644
index 0000000..45e4ee6
--- /dev/null
+++ b/py-letsencrypt/Makefile
@@ -0,0 +1,43 @@
+# $NetBSD$
+
+PKGNAME= ${PYPKGPREFIX}-${DISTNAME:S/dev//}
+CATEGORIES= security
+
+COMMENT= Automatically receive and install X.509 certificates on servers
+LICENSE= apache-2.0
+
+EGG_NAME= ${DISTNAME}
+
+.include "Makefile.common"
+.include "../../lang/python/egg.mk"
+
+DEPENDS+= ${PYPKGPREFIX}-acme-${PKGVERSION_NOREV}{nb*,}:../../wip/py-acme
+DEPENDS+= ${PYPKGPREFIX}-configargparse-[0-9]*:../../devel/py-configargparse
+DEPENDS+= ${PYPKGPREFIX}-configobj-[0-9]*:../../devel/py-configobj
+DEPENDS+= ${PYPKGPREFIX}-cryptography>=0.7:../../security/py-cryptography
+.if ${_PYTHON_VERSION} == 27
+DEPENDS+= ${PYPKGPREFIX}-dialog>=3.2.2rc1:../../devel/py-dialog2
+.else
+DEPENDS+= ${PYPKGPREFIX}-dialog-[0-9]*:../../devel/py-dialog
+.endif
+DEPENDS+= ${PYPKGPREFIX}-mock-[0-9]*:../../devel/py-mock
+DEPENDS+= ${PYPKGPREFIX}-OpenSSL-[0-9]*:../../security/py-OpenSSL
+DEPENDS+= ${PYPKGPREFIX}-parsedatetime-[0-9]*:../../time/py-parsedatetime
+DEPENDS+= ${PYPKGPREFIX}-psutil>=2.1.0:../../sysutils/py-psutil
+DEPENDS+= ${PYPKGPREFIX}-pytz-[0-9]*:../../time/py-pytz
+DEPENDS+= ${PYPKGPREFIX}-requests-[0-9]*:../../devel/py-requests
+DEPENDS+= ${PYPKGPREFIX}-rfc3339-[0-9]*:../../time/py-rfc3339
+DEPENDS+= ${PYPKGPREFIX}-six-[0-9]*:../../lang/py-six
+DEPENDS+= ${PYPKGPREFIX}-ZopeComponent-[0-9]*:../../devel/py-ZopeComponent
+DEPENDS+= ${PYPKGPREFIX}-ZopeInterface-[0-9]*:../../devel/py-ZopeInterface
+
+PKG_SYSCONFSUBDIR= letsencrypt
+
+SUBST_CLASSES+= path
+SUBST_STAGE.path= pre-build
+SUBST_MESSAGE.path= Fixing default paths
+SUBST_FILES.path+= letsencrypt/constants.py letsencrypt/display/ops.py
+SUBST_FILES.path+= letsencrypt/renewer.py letsencrypt/tests/*.py
+SUBST_SED.path+= -e 's,/etc/letsencrypt,${PKG_SYSCONFDIR},g'
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/py-letsencrypt/Makefile.common b/py-letsencrypt/Makefile.common
new file mode 100644
index 0000000..f62ae94
--- /dev/null
+++ b/py-letsencrypt/Makefile.common
@@ -0,0 +1,17 @@
+# $NetBSD$
+# used by wip/py-acme/Makefile
+# used by wip/py-letsencrypt/Makefile
+# used by wip/py-letsencrypt-apache/Makefile
+# used by wip/py-letsencrypt-nginx/Makefile
+
+DISTNAME= letsencrypt-${GITHUB_TAG:S/^v//}
+MASTER_SITES= ${MASTER_SITE_GITHUB:=letsencrypt/}
+
+MAINTAINER= filip%joyent.com@localhost
+HOMEPAGE= https://letsencrypt.org/
+
+GITHUB_PROJECT= letsencrypt
+GITHUB_TAG= v0.0.0.dev20151123
+
+DISTINFO_FILE= ${PKGDIR}/../../wip/py-letsencrypt/distinfo
+PATCHDIR= ${PKGDIR}/../../wip/py-letsencrypt/patches
diff --git a/py-letsencrypt/PLIST b/py-letsencrypt/PLIST
new file mode 100644
index 0000000..f721215
--- /dev/null
+++ b/py-letsencrypt/PLIST
@@ -0,0 +1,227 @@
+@comment $NetBSD$
+bin/letsencrypt
+bin/letsencrypt-renewer
+${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
+${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
+${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
+${PYSITELIB}/${EGG_INFODIR}/entry_points.txt
+${PYSITELIB}/${EGG_INFODIR}/requires.txt
+${PYSITELIB}/${EGG_INFODIR}/top_level.txt
+${PYSITELIB}/letsencrypt/DISCLAIMER
+${PYSITELIB}/letsencrypt/__init__.py
+${PYSITELIB}/letsencrypt/__init__.pyc
+${PYSITELIB}/letsencrypt/__init__.pyo
+${PYSITELIB}/letsencrypt/account.py
+${PYSITELIB}/letsencrypt/account.pyc
+${PYSITELIB}/letsencrypt/account.pyo
+${PYSITELIB}/letsencrypt/achallenges.py
+${PYSITELIB}/letsencrypt/achallenges.pyc
+${PYSITELIB}/letsencrypt/achallenges.pyo
+${PYSITELIB}/letsencrypt/auth_handler.py
+${PYSITELIB}/letsencrypt/auth_handler.pyc
+${PYSITELIB}/letsencrypt/auth_handler.pyo
+${PYSITELIB}/letsencrypt/cli.py
+${PYSITELIB}/letsencrypt/cli.pyc
+${PYSITELIB}/letsencrypt/cli.pyo
+${PYSITELIB}/letsencrypt/client.py
+${PYSITELIB}/letsencrypt/client.pyc
+${PYSITELIB}/letsencrypt/client.pyo
+${PYSITELIB}/letsencrypt/colored_logging.py
+${PYSITELIB}/letsencrypt/colored_logging.pyc
+${PYSITELIB}/letsencrypt/colored_logging.pyo
+${PYSITELIB}/letsencrypt/configuration.py
+${PYSITELIB}/letsencrypt/configuration.pyc
+${PYSITELIB}/letsencrypt/configuration.pyo
+${PYSITELIB}/letsencrypt/constants.py
+${PYSITELIB}/letsencrypt/constants.pyc
+${PYSITELIB}/letsencrypt/constants.pyo
+${PYSITELIB}/letsencrypt/continuity_auth.py
+${PYSITELIB}/letsencrypt/continuity_auth.pyc
+${PYSITELIB}/letsencrypt/continuity_auth.pyo
+${PYSITELIB}/letsencrypt/crypto_util.py
+${PYSITELIB}/letsencrypt/crypto_util.pyc
+${PYSITELIB}/letsencrypt/crypto_util.pyo
+${PYSITELIB}/letsencrypt/display/__init__.py
+${PYSITELIB}/letsencrypt/display/__init__.pyc
+${PYSITELIB}/letsencrypt/display/__init__.pyo
+${PYSITELIB}/letsencrypt/display/enhancements.py
+${PYSITELIB}/letsencrypt/display/enhancements.pyc
+${PYSITELIB}/letsencrypt/display/enhancements.pyo
+${PYSITELIB}/letsencrypt/display/ops.py
+${PYSITELIB}/letsencrypt/display/ops.pyc
+${PYSITELIB}/letsencrypt/display/ops.pyo
+${PYSITELIB}/letsencrypt/display/util.py
+${PYSITELIB}/letsencrypt/display/util.pyc
+${PYSITELIB}/letsencrypt/display/util.pyo
+${PYSITELIB}/letsencrypt/error_handler.py
+${PYSITELIB}/letsencrypt/error_handler.pyc
+${PYSITELIB}/letsencrypt/error_handler.pyo
+${PYSITELIB}/letsencrypt/errors.py
+${PYSITELIB}/letsencrypt/errors.pyc
+${PYSITELIB}/letsencrypt/errors.pyo
+${PYSITELIB}/letsencrypt/interfaces.py
+${PYSITELIB}/letsencrypt/interfaces.pyc
+${PYSITELIB}/letsencrypt/interfaces.pyo
+${PYSITELIB}/letsencrypt/le_util.py
+${PYSITELIB}/letsencrypt/le_util.pyc
+${PYSITELIB}/letsencrypt/le_util.pyo
+${PYSITELIB}/letsencrypt/log.py
+${PYSITELIB}/letsencrypt/log.pyc
+${PYSITELIB}/letsencrypt/log.pyo
+${PYSITELIB}/letsencrypt/notify.py
+${PYSITELIB}/letsencrypt/notify.pyc
+${PYSITELIB}/letsencrypt/notify.pyo
+${PYSITELIB}/letsencrypt/plugins/__init__.py
+${PYSITELIB}/letsencrypt/plugins/__init__.pyc
+${PYSITELIB}/letsencrypt/plugins/__init__.pyo
+${PYSITELIB}/letsencrypt/plugins/common.py
+${PYSITELIB}/letsencrypt/plugins/common.pyc
+${PYSITELIB}/letsencrypt/plugins/common.pyo
+${PYSITELIB}/letsencrypt/plugins/common_test.py
+${PYSITELIB}/letsencrypt/plugins/common_test.pyc
+${PYSITELIB}/letsencrypt/plugins/common_test.pyo
+${PYSITELIB}/letsencrypt/plugins/disco.py
+${PYSITELIB}/letsencrypt/plugins/disco.pyc
+${PYSITELIB}/letsencrypt/plugins/disco.pyo
+${PYSITELIB}/letsencrypt/plugins/disco_test.py
+${PYSITELIB}/letsencrypt/plugins/disco_test.pyc
+${PYSITELIB}/letsencrypt/plugins/disco_test.pyo
+${PYSITELIB}/letsencrypt/plugins/manual.py
+${PYSITELIB}/letsencrypt/plugins/manual.pyc
+${PYSITELIB}/letsencrypt/plugins/manual.pyo
+${PYSITELIB}/letsencrypt/plugins/manual_test.py
+${PYSITELIB}/letsencrypt/plugins/manual_test.pyc
+${PYSITELIB}/letsencrypt/plugins/manual_test.pyo
+${PYSITELIB}/letsencrypt/plugins/null.py
+${PYSITELIB}/letsencrypt/plugins/null.pyc
+${PYSITELIB}/letsencrypt/plugins/null.pyo
+${PYSITELIB}/letsencrypt/plugins/null_test.py
+${PYSITELIB}/letsencrypt/plugins/null_test.pyc
+${PYSITELIB}/letsencrypt/plugins/null_test.pyo
+${PYSITELIB}/letsencrypt/plugins/standalone.py
+${PYSITELIB}/letsencrypt/plugins/standalone.pyc
+${PYSITELIB}/letsencrypt/plugins/standalone.pyo
+${PYSITELIB}/letsencrypt/plugins/standalone_test.py
+${PYSITELIB}/letsencrypt/plugins/standalone_test.pyc
+${PYSITELIB}/letsencrypt/plugins/standalone_test.pyo
+${PYSITELIB}/letsencrypt/plugins/util.py
+${PYSITELIB}/letsencrypt/plugins/util.pyc
+${PYSITELIB}/letsencrypt/plugins/util.pyo
+${PYSITELIB}/letsencrypt/plugins/util_test.py
+${PYSITELIB}/letsencrypt/plugins/util_test.pyc
+${PYSITELIB}/letsencrypt/plugins/util_test.pyo
+${PYSITELIB}/letsencrypt/plugins/webroot.py
+${PYSITELIB}/letsencrypt/plugins/webroot.pyc
+${PYSITELIB}/letsencrypt/plugins/webroot.pyo
+${PYSITELIB}/letsencrypt/plugins/webroot_test.py
+${PYSITELIB}/letsencrypt/plugins/webroot_test.pyc
+${PYSITELIB}/letsencrypt/plugins/webroot_test.pyo
+${PYSITELIB}/letsencrypt/proof_of_possession.py
+${PYSITELIB}/letsencrypt/proof_of_possession.pyc
+${PYSITELIB}/letsencrypt/proof_of_possession.pyo
+${PYSITELIB}/letsencrypt/renewer.py
+${PYSITELIB}/letsencrypt/renewer.pyc
+${PYSITELIB}/letsencrypt/renewer.pyo
+${PYSITELIB}/letsencrypt/reporter.py
+${PYSITELIB}/letsencrypt/reporter.pyc
+${PYSITELIB}/letsencrypt/reporter.pyo
+${PYSITELIB}/letsencrypt/reverter.py
+${PYSITELIB}/letsencrypt/reverter.pyc
+${PYSITELIB}/letsencrypt/reverter.pyo
+${PYSITELIB}/letsencrypt/storage.py
+${PYSITELIB}/letsencrypt/storage.pyc
+${PYSITELIB}/letsencrypt/storage.pyo
+${PYSITELIB}/letsencrypt/tests/__init__.py
+${PYSITELIB}/letsencrypt/tests/__init__.pyc
+${PYSITELIB}/letsencrypt/tests/__init__.pyo
+${PYSITELIB}/letsencrypt/tests/account_test.py
+${PYSITELIB}/letsencrypt/tests/account_test.pyc
+${PYSITELIB}/letsencrypt/tests/account_test.pyo
+${PYSITELIB}/letsencrypt/tests/acme_util.py
+${PYSITELIB}/letsencrypt/tests/acme_util.pyc
+${PYSITELIB}/letsencrypt/tests/acme_util.pyo
+${PYSITELIB}/letsencrypt/tests/auth_handler_test.py
+${PYSITELIB}/letsencrypt/tests/auth_handler_test.pyc
+${PYSITELIB}/letsencrypt/tests/auth_handler_test.pyo
+${PYSITELIB}/letsencrypt/tests/cli_test.py
+${PYSITELIB}/letsencrypt/tests/cli_test.pyc
+${PYSITELIB}/letsencrypt/tests/cli_test.pyo
+${PYSITELIB}/letsencrypt/tests/client_test.py
+${PYSITELIB}/letsencrypt/tests/client_test.pyc
+${PYSITELIB}/letsencrypt/tests/client_test.pyo
+${PYSITELIB}/letsencrypt/tests/colored_logging_test.py
+${PYSITELIB}/letsencrypt/tests/colored_logging_test.pyc
+${PYSITELIB}/letsencrypt/tests/colored_logging_test.pyo
+${PYSITELIB}/letsencrypt/tests/configuration_test.py
+${PYSITELIB}/letsencrypt/tests/configuration_test.pyc
+${PYSITELIB}/letsencrypt/tests/configuration_test.pyo
+${PYSITELIB}/letsencrypt/tests/continuity_auth_test.py
+${PYSITELIB}/letsencrypt/tests/continuity_auth_test.pyc
+${PYSITELIB}/letsencrypt/tests/continuity_auth_test.pyo
+${PYSITELIB}/letsencrypt/tests/crypto_util_test.py
+${PYSITELIB}/letsencrypt/tests/crypto_util_test.pyc
+${PYSITELIB}/letsencrypt/tests/crypto_util_test.pyo
+${PYSITELIB}/letsencrypt/tests/display/__init__.py
+${PYSITELIB}/letsencrypt/tests/display/__init__.pyc
+${PYSITELIB}/letsencrypt/tests/display/__init__.pyo
+${PYSITELIB}/letsencrypt/tests/display/enhancements_test.py
+${PYSITELIB}/letsencrypt/tests/display/enhancements_test.pyc
+${PYSITELIB}/letsencrypt/tests/display/enhancements_test.pyo
+${PYSITELIB}/letsencrypt/tests/display/ops_test.py
+${PYSITELIB}/letsencrypt/tests/display/ops_test.pyc
+${PYSITELIB}/letsencrypt/tests/display/ops_test.pyo
+${PYSITELIB}/letsencrypt/tests/display/util_test.py
+${PYSITELIB}/letsencrypt/tests/display/util_test.pyc
+${PYSITELIB}/letsencrypt/tests/display/util_test.pyo
+${PYSITELIB}/letsencrypt/tests/error_handler_test.py
+${PYSITELIB}/letsencrypt/tests/error_handler_test.pyc
+${PYSITELIB}/letsencrypt/tests/error_handler_test.pyo
+${PYSITELIB}/letsencrypt/tests/errors_test.py
+${PYSITELIB}/letsencrypt/tests/errors_test.pyc
+${PYSITELIB}/letsencrypt/tests/errors_test.pyo
+${PYSITELIB}/letsencrypt/tests/le_util_test.py
+${PYSITELIB}/letsencrypt/tests/le_util_test.pyc
+${PYSITELIB}/letsencrypt/tests/le_util_test.pyo
+${PYSITELIB}/letsencrypt/tests/log_test.py
+${PYSITELIB}/letsencrypt/tests/log_test.pyc
+${PYSITELIB}/letsencrypt/tests/log_test.pyo
+${PYSITELIB}/letsencrypt/tests/notify_test.py
+${PYSITELIB}/letsencrypt/tests/notify_test.pyc
+${PYSITELIB}/letsencrypt/tests/notify_test.pyo
+${PYSITELIB}/letsencrypt/tests/proof_of_possession_test.py
+${PYSITELIB}/letsencrypt/tests/proof_of_possession_test.pyc
+${PYSITELIB}/letsencrypt/tests/proof_of_possession_test.pyo
+${PYSITELIB}/letsencrypt/tests/renewer_test.py
+${PYSITELIB}/letsencrypt/tests/renewer_test.pyc
+${PYSITELIB}/letsencrypt/tests/renewer_test.pyo
+${PYSITELIB}/letsencrypt/tests/reporter_test.py
+${PYSITELIB}/letsencrypt/tests/reporter_test.pyc
+${PYSITELIB}/letsencrypt/tests/reporter_test.pyo
+${PYSITELIB}/letsencrypt/tests/reverter_test.py
+${PYSITELIB}/letsencrypt/tests/reverter_test.pyc
+${PYSITELIB}/letsencrypt/tests/reverter_test.pyo
+${PYSITELIB}/letsencrypt/tests/test_util.py
+${PYSITELIB}/letsencrypt/tests/test_util.pyc
+${PYSITELIB}/letsencrypt/tests/test_util.pyo
+${PYSITELIB}/letsencrypt/tests/testdata/cert-san.pem
+${PYSITELIB}/letsencrypt/tests/testdata/cert.b64jose
+${PYSITELIB}/letsencrypt/tests/testdata/cert.der
+${PYSITELIB}/letsencrypt/tests/testdata/cert.pem
+${PYSITELIB}/letsencrypt/tests/testdata/csr-6sans.pem
+${PYSITELIB}/letsencrypt/tests/testdata/csr-nosans.pem
+${PYSITELIB}/letsencrypt/tests/testdata/csr-san.der
+${PYSITELIB}/letsencrypt/tests/testdata/csr-san.pem
+${PYSITELIB}/letsencrypt/tests/testdata/csr.der
+${PYSITELIB}/letsencrypt/tests/testdata/csr.pem
+${PYSITELIB}/letsencrypt/tests/testdata/dsa512_key.pem
+${PYSITELIB}/letsencrypt/tests/testdata/dsa_cert.pem
+${PYSITELIB}/letsencrypt/tests/testdata/matching_cert.pem
+${PYSITELIB}/letsencrypt/tests/testdata/rsa256_key.pem
+${PYSITELIB}/letsencrypt/tests/testdata/rsa512_key.pem
+${PYSITELIB}/letsencrypt/tests/testdata/rsa512_key_2.pem
+${PYSITELIB}/letsencrypt/tests/validator_test.py
+${PYSITELIB}/letsencrypt/tests/validator_test.pyc
+${PYSITELIB}/letsencrypt/tests/validator_test.pyo
+${PYSITELIB}/letsencrypt/validator.py
+${PYSITELIB}/letsencrypt/validator.pyc
+${PYSITELIB}/letsencrypt/validator.pyo
diff --git a/py-letsencrypt/distinfo b/py-letsencrypt/distinfo
new file mode 100644
index 0000000..fa4180c
--- /dev/null
+++ b/py-letsencrypt/distinfo
@@ -0,0 +1,6 @@
+$NetBSD$
+
+SHA1 (letsencrypt-0.0.0.dev20151123.tar.gz) = 9575ccadea3d135f5e14eaafe439d0b223636c27
+RMD160 (letsencrypt-0.0.0.dev20151123.tar.gz) = a52907331f9cd3c44835e72ff1baeafd2a17a3bb
+SHA512 (letsencrypt-0.0.0.dev20151123.tar.gz) = e62cd4bf966b75e159949d84eda1005649dd4f11efbb1515601a5c6690e09ea1cc73bb3f535b6b20655752b7218fa3f02cf50e4cb12a335d76b10461e385aa96
+Size (letsencrypt-0.0.0.dev20151123.tar.gz) = 403690 bytes
Home |
Main Index |
Thread Index |
Old Index