summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Barton <michael.barton@rackspace.com>2010-07-08 01:37:44 +0000
committerMonty Taylor <mordred@inaugust.com>2010-07-08 01:37:44 +0000
commit2ee9b837b5a1e13681ca9359138451719f8641dd (patch)
tree2e3b1985fc01d007b67997023c492c59ff2f144c
parentfe67cde013ca81afd1a8a39f311ed4d524111a1e (diff)
parentfe067413b1fb61cdfba97d543189c5a01230b45c (diff)
downloadswift-2ee9b837b5a1e13681ca9359138451719f8641dd.tar.gz
Initial release1.0.0-1
-rw-r--r--.bzrignore2
-rw-r--r--[-rwxr-xr-x].functests0
-rw-r--r--[-rwxr-xr-x].probetests0
-rw-r--r--[-rwxr-xr-x].unittests0
-rw-r--r--PKG-INFO15
-rw-r--r--[-rwxr-xr-x]bin/swift-object-replicator.py0
-rw-r--r--debian/changelog5
-rw-r--r--debian/compat1
-rw-r--r--debian/control54
-rw-r--r--debian/copyright208
-rwxr-xr-xdebian/rules134
-rw-r--r--debian/swift-account.dirs2
-rw-r--r--debian/swift-account.init13
-rw-r--r--debian/swift-account.swift-account-auditor13
-rw-r--r--debian/swift-account.swift-account-reaper13
-rw-r--r--debian/swift-account.swift-account-replicator13
-rw-r--r--debian/swift-auth.dirs2
-rw-r--r--debian/swift-auth.init13
-rw-r--r--debian/swift-container.dirs2
-rw-r--r--debian/swift-container.init13
-rw-r--r--debian/swift-container.swift-container-auditor13
-rw-r--r--debian/swift-container.swift-container-replicator13
-rw-r--r--debian/swift-container.swift-container-updater13
-rw-r--r--debian/swift-object.dirs2
-rw-r--r--debian/swift-object.init13
-rw-r--r--debian/swift-object.swift-object-auditor13
-rw-r--r--debian/swift-object.swift-object-replicator13
-rw-r--r--debian/swift-object.swift-object-updater13
-rw-r--r--debian/swift-proxy.dirs2
-rw-r--r--debian/swift-proxy.init13
-rw-r--r--debian/swift.dirs1
-rw-r--r--debian/swift.postinst8
-rw-r--r--swift/account/__init__.py0
-rw-r--r--swift/auth/__init__.py0
-rw-r--r--swift/container/__init__.py0
-rw-r--r--swift/obj/__init__.py0
-rw-r--r--swift/proxy/__init__.py0
-rw-r--r--test/__init__.py0
-rw-r--r--[-rwxr-xr-x]test/probe/test_account_failures.py0
-rw-r--r--[-rwxr-xr-x]test/probe/test_container_failures.py0
-rw-r--r--[-rwxr-xr-x]test/probe/test_object_async_update.py0
-rw-r--r--[-rwxr-xr-x]test/probe/test_object_handoff.py0
-rw-r--r--[-rwxr-xr-x]test/probe/test_running_with_each_type_down.py0
-rw-r--r--test/unit/account/__init__.py0
-rw-r--r--test/unit/auth/__init__.py0
-rw-r--r--test/unit/common/__init__.py0
-rw-r--r--test/unit/common/ring/__init__.py0
-rw-r--r--test/unit/container/__init__.py0
-rw-r--r--test/unit/obj/__init__.py0
-rw-r--r--test/unit/proxy/__init__.py0
50 files changed, 618 insertions, 2 deletions
diff --git a/.bzrignore b/.bzrignore
deleted file mode 100644
index 7936e61fc..000000000
--- a/.bzrignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*.py[co]
-*.sw?
diff --git a/.functests b/.functests
index 17122d75c..17122d75c 100755..100644
--- a/.functests
+++ b/.functests
diff --git a/.probetests b/.probetests
index 751469386..751469386 100755..100644
--- a/.probetests
+++ b/.probetests
diff --git a/.unittests b/.unittests
index c115578a8..c115578a8 100755..100644
--- a/.unittests
+++ b/.unittests
diff --git a/PKG-INFO b/PKG-INFO
new file mode 100644
index 000000000..40150b514
--- /dev/null
+++ b/PKG-INFO
@@ -0,0 +1,15 @@
+Metadata-Version: 1.0
+Name: swift
+Version: 1.0.0-1
+Summary: Swift
+Home-page: https://launchpad.net/swift
+Author: OpenStack, LLC.
+Author-email: UNKNOWN
+License: Apache License (2.0)
+Description: UNKNOWN
+Platform: UNKNOWN
+Classifier: Development Status :: 4 - Beta
+Classifier: License :: OSI Approved :: Apache Software License
+Classifier: Operating System :: POSIX :: Linux
+Classifier: Programming Language :: Python :: 2.6
+Classifier: Environment :: No Input/Output (Daemon)
diff --git a/bin/swift-object-replicator.py b/bin/swift-object-replicator.py
index 0de0b5d64..0de0b5d64 100755..100644
--- a/bin/swift-object-replicator.py
+++ b/bin/swift-object-replicator.py
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 000000000..61bdd0333
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,5 @@
+swift (1.0.0-1) lucid; urgency=low
+
+ * Initial release
+
+ -- Michael Barton <michael.barton@rackspace.com> Wed, 07 Jul 2010 19:37:44 +0000
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 000000000..7ed6ff82d
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+5
diff --git a/debian/control b/debian/control
new file mode 100644
index 000000000..331bb404d
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,54 @@
+Source: swift
+Section: net
+Priority: optional
+Maintainer: Michael Barton <michael.barton@rackspace.com>
+Build-Depends: debhelper (>> 3.0.0), python (>= 2.6)
+Standards-Version: 3.7.2
+
+Package: swift
+Architecture: all
+Depends: python (>= 2.6), python-openssl, python-webob (>= 0.9.7.1~hg20100111-1~racklabs1), python-simplejson, python-xattr, net-tools, python-eventlet (>= 0.9.8pre1-7)
+Description: Swift, a distributed virtual object store (common files)
+ Swift, a distributed virtual object store.
+ .
+ Homepage: https://swift.racklabs.com/trac
+
+Package: swift-proxy
+Architecture: all
+Depends: swift (=${Source-Version})
+Description: The swift proxy server.
+ The swift proxy server.
+ .
+ Homepage: https://swift.racklabs.com/trac
+
+Package: swift-object
+Architecture: all
+Depends: swift (=${Source-Version})
+Description: The swift object server.
+ The swift object server.
+ .
+ Homepage: https://swift.racklabs.com/trac
+
+Package: swift-container
+Architecture: all
+Depends: swift (=${Source-Version})
+Description: The swift container server.
+ The swift container server.
+ .
+ Homepage: https://swift.racklabs.com/trac
+
+Package: swift-account
+Architecture: all
+Depends: swift (=${Source-Version})
+Description: The swift account server.
+ The swift account server.
+ .
+ Homepage: https://swift.racklabs.com/trac
+
+Package: swift-auth
+Architecture: all
+Depends: swift (=${Source-Version})
+Description: The swift auth server.
+ The swift auth server.
+ .
+ Homepage: https://swift.racklabs.com/trac
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 000000000..70b347445
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,208 @@
+Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135
+Name: Swift
+Source: https://code.launchpad.net/swift
+Files: *
+Copyright: 2010, Rackspace, Inc.
+License: Apache-2
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 000000000..285a4ba26
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,134 @@
+#!/usr/bin/make -f
+
+# Verbose mode
+export DH_VERBOSE=1
+
+PYTHON = "/usr/bin/python"
+
+clean:
+ dh_testdir
+ dh_testroot
+ $(PYTHON) setup.py clean --all
+ rm -rf $(CURDIR)/debian/swift
+ rm -f build-stamp install-stamp
+ dh_clean
+
+build: build-stamp
+build-stamp:
+ dh_testdir
+ $(PYTHON) setup.py build
+ touch build-stamp
+
+install: build-stamp
+ dh_testdir
+ dh_installdirs
+ mkdir -p $(CURDIR)/debian/swift/usr/bin
+
+ # Copy files into binary package directories
+ dh_install --sourcedir=debian/swift
+ $(PYTHON) setup.py install --root $(CURDIR)/debian/swift
+ install -m 755 $(CURDIR)/bin/swift-init.py \
+ $(CURDIR)/debian/swift/usr/bin/swift-init
+ install -m 755 $(CURDIR)/bin/swift-ring-builder.py \
+ $(CURDIR)/debian/swift/usr/bin/swift-ring-builder
+ install -m 755 $(CURDIR)/bin/swift-get-nodes.py \
+ $(CURDIR)/debian/swift/usr/bin/swift-get-nodes
+ install -m 755 $(CURDIR)/bin/swift-stats-populate.py \
+ $(CURDIR)/debian/swift/usr/bin/swift-stats-populate
+ install -m 755 $(CURDIR)/bin/swift-stats-report.py \
+ $(CURDIR)/debian/swift/usr/bin/swift-stats-report
+ install -m 644 $(CURDIR)/etc/stats.conf-sample \
+ $(CURDIR)/debian/swift/etc/swift
+ install -m 755 $(CURDIR)/bin/swift-account-audit.py \
+ $(CURDIR)/debian/swift/usr/bin/swift-account-audit
+ install -m 755 $(CURDIR)/bin/st.py \
+ $(CURDIR)/debian/swift/usr/bin/st
+
+ # drive-audit
+ install -m 644 $(CURDIR)/etc/drive-audit.conf-sample \
+ $(CURDIR)/debian/swift-object/etc/swift
+ install -m 755 $(CURDIR)/bin/swift-drive-audit.py \
+ $(CURDIR)/debian/swift-object/usr/bin/swift-drive-audit
+
+ # swift-object
+ install -m 644 $(CURDIR)/etc/object-server.conf-sample \
+ $(CURDIR)/debian/swift-object/etc/swift
+ install -m 755 $(CURDIR)/bin/swift-object-server.py \
+ $(CURDIR)/debian/swift-object/usr/bin/swift-object-server
+ install -m 755 $(CURDIR)/bin/swift-object-replicator.py \
+ $(CURDIR)/debian/swift-object/usr/bin/swift-object-replicator
+ install -m 644 $(CURDIR)/etc/rsyncd.conf-sample \
+ $(CURDIR)/debian/swift-object/etc/swift
+ install -m 755 $(CURDIR)/bin/swift-object-auditor.py \
+ $(CURDIR)/debian/swift-object/usr/bin/swift-object-auditor
+ install -m 755 $(CURDIR)/bin/swift-object-updater.py \
+ $(CURDIR)/debian/swift-object/usr/bin/swift-object-updater
+ install -m 755 $(CURDIR)/bin/swift-object-info.py \
+ $(CURDIR)/debian/swift-object/usr/bin/swift-object-info
+
+ # swift-proxy
+ install -m 644 $(CURDIR)/etc/proxy-server.conf-sample \
+ $(CURDIR)/debian/swift-proxy/etc/swift
+ install -m 755 $(CURDIR)/bin/swift-proxy-server.py \
+ $(CURDIR)/debian/swift-proxy/usr/bin/swift-proxy-server
+
+ # swift-container
+ install -m 644 $(CURDIR)/etc/container-server.conf-sample \
+ $(CURDIR)/debian/swift-container/etc/swift
+ install -m 755 $(CURDIR)/bin/swift-container-server.py \
+ $(CURDIR)/debian/swift-container/usr/bin/swift-container-server
+ install -m 755 $(CURDIR)/bin/swift-container-replicator.py \
+ $(CURDIR)/debian/swift-container/usr/bin/swift-container-replicator
+ install -m 755 $(CURDIR)/bin/swift-container-auditor.py \
+ $(CURDIR)/debian/swift-container/usr/bin/swift-container-auditor
+ install -m 755 $(CURDIR)/bin/swift-container-updater.py \
+ $(CURDIR)/debian/swift-container/usr/bin/swift-container-updater
+
+ # swift-account
+ install -m 644 $(CURDIR)/etc/account-server.conf-sample \
+ $(CURDIR)/debian/swift-account/etc/swift
+ install -m 755 $(CURDIR)/bin/swift-account-server.py \
+ $(CURDIR)/debian/swift-account/usr/bin/swift-account-server
+ install -m 755 $(CURDIR)/bin/swift-account-replicator.py \
+ $(CURDIR)/debian/swift-account/usr/bin/swift-account-replicator
+ install -m 755 $(CURDIR)/bin/swift-account-auditor.py \
+ $(CURDIR)/debian/swift-account/usr/bin/swift-account-auditor
+ install -m 755 $(CURDIR)/bin/swift-account-reaper.py \
+ $(CURDIR)/debian/swift-account/usr/bin/swift-account-reaper
+
+ # swift-auth
+ install -m 644 $(CURDIR)/etc/auth-server.conf-sample \
+ $(CURDIR)/debian/swift-auth/etc/swift
+ install -m 755 $(CURDIR)/bin/swift-auth-server.py \
+ $(CURDIR)/debian/swift-auth/usr/bin/swift-auth-server
+ install -m 755 $(CURDIR)/bin/swift-auth-create-account.py \
+ $(CURDIR)/debian/swift-auth/usr/bin/swift-auth-create-account
+ install -m 755 $(CURDIR)/bin/swift-auth-recreate-accounts.py \
+ $(CURDIR)/debian/swift-auth/usr/bin/swift-auth-recreate-accounts
+
+ touch install-stamp
+
+binary-arch:
+binary-indep: install
+ dh_installinit --no-start
+ dh_installinit --no-start -pswift-container --init-script=swift-container-replicator
+ dh_installinit --no-start -pswift-account --init-script=swift-account-replicator
+ dh_installinit --no-start -pswift-account --init-script=swift-account-reaper
+ dh_installinit --no-start -pswift-object --init-script=swift-object-auditor
+ dh_installinit --no-start -pswift-container --init-script=swift-container-auditor
+ dh_installinit --no-start -pswift-account --init-script=swift-account-auditor
+ dh_installinit --no-start -pswift-object --init-script=swift-object-updater
+ dh_installinit --no-start -pswift-object --init-script=swift-object-replicator
+ dh_installinit --no-start -pswift-container --init-script=swift-container-updater
+ dh_installcron
+ dh_installdocs
+ dh_installchangelogs
+ dh_compress
+ dh_fixperms
+ dh_gencontrol
+ dh_installdeb
+ dh_md5sums
+ dh_builddeb
+
+binary: binary-arch binary-indep
+.PHONY: build clean binary-indep binary-arch binary clean
diff --git a/debian/swift-account.dirs b/debian/swift-account.dirs
new file mode 100644
index 000000000..2adfef1f4
--- /dev/null
+++ b/debian/swift-account.dirs
@@ -0,0 +1,2 @@
+usr/bin
+etc/swift
diff --git a/debian/swift-account.init b/debian/swift-account.init
new file mode 100644
index 000000000..2298c7edc
--- /dev/null
+++ b/debian/swift-account.init
@@ -0,0 +1,13 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: swift-account-server
+# Required-Start: $remote_fs
+# Required-Stop: $remote_fs
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Swift account server
+# Description: Account server for swift.
+### END INIT INFO
+
+/usr/bin/swift-init account-server $1
+
diff --git a/debian/swift-account.swift-account-auditor b/debian/swift-account.swift-account-auditor
new file mode 100644
index 000000000..405115400
--- /dev/null
+++ b/debian/swift-account.swift-account-auditor
@@ -0,0 +1,13 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: swift-account-auditor
+# Required-Start: $remote_fs
+# Required-Stop: $remote_fs
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Swift account auditor server
+# Description: Account auditor server for swift.
+### END INIT INFO
+
+/usr/bin/swift-init account-auditor $1
+
diff --git a/debian/swift-account.swift-account-reaper b/debian/swift-account.swift-account-reaper
new file mode 100644
index 000000000..0c17f4611
--- /dev/null
+++ b/debian/swift-account.swift-account-reaper
@@ -0,0 +1,13 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: swift-account-reaper
+# Required-Start: $remote_fs
+# Required-Stop: $remote_fs
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Swift account reaper server
+# Description: Account reaper for swift.
+### END INIT INFO
+
+/usr/bin/swift-init account-reaper $1
+
diff --git a/debian/swift-account.swift-account-replicator b/debian/swift-account.swift-account-replicator
new file mode 100644
index 000000000..af523b1d6
--- /dev/null
+++ b/debian/swift-account.swift-account-replicator
@@ -0,0 +1,13 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: swift-account-replicator
+# Required-Start: $remote_fs
+# Required-Stop: $remote_fs
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Swift account replicator
+# Description: Account replicator for swift.
+### END INIT INFO
+
+/usr/bin/swift-init account-replicator $1
+
diff --git a/debian/swift-auth.dirs b/debian/swift-auth.dirs
new file mode 100644
index 000000000..2adfef1f4
--- /dev/null
+++ b/debian/swift-auth.dirs
@@ -0,0 +1,2 @@
+usr/bin
+etc/swift
diff --git a/debian/swift-auth.init b/debian/swift-auth.init
new file mode 100644
index 000000000..41cef971c
--- /dev/null
+++ b/debian/swift-auth.init
@@ -0,0 +1,13 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: swift-auth-server
+# Required-Start: $remote_fs
+# Required-Stop: $remote_fs
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Swift auth server
+# Description: Auth server for swift.
+### END INIT INFO
+
+/usr/bin/swift-init auth-server $1
+
diff --git a/debian/swift-container.dirs b/debian/swift-container.dirs
new file mode 100644
index 000000000..2adfef1f4
--- /dev/null
+++ b/debian/swift-container.dirs
@@ -0,0 +1,2 @@
+usr/bin
+etc/swift
diff --git a/debian/swift-container.init b/debian/swift-container.init
new file mode 100644
index 000000000..3be4e37e3
--- /dev/null
+++ b/debian/swift-container.init
@@ -0,0 +1,13 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: swift-container-server
+# Required-Start: $remote_fs
+# Required-Stop: $remote_fs
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Swift container server
+# Description: Container server for swift.
+### END INIT INFO
+
+/usr/bin/swift-init container-server $1
+
diff --git a/debian/swift-container.swift-container-auditor b/debian/swift-container.swift-container-auditor
new file mode 100644
index 000000000..910dd59bb
--- /dev/null
+++ b/debian/swift-container.swift-container-auditor
@@ -0,0 +1,13 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: swift-container-auditor
+# Required-Start: $remote_fs
+# Required-Stop: $remote_fs
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Swift container auditor server
+# Description: Container auditor server for swift.
+### END INIT INFO
+
+/usr/bin/swift-init container-auditor $1
+
diff --git a/debian/swift-container.swift-container-replicator b/debian/swift-container.swift-container-replicator
new file mode 100644
index 000000000..e23640488
--- /dev/null
+++ b/debian/swift-container.swift-container-replicator
@@ -0,0 +1,13 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: swift-container-replicator
+# Required-Start: $remote_fs
+# Required-Stop: $remote_fs
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Swift container replicator
+# Description: Container replicator for swift.
+### END INIT INFO
+
+/usr/bin/swift-init container-replicator $1
+
diff --git a/debian/swift-container.swift-container-updater b/debian/swift-container.swift-container-updater
new file mode 100644
index 000000000..abe356e4a
--- /dev/null
+++ b/debian/swift-container.swift-container-updater
@@ -0,0 +1,13 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: swift-container-updater
+# Required-Start: $remote_fs
+# Required-Stop: $remote_fs
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Swift container updater server
+# Description: Container updater server for swift.
+### END INIT INFO
+
+/usr/bin/swift-init container-updater $1
+
diff --git a/debian/swift-object.dirs b/debian/swift-object.dirs
new file mode 100644
index 000000000..2adfef1f4
--- /dev/null
+++ b/debian/swift-object.dirs
@@ -0,0 +1,2 @@
+usr/bin
+etc/swift
diff --git a/debian/swift-object.init b/debian/swift-object.init
new file mode 100644
index 000000000..4c5db84a3
--- /dev/null
+++ b/debian/swift-object.init
@@ -0,0 +1,13 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: swift-object-server
+# Required-Start: $remote_fs
+# Required-Stop: $remote_fs
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Swift object server
+# Description: Object server for swift.
+### END INIT INFO
+
+/usr/bin/swift-init object-server $1
+
diff --git a/debian/swift-object.swift-object-auditor b/debian/swift-object.swift-object-auditor
new file mode 100644
index 000000000..d600fb5fb
--- /dev/null
+++ b/debian/swift-object.swift-object-auditor
@@ -0,0 +1,13 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: swift-object-auditor
+# Required-Start: $remote_fs
+# Required-Stop: $remote_fs
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Swift object auditor server
+# Description: Object auditor server for swift.
+### END INIT INFO
+
+/usr/bin/swift-init object-auditor $1
+
diff --git a/debian/swift-object.swift-object-replicator b/debian/swift-object.swift-object-replicator
new file mode 100644
index 000000000..aa82fcc42
--- /dev/null
+++ b/debian/swift-object.swift-object-replicator
@@ -0,0 +1,13 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: swift-object-replicator
+# Required-Start: $remote_fs
+# Required-Stop: $remote_fs
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Swift object replicator server
+# Description: Object replicator server for swift.
+### END INIT INFO
+
+/usr/bin/swift-init object-replicator $1
+
diff --git a/debian/swift-object.swift-object-updater b/debian/swift-object.swift-object-updater
new file mode 100644
index 000000000..8c655ba76
--- /dev/null
+++ b/debian/swift-object.swift-object-updater
@@ -0,0 +1,13 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: swift-object-updater
+# Required-Start: $remote_fs
+# Required-Stop: $remote_fs
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Swift object updater server
+# Description: Object updater server for swift.
+### END INIT INFO
+
+/usr/bin/swift-init object-updater $1
+
diff --git a/debian/swift-proxy.dirs b/debian/swift-proxy.dirs
new file mode 100644
index 000000000..2adfef1f4
--- /dev/null
+++ b/debian/swift-proxy.dirs
@@ -0,0 +1,2 @@
+usr/bin
+etc/swift
diff --git a/debian/swift-proxy.init b/debian/swift-proxy.init
new file mode 100644
index 000000000..d11901caf
--- /dev/null
+++ b/debian/swift-proxy.init
@@ -0,0 +1,13 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: swift-proxy-server
+# Required-Start: $remote_fs
+# Required-Stop: $remote_fs
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Swift proxy server
+# Description: Proxy server for swift.
+### END INIT INFO
+
+/usr/bin/swift-init proxy-server $1
+
diff --git a/debian/swift.dirs b/debian/swift.dirs
new file mode 100644
index 000000000..9c4a05dc8
--- /dev/null
+++ b/debian/swift.dirs
@@ -0,0 +1 @@
+etc/swift
diff --git a/debian/swift.postinst b/debian/swift.postinst
new file mode 100644
index 000000000..f26869f38
--- /dev/null
+++ b/debian/swift.postinst
@@ -0,0 +1,8 @@
+#!/bin/sh -e
+
+# there's probably a better way
+python -m compileall `python -c 'import swift;import os;print os.path.dirname(swift.__file__)'`
+if ! getent passwd swift > /dev/null ; then
+ adduser --system --quiet --disabled-login --disabled-password --no-create-home --group swift
+fi
+
diff --git a/swift/account/__init__.py b/swift/account/__init__.py
deleted file mode 100644
index e69de29bb..000000000
--- a/swift/account/__init__.py
+++ /dev/null
diff --git a/swift/auth/__init__.py b/swift/auth/__init__.py
deleted file mode 100644
index e69de29bb..000000000
--- a/swift/auth/__init__.py
+++ /dev/null
diff --git a/swift/container/__init__.py b/swift/container/__init__.py
deleted file mode 100644
index e69de29bb..000000000
--- a/swift/container/__init__.py
+++ /dev/null
diff --git a/swift/obj/__init__.py b/swift/obj/__init__.py
deleted file mode 100644
index e69de29bb..000000000
--- a/swift/obj/__init__.py
+++ /dev/null
diff --git a/swift/proxy/__init__.py b/swift/proxy/__init__.py
deleted file mode 100644
index e69de29bb..000000000
--- a/swift/proxy/__init__.py
+++ /dev/null
diff --git a/test/__init__.py b/test/__init__.py
deleted file mode 100644
index e69de29bb..000000000
--- a/test/__init__.py
+++ /dev/null
diff --git a/test/probe/test_account_failures.py b/test/probe/test_account_failures.py
index 2e84cc064..2e84cc064 100755..100644
--- a/test/probe/test_account_failures.py
+++ b/test/probe/test_account_failures.py
diff --git a/test/probe/test_container_failures.py b/test/probe/test_container_failures.py
index cc042cb1c..cc042cb1c 100755..100644
--- a/test/probe/test_container_failures.py
+++ b/test/probe/test_container_failures.py
diff --git a/test/probe/test_object_async_update.py b/test/probe/test_object_async_update.py
index 841a7e6e7..841a7e6e7 100755..100644
--- a/test/probe/test_object_async_update.py
+++ b/test/probe/test_object_async_update.py
diff --git a/test/probe/test_object_handoff.py b/test/probe/test_object_handoff.py
index 885a6fb19..885a6fb19 100755..100644
--- a/test/probe/test_object_handoff.py
+++ b/test/probe/test_object_handoff.py
diff --git a/test/probe/test_running_with_each_type_down.py b/test/probe/test_running_with_each_type_down.py
index a5682c7e3..a5682c7e3 100755..100644
--- a/test/probe/test_running_with_each_type_down.py
+++ b/test/probe/test_running_with_each_type_down.py
diff --git a/test/unit/account/__init__.py b/test/unit/account/__init__.py
deleted file mode 100644
index e69de29bb..000000000
--- a/test/unit/account/__init__.py
+++ /dev/null
diff --git a/test/unit/auth/__init__.py b/test/unit/auth/__init__.py
deleted file mode 100644
index e69de29bb..000000000
--- a/test/unit/auth/__init__.py
+++ /dev/null
diff --git a/test/unit/common/__init__.py b/test/unit/common/__init__.py
deleted file mode 100644
index e69de29bb..000000000
--- a/test/unit/common/__init__.py
+++ /dev/null
diff --git a/test/unit/common/ring/__init__.py b/test/unit/common/ring/__init__.py
deleted file mode 100644
index e69de29bb..000000000
--- a/test/unit/common/ring/__init__.py
+++ /dev/null
diff --git a/test/unit/container/__init__.py b/test/unit/container/__init__.py
deleted file mode 100644
index e69de29bb..000000000
--- a/test/unit/container/__init__.py
+++ /dev/null
diff --git a/test/unit/obj/__init__.py b/test/unit/obj/__init__.py
deleted file mode 100644
index e69de29bb..000000000
--- a/test/unit/obj/__init__.py
+++ /dev/null
diff --git a/test/unit/proxy/__init__.py b/test/unit/proxy/__init__.py
deleted file mode 100644
index e69de29bb..000000000
--- a/test/unit/proxy/__init__.py
+++ /dev/null