From nobody@FreeBSD.org  Sat Dec  1 20:09:56 2012
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id EB6A343A
	for <freebsd-gnats-submit@FreeBSD.org>; Sat,  1 Dec 2012 20:09:56 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from red.freebsd.org (red.freebsd.org [IPv6:2001:4f8:fff6::22])
	by mx1.freebsd.org (Postfix) with ESMTP id D052E8FC15
	for <freebsd-gnats-submit@FreeBSD.org>; Sat,  1 Dec 2012 20:09:56 +0000 (UTC)
Received: from red.freebsd.org (localhost [127.0.0.1])
	by red.freebsd.org (8.14.5/8.14.5) with ESMTP id qB1K9uGs005910
	for <freebsd-gnats-submit@FreeBSD.org>; Sat, 1 Dec 2012 20:09:56 GMT
	(envelope-from nobody@red.freebsd.org)
Received: (from nobody@localhost)
	by red.freebsd.org (8.14.5/8.14.5/Submit) id qB1K9uA3005909;
	Sat, 1 Dec 2012 20:09:56 GMT
	(envelope-from nobody)
Message-Id: <201212012009.qB1K9uA3005909@red.freebsd.org>
Date: Sat, 1 Dec 2012 20:09:56 GMT
From: Mikolaj Golub <trociny@FreeBSD.org>
To: freebsd-gnats-submit@FreeBSD.org
Subject: databases/py-swift: update to 1.7.5 and add databases/py-swiftclient
X-Send-Pr-Version: www-3.1
X-GNATS-Notify: gslin@gslin.org

>Number:         174041
>Category:       ports
>Synopsis:       databases/py-swift: update to 1.7.5 and add databases/py-swiftclient
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    rm
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Sat Dec 01 20:20:00 UTC 2012
>Closed-Date:    Sun Dec 02 10:00:48 UTC 2012
>Last-Modified:  Sun Dec 02 10:00:48 UTC 2012
>Originator:     Mikolaj Golub
>Release:        
>Organization:
>Environment:
>Description:
databases/py-swift is outdated and broken.

Can we upgrade it to the latest 1.7.5, which is tested to be working on FreeBSD?

Note, in the recent swift versions swift client is removed from swift package and is shipped separately, so I think we have to provide the client as an additional port too.

I am attaching a patch that updates databases/py-swift to 1.7.5 and adds databases/py-swiftclient.

I set py-swiftclient maintainer to myself, but don't mind if Gea-Suan Lin (the current maintainer of py-swift) wants to maintain it himself.

Also, the patch includes the following changes to py-swift:

 - add the missing dependency on www/py-pastedeploy
 - add the man pages;
 - replace /etc/swift with ${PREFIX}/etc/${PORTNAME} in the code
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

Index: databases/py-swift/distinfo
===================================================================
--- databases/py-swift/distinfo	(revision 307541)
+++ databases/py-swift/distinfo	(working copy)
@@ -1,2 +1,2 @@
-SHA256 (swift-1.4.6.tar.gz) = 7d5a2d71807e7790a04f84d39728814698eefd07ad6951f2dd6c11efd4dd6ee7
-SIZE (swift-1.4.6.tar.gz) = 419291
+SHA256 (swift-1.7.5.tar.gz) = 86e335adb57da9e1c6a55a9b716047e5c304f9b27b7adfa04e24926fedeb184d
+SIZE (swift-1.7.5.tar.gz) = 494230
Index: databases/py-swift/pkg-plist
===================================================================
--- databases/py-swift/pkg-plist	(revision 307541)
+++ databases/py-swift/pkg-plist	(working copy)
@@ -4,13 +4,13 @@
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/dependency_links.txt
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/entry_points.txt
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/not-zip-safe
-%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/scripts/swift
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/scripts/swift-account-audit
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/scripts/swift-account-auditor
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/scripts/swift-account-reaper
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/scripts/swift-account-replicator
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/scripts/swift-account-server
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/scripts/swift-bench
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/scripts/swift-bench-client
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/scripts/swift-container-auditor
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/scripts/swift-container-replicator
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/scripts/swift-container-server
@@ -34,8 +34,6 @@
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/scripts/swift-recon
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/scripts/swift-recon-cron
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/scripts/swift-ring-builder
-%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/scripts/swift-stats-populate
-%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/scripts/swift-stats-report
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/scripts/swift-temp-url
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/top_level.txt
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/__init__.py
@@ -65,9 +63,6 @@
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/bufferedhttp.py
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/bufferedhttp.pyc
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/bufferedhttp.pyo
-%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/client.py
-%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/client.pyc
-%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/client.pyo
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/constraints.py
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/constraints.pyc
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/constraints.pyo
@@ -86,6 +81,12 @@
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/exceptions.py
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/exceptions.pyc
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/exceptions.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/http.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/http.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/http.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/internal_client.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/internal_client.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/internal_client.pyo
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/manager.py
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/manager.pyc
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/manager.pyo
@@ -113,9 +114,18 @@
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/middleware/healthcheck.py
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/middleware/healthcheck.pyc
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/middleware/healthcheck.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/middleware/keystoneauth.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/middleware/keystoneauth.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/middleware/keystoneauth.pyo
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/middleware/memcache.py
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/middleware/memcache.pyc
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/middleware/memcache.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/middleware/name_check.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/middleware/name_check.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/middleware/name_check.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/middleware/proxy_logging.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/middleware/proxy_logging.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/middleware/proxy_logging.pyo
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/middleware/ratelimit.py
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/middleware/ratelimit.pyc
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/middleware/ratelimit.pyo
@@ -125,9 +135,6 @@
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/middleware/staticweb.py
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/middleware/staticweb.pyc
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/middleware/staticweb.pyo
-%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/middleware/swift3.py
-%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/middleware/swift3.pyc
-%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/middleware/swift3.pyo
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/middleware/tempauth.py
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/middleware/tempauth.pyc
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/middleware/tempauth.pyo
@@ -143,6 +150,12 @@
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/ring/ring.py
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/ring/ring.pyc
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/ring/ring.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/ring/utils.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/ring/utils.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/ring/utils.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/swob.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/swob.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/swob.pyo
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/utils.py
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/utils.pyc
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/common/utils.pyo
@@ -188,15 +201,30 @@
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/proxy/__init__.py
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/proxy/__init__.pyc
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/proxy/__init__.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/proxy/controllers/__init__.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/proxy/controllers/__init__.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/proxy/controllers/__init__.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/proxy/controllers/account.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/proxy/controllers/account.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/proxy/controllers/account.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/proxy/controllers/base.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/proxy/controllers/base.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/proxy/controllers/base.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/proxy/controllers/container.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/proxy/controllers/container.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/proxy/controllers/container.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/proxy/controllers/obj.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/proxy/controllers/obj.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/proxy/controllers/obj.pyo
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/proxy/server.py
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/proxy/server.pyc
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/proxy/server.pyo
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/functional/__init__.py
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/functional/__init__.pyc
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/functional/__init__.pyo
-%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/functional/swift.py
-%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/functional/swift.pyc
-%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/functional/swift.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/functional/swift_test_client.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/functional/swift_test_client.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/functional/swift_test_client.pyo
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/functional/tests.py
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/functional/tests.pyc
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/functional/tests.pyo
@@ -227,6 +255,9 @@
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/probe/test_container_failures.py
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/probe/test_container_failures.pyc
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/probe/test_container_failures.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/probe/test_empty_device_handoff.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/probe/test_empty_device_handoff.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/probe/test_empty_device_handoff.pyo
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/probe/test_object_async_update.py
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/probe/test_object_async_update.pyc
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/probe/test_object_async_update.pyo
@@ -236,9 +267,6 @@
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/probe/test_object_handoff.py
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/probe/test_object_handoff.pyc
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/probe/test_object_handoff.pyo
-%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/probe/test_running_with_each_type_down.py
-%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/probe/test_running_with_each_type_down.pyc
-%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/probe/test_running_with_each_type_down.pyo
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/__init__.py
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/__init__.pyc
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/__init__.pyo
@@ -281,18 +309,27 @@
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/middleware/test_healthcheck.py
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/middleware/test_healthcheck.pyc
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/middleware/test_healthcheck.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/middleware/test_keystoneauth.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/middleware/test_keystoneauth.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/middleware/test_keystoneauth.pyo
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/middleware/test_memcache.py
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/middleware/test_memcache.pyc
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/middleware/test_memcache.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/middleware/test_name_check.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/middleware/test_name_check.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/middleware/test_name_check.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/middleware/test_proxy_logging.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/middleware/test_proxy_logging.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/middleware/test_proxy_logging.pyo
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/middleware/test_ratelimit.py
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/middleware/test_ratelimit.pyc
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/middleware/test_ratelimit.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/middleware/test_recon.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/middleware/test_recon.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/middleware/test_recon.pyo
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/middleware/test_staticweb.py
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/middleware/test_staticweb.pyc
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/middleware/test_staticweb.pyo
-%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/middleware/test_swift3.py
-%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/middleware/test_swift3.pyc
-%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/middleware/test_swift3.pyo
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/middleware/test_tempauth.py
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/middleware/test_tempauth.pyc
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/middleware/test_tempauth.pyo
@@ -314,9 +351,6 @@
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/test_bufferedhttp.py
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/test_bufferedhttp.pyc
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/test_bufferedhttp.pyo
-%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/test_client.py
-%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/test_client.pyc
-%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/test_client.pyo
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/test_constraints.py
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/test_constraints.pyc
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/test_constraints.pyo
@@ -338,12 +372,18 @@
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/test_init.py
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/test_init.pyc
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/test_init.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/test_internal_client.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/test_internal_client.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/test_internal_client.pyo
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/test_manager.py
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/test_manager.pyc
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/test_manager.pyo
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/test_memcached.py
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/test_memcached.pyc
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/test_memcached.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/test_swob.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/test_swob.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/test_swob.pyo
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/test_utils.py
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/test_utils.pyc
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/common/test_utils.pyo
@@ -389,16 +429,22 @@
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/proxy/__init__.py
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/proxy/__init__.pyc
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/proxy/__init__.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/proxy/controllers/__init__.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/proxy/controllers/__init__.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/proxy/controllers/__init__.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/proxy/controllers/test_base.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/proxy/controllers/test_base.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/proxy/controllers/test_base.pyo
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/proxy/test_server.py
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/proxy/test_server.pyc
 %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/proxy/test_server.pyo
-bin/swift
 bin/swift-account-audit
 bin/swift-account-auditor
 bin/swift-account-reaper
 bin/swift-account-replicator
 bin/swift-account-server
 bin/swift-bench
+bin/swift-bench-client
 bin/swift-container-auditor
 bin/swift-container-replicator
 bin/swift-container-server
@@ -422,8 +468,6 @@
 bin/swift-recon
 bin/swift-recon-cron
 bin/swift-ring-builder
-bin/swift-stats-populate
-bin/swift-stats-report
 bin/swift-temp-url
 etc/swift/account-server.conf-sample
 etc/swift/container-server.conf-sample
@@ -435,9 +479,9 @@
 etc/swift/object-server.conf-sample
 etc/swift/proxy-server.conf-sample
 etc/swift/rsyncd.conf-sample
-etc/swift/stats.conf-sample
 etc/swift/swift.conf-sample
 @dirrmtry etc/swift
+@dirrmtry %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/proxy/controllers
 @dirrmtry %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/proxy
 @dirrmtry %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/obj
 @dirrmtry %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/unit/container
@@ -450,6 +494,7 @@
 @dirrmtry %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/functionalnosetests
 @dirrmtry %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test/functional
 @dirrmtry %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/test
+@dirrmtry %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/proxy/controllers
 @dirrmtry %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/proxy
 @dirrmtry %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/obj
 @dirrmtry %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/swift/container
Index: databases/py-swift/Makefile
===================================================================
--- databases/py-swift/Makefile	(revision 307541)
+++ databases/py-swift/Makefile	(working copy)
@@ -2,10 +2,9 @@
 # $FreeBSD$
 
 PORTNAME=	swift
-PORTVERSION=	1.4.6
-PORTREVISION=	1
+PORTVERSION=	1.7.5
 CATEGORIES=	databases python
-MASTER_SITES=	http://launchpadlibrarian.net/92556660/
+MASTER_SITES=	http://launchpadlibrarian.net/122943753/
 PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
 
 MAINTAINER=	gslin@gslin.org
@@ -17,13 +16,107 @@
 		${PYTHON_PKGNAMEPREFIX}sqlite3>=0:${PORTSDIR}/databases/py-sqlite3 \
 		${PYTHON_PKGNAMEPREFIX}webob>=0.9.8:${PORTSDIR}/www/py-webob \
 		${PYTHON_PKGNAMEPREFIX}xattr>=0:${PORTSDIR}/devel/py-xattr \
+		${PYTHON_PKGNAMEPREFIX}netifaces>=0:${PORTSDIR}/net/py-netifaces \
+		${PYTHON_PKGNAMEPREFIX}PasteDeploy>=0:${PORTSDIR}/www/py-pastedeploy \
 		rsync>=3.0:${PORTSDIR}/net/rsync
 
 USE_PYTHON=	-2.7
 USE_PYDISTUTILS=	easy_install
 
+.include <bsd.port.pre.mk>
+
+MAN1=		swift-account-auditor.1 \
+		swift-account-reaper.1 \
+		swift-account-replicator.1 \
+		swift-account-server.1 \
+		swift-container-auditor.1 \
+		swift-container-replicator.1 \
+		swift-container-server.1 \
+		swift-container-sync.1 \
+		swift-container-updater.1 \
+		swift-dispersion-populate.1 \
+		swift-dispersion-report.1 \
+		swift-get-nodes.1 \
+		swift-init.1 \
+		swift-object-auditor.1 \
+		swift-object-expirer.1 \
+		swift-object-info.1 \
+		swift-object-replicator.1 \
+		swift-object-server.1 \
+		swift-object-updater.1 \
+		swift-orphans.1 \
+		swift-proxy-server.1 \
+		swift-recon.1 \
+		swift-ring-builder.1 \
+		swift.1
+
+MAN5=		account-server.conf.5 \
+		container-server.conf.5 \
+		dispersion.conf.5 \
+		object-expirer.conf.5 \
+		object-server.conf.5 \
+		proxy-server.conf.5
+
+post-patch:
+	@${REINPLACE_CMD} -e "s|/etc/swift|${PREFIX}/etc/${PORTNAME}|" \
+		${WRKSRC}/bin/swift-account-audit \
+		${WRKSRC}/bin/swift-dispersion-populate \
+		${WRKSRC}/bin/swift-dispersion-report \
+		${WRKSRC}/bin/swift-get-nodes \
+		${WRKSRC}/bin/swift-object-info \
+		${WRKSRC}/bin/swift-recon \
+		${WRKSRC}/bin/swift-recon-cron \
+		${WRKSRC}/doc/manpages/account-server.conf.5 \
+		${WRKSRC}/doc/manpages/container-server.conf.5 \
+		${WRKSRC}/doc/manpages/dispersion.conf.5 \
+		${WRKSRC}/doc/manpages/object-expirer.conf.5 \
+		${WRKSRC}/doc/manpages/object-server.conf.5 \
+		${WRKSRC}/doc/manpages/proxy-server.conf.5 \
+		${WRKSRC}/doc/manpages/swift-dispersion-populate.1 \
+		${WRKSRC}/doc/manpages/swift-dispersion-report.1 \
+		${WRKSRC}/doc/manpages/swift-get-nodes.1 \
+		${WRKSRC}/doc/manpages/swift-recon.1 \
+		${WRKSRC}/etc/account-server.conf-sample \
+		${WRKSRC}/etc/container-server.conf-sample \
+		${WRKSRC}/etc/dispersion.conf-sample \
+		${WRKSRC}/etc/object-expirer.conf-sample \
+		${WRKSRC}/etc/object-server.conf-sample \
+		${WRKSRC}/etc/proxy-server.conf-sample \
+		${WRKSRC}/swift/account/reaper.py \
+		${WRKSRC}/swift/common/constraints.py \
+		${WRKSRC}/swift/common/db_replicator.py \
+		${WRKSRC}/swift/common/manager.py \
+		${WRKSRC}/swift/common/middleware/memcache.py \
+		${WRKSRC}/swift/common/middleware/recon.py \
+		${WRKSRC}/swift/common/middleware/staticweb.py \
+		${WRKSRC}/swift/common/utils.py \
+		${WRKSRC}/swift/container/sync.py \
+		${WRKSRC}/swift/container/updater.py \
+		${WRKSRC}/swift/obj/expirer.py \
+		${WRKSRC}/swift/obj/replicator.py \
+		${WRKSRC}/swift/obj/server.py \
+		${WRKSRC}/swift/obj/updater.py \
+		${WRKSRC}/swift/proxy/server.py \
+		${WRKSRC}/test/__init__.py \
+		${WRKSRC}/test/functional/tests.py \
+		${WRKSRC}/test/probe/common.py \
+		${WRKSRC}/test/probe/test_account_failures.py \
+		${WRKSRC}/test/probe/test_container_failures.py \
+		${WRKSRC}/test/probe/test_empty_device_handoff.py \
+		${WRKSRC}/test/probe/test_object_async_update.py \
+		${WRKSRC}/test/probe/test_object_failures.py \
+		${WRKSRC}/test/probe/test_object_handoff.py \
+		${WRKSRC}/test/sample.conf \
+		${WRKSRC}/test/unit/common/middleware/test_memcache.py
+
 post-install:
 	${MKDIR} ${PREFIX}/etc/${PORTNAME}
 	${CP} -R ${WRKSRC}/etc/ ${PREFIX}/etc/${PORTNAME}
+.for i in ${MAN1}
+	${INSTALL_MAN} ${WRKSRC}/doc/manpages/${i} ${PREFIX}/man/man1/${i}
+.endfor
+.for i in ${MAN5}
+	${INSTALL_MAN} ${WRKSRC}/doc/manpages/${i} ${PREFIX}/man/man5/${i}
+.endfor
 
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
Index: databases/py-swiftclient/pkg-descr
===================================================================
--- databases/py-swiftclient/pkg-descr	(revision 0)
+++ databases/py-swiftclient/pkg-descr	(working copy)
@@ -0,0 +1,9 @@
+This is a python client for the Swift API. There's a Python API (the
+``swiftclient`` module), and a command-line script (``swift``).
+
+
+This code is based on original the client previously included with
+OpenStack's swift -- a highly available, distributed, eventually
+consistent object/blob store.
+
+WWW: http://launchpad.net/python-swiftclient
Index: databases/py-swiftclient/distinfo
===================================================================
--- databases/py-swiftclient/distinfo	(revision 0)
+++ databases/py-swiftclient/distinfo	(working copy)
@@ -0,0 +1,2 @@
+SHA256 (python-swiftclient-1.1.1.tar.gz) = 73e8a1c0bb7354b7c0af5891f2fdf7b4fe9734ddc7fd38edb531c9ebdca350bc
+SIZE (python-swiftclient-1.1.1.tar.gz) = 40276
Index: databases/py-swiftclient/pkg-plist
===================================================================
--- databases/py-swiftclient/pkg-plist	(revision 0)
+++ databases/py-swiftclient/pkg-plist	(working copy)
@@ -0,0 +1,3 @@
+@comment $FreeBSD: $
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%
+bin/swift
Index: databases/py-swiftclient/Makefile
===================================================================
--- databases/py-swiftclient/Makefile	(revision 0)
+++ databases/py-swiftclient/Makefile	(working copy)
@@ -0,0 +1,20 @@
+# Created by: Mikolaj Golub <trociny@FreeBSD.org>
+# $FreeBSD: $
+
+PORTNAME=	swiftclient
+PORTVERSION=	1.1.1
+CATEGORIES=	databases python
+MASTER_SITES=	http://launchpadlibrarian.net/109369673/
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+DISTNAME=	python-${PORTNAME}-${PORTVERSION}
+
+MAINTAINER=	trociny@FreeBSD.org
+COMMENT=	Python client library for OpenStack Object Storage (Swift)
+
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}simplejson>=0:${PORTSDIR}/devel/py-simplejson
+
+USE_PYTHON=	-2.7
+USE_PYDISTUTILS=	easy_install
+PYDISTUTILS_PKGNAME=	python_${PORTNAME}
+
+.include <bsd.port.mk>


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-ports-bugs->freebsd-python 
Responsible-Changed-By: edwin 
Responsible-Changed-When: Sat Dec 1 20:44:51 UTC 2012 
Responsible-Changed-Why:  
freebsd-python@ wants this port PRs (via the GNATS Auto Assign Tool) 

http://www.freebsd.org/cgi/query-pr.cgi?pr=174041 
State-Changed-From-To: open->feedback 
State-Changed-By: edwin 
State-Changed-When: Sat Dec 1 20:44:53 UTC 2012 
State-Changed-Why:  
Awaiting maintainers feedback (via the GNATS Auto Assign Tool) 

http://www.freebsd.org/cgi/query-pr.cgi?pr=174041 

From: Edwin Groothuis <edwin@FreeBSD.org>
To: gslin@gslin.org
Cc: bug-followup@FreeBSD.org
Subject: Re: ports/174041: databases/py-swift: update to 1.7.5 and add databases/py-swiftclient
Date: Sat, 1 Dec 2012 20:44:52 UT

 Maintainer of databases/py-swift,
 
 Please note that PR ports/174041 has just been submitted.
 
 If it contains a patch for an upgrade, an enhancement or a bug fix
 you agree on, reply to this email stating that you approve the patch
 and a committer will take care of it.
 
 The full text of the PR can be found at:
     http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/174041
 
 -- 
 Edwin Groothuis via the GNATS Auto Assign Tool
 edwin@FreeBSD.org

From: Gea-Suan Lin <gslin@gslin.org>
To: bug-followup@FreeBSD.org
Cc: gslin@gslin.org
Subject: Re: ports/174041: databases/py-swift: update to 1.7.5 and add
 databases/py-swiftclient
Date: Sun, 2 Dec 2012 14:38:01 +0800

 Thanks, please commit it.
 
 On Sat, Dec 01, 2012 at 08:44:52PM +0000, Edwin Groothuis wrote:
 > Maintainer of databases/py-swift,
 > 
 > Please note that PR ports/174041 has just been submitted.
 > 
 > If it contains a patch for an upgrade, an enhancement or a bug fix
 > you agree on, reply to this email stating that you approve the patch
 > and a committer will take care of it.
 > 
 > The full text of the PR can be found at:
 >     http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/174041
 > 
 > -- 
 > Edwin Groothuis via the GNATS Auto Assign Tool
 > edwin@FreeBSD.org
 
 -- 
 * Gea-Suan Lin  (public key: Using https://keyserver.pgp.com/ to search)
 * If you cannot convince them, confuse them.           -- Harry S Truman
State-Changed-From-To: feedback->open 
State-Changed-By: linimon 
State-Changed-When: Sun Dec 2 07:00:19 UTC 2012 
State-Changed-Why:  
Maintainer approved. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=174041 
Responsible-Changed-From-To: freebsd-python->rm 
Responsible-Changed-By: rm 
Responsible-Changed-When: Sun Dec 2 09:53:21 UTC 2012 
Responsible-Changed-Why:  
I will take it. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=174041 
State-Changed-From-To: open->closed 
State-Changed-By: rm 
State-Changed-When: Sun Dec 2 10:00:47 UTC 2012 
State-Changed-Why:  
Committed, thank you! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=174041 
>Unformatted:
