diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index b3085b8..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-*.pyc
-*.sw?
-*.sqlite3
-.DS_STORE
-*.egg-info
-.venv
-.tox
-build
-dist
diff --git a/.gitreview b/.gitreview
deleted file mode 100644
index 396d21f..0000000
--- a/.gitreview
+++ /dev/null
@@ -1,4 +0,0 @@
-[gerrit]
-host=review.openstack.org
-port=29418
-project=openstack/xstatic-jquery-migrate.git
diff --git a/MANIFEST.in b/MANIFEST.in
deleted file mode 100644
index 6409701..0000000
--- a/MANIFEST.in
+++ /dev/null
@@ -1,8 +0,0 @@
-include README.txt
-recursive-include xstatic/pkg/jquery_migrate *
-
-global-exclude *.pyc
-global-exclude *.pyo
-global-exclude *.orig
-global-exclude *.rej
-
diff --git a/README b/README
new file mode 100644
index 0000000..8fcd2b2
--- /dev/null
+++ b/README
@@ -0,0 +1,14 @@
+This project is no longer maintained.
+
+The contents of this repository are still available in the Git
+source code management system. To see the contents of this
+repository before it reached its end of life, please check out the
+previous commit with "git checkout HEAD^1".
+
+For ongoing work on maintaining OpenStack packages in the Debian
+distribution, please see the Debian OpenStack packaging team at
+https://wiki.debian.org/OpenStack/.
+
+For any further questions, please email
+openstack-dev@lists.openstack.org or join #openstack-dev on
+Freenode.
diff --git a/README.txt b/README.txt
deleted file mode 100644
index 2d23284..0000000
--- a/README.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-XStatic-JQuery-Migrate
---------------
-
-JQuery-Migrate JavaScript library packaged for setuptools (easy_install) / pip.
-
-This package is intended to be used by **any** project that needs these files.
-
-It intentionally does **not** provide any extra code except some metadata
-**nor** has any extra requirements. You MAY use some minimal support code from
-the XStatic base package, if you like.
-
-You can find more info about the xstatic packaging way in the package `XStatic`.
-
diff --git a/setup.py b/setup.py
deleted file mode 100644
index c3fea71..0000000
--- a/setup.py
+++ /dev/null
@@ -1,27 +0,0 @@
-from xstatic.pkg import jquery_migrate as xs
-
-# The README.txt file should be written in reST so that PyPI can use
-# it to generate your project's PyPI page.
-long_description = open('README.txt').read()
-
-from setuptools import setup, find_packages
-
-setup(
- name=xs.PACKAGE_NAME,
- version=xs.PACKAGE_VERSION,
- description=xs.DESCRIPTION,
- long_description=long_description,
- classifiers=xs.CLASSIFIERS,
- keywords=xs.KEYWORDS,
- maintainer=xs.MAINTAINER,
- maintainer_email=xs.MAINTAINER_EMAIL,
- license=xs.LICENSE,
- url=xs.HOMEPAGE,
- platforms=xs.PLATFORMS,
- packages=find_packages(),
- namespace_packages=['xstatic', 'xstatic.pkg', ],
- include_package_data=True,
- zip_safe=False,
- install_requires=[], # nothing! :)
- # if you like, you MAY use the 'XStatic' package.
-)
diff --git a/tox.ini b/tox.ini
deleted file mode 100644
index 06d7907..0000000
--- a/tox.ini
+++ /dev/null
@@ -1,7 +0,0 @@
-[tox]
-minversion = 1.6
-skipsdist = True
-envlist = py27,py34
-
-[testenv:venv]
-commands = {posargs}
diff --git a/xstatic/__init__.py b/xstatic/__init__.py
deleted file mode 100644
index de40ea7..0000000
--- a/xstatic/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-__import__('pkg_resources').declare_namespace(__name__)
diff --git a/xstatic/pkg/__init__.py b/xstatic/pkg/__init__.py
deleted file mode 100644
index de40ea7..0000000
--- a/xstatic/pkg/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-__import__('pkg_resources').declare_namespace(__name__)
diff --git a/xstatic/pkg/jquery_migrate/__init__.py b/xstatic/pkg/jquery_migrate/__init__.py
deleted file mode 100644
index 64de6ab..0000000
--- a/xstatic/pkg/jquery_migrate/__init__.py
+++ /dev/null
@@ -1,49 +0,0 @@
-"""
-XStatic resource package
-
-See package 'XStatic' for documentation and basic tools.
-"""
-
-DISPLAY_NAME = 'JQuery-Migrate' # official name, upper/lowercase allowed, no spaces
-PACKAGE_NAME = 'XStatic-%s' % DISPLAY_NAME # name used for PyPi
-
-NAME = __name__.split('.')[-1] # package name (e.g. 'foo' or 'foo_bar')
- # please use a all-lowercase valid python
- # package name
-
-VERSION = '1.2.1' # version of the packaged files, please use the upstream
- # version number
-BUILD = '1' # our package build number, so we can release new builds
- # with fixes for xstatic stuff.
-PACKAGE_VERSION = VERSION + '.' + BUILD # version used for PyPi
-
-DESCRIPTION = "%s %s (XStatic packaging standard)" % (DISPLAY_NAME, VERSION)
-
-PLATFORMS = 'any'
-CLASSIFIERS = []
-KEYWORDS = '%s xstatic' % NAME
-
-# XStatic-* package maintainer:
-MAINTAINER = 'Radomir Dopieralski'
-MAINTAINER_EMAIL = 'openstack@sheep.art.pl'
-
-# this refers to the project homepage of the stuff we packaged:
-HOMEPAGE = 'https://github.com/jquery/jquery-migrate'
-
-# this refers to all files:
-LICENSE = '(same as %s)' % DISPLAY_NAME
-
-from os.path import join, dirname
-BASE_DIR = join(dirname(__file__), 'data')
-# linux package maintainers just can point to their file locations like this:
-#BASE_DIR = '/usr/share/javascript/jquery_migrate'
-
-LOCATIONS = {
- # CDN locations (if no public CDN exists, use an empty dict)
- # if value is a string, it is a base location, just append relative
- # path/filename. if value is a dict, do another lookup using the
- # relative path/filename you want.
- # your relative path/filenames should usually be without version
- # information, because either the base dir/url is exactly for this
- # version or the mapping will care for accessing this version.
-}
diff --git a/xstatic/pkg/jquery_migrate/data/jquery-migrate.js b/xstatic/pkg/jquery_migrate/data/jquery-migrate.js
deleted file mode 100644
index 25b6c81..0000000
--- a/xstatic/pkg/jquery_migrate/data/jquery-migrate.js
+++ /dev/null
@@ -1,521 +0,0 @@
-/*!
- * jQuery Migrate - v1.2.1 - 2013-05-08
- * https://github.com/jquery/jquery-migrate
- * Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors; Licensed MIT
- */
-(function( jQuery, window, undefined ) {
-// See http://bugs.jquery.com/ticket/13335
-// "use strict";
-
-
-var warnedAbout = {};
-
-// List of warnings already given; public read only
-jQuery.migrateWarnings = [];
-
-// Set to true to prevent console output; migrateWarnings still maintained
-// jQuery.migrateMute = false;
-
-// Show a message on the console so devs know we're active
-if ( !jQuery.migrateMute && window.console && window.console.log ) {
- window.console.log("JQMIGRATE: Logging is active");
-}
-
-// Set to false to disable traces that appear with warnings
-if ( jQuery.migrateTrace === undefined ) {
- jQuery.migrateTrace = true;
-}
-
-// Forget any warnings we've already given; public
-jQuery.migrateReset = function() {
- warnedAbout = {};
- jQuery.migrateWarnings.length = 0;
-};
-
-function migrateWarn( msg) {
- var console = window.console;
- if ( !warnedAbout[ msg ] ) {
- warnedAbout[ msg ] = true;
- jQuery.migrateWarnings.push( msg );
- if ( console && console.warn && !jQuery.migrateMute ) {
- console.warn( "JQMIGRATE: " + msg );
- if ( jQuery.migrateTrace && console.trace ) {
- console.trace();
- }
- }
- }
-}
-
-function migrateWarnProp( obj, prop, value, msg ) {
- if ( Object.defineProperty ) {
- // On ES5 browsers (non-oldIE), warn if the code tries to get prop;
- // allow property to be overwritten in case some other plugin wants it
- try {
- Object.defineProperty( obj, prop, {
- configurable: true,
- enumerable: true,
- get: function() {
- migrateWarn( msg );
- return value;
- },
- set: function( newValue ) {
- migrateWarn( msg );
- value = newValue;
- }
- });
- return;
- } catch( err ) {
- // IE8 is a dope about Object.defineProperty, can't warn there
- }
- }
-
- // Non-ES5 (or broken) browser; just set the property
- jQuery._definePropertyBroken = true;
- obj[ prop ] = value;
-}
-
-if ( document.compatMode === "BackCompat" ) {
- // jQuery has never supported or tested Quirks Mode
- migrateWarn( "jQuery is not compatible with Quirks Mode" );
-}
-
-
-var attrFn = jQuery( "", { size: 1 } ).attr("size") && jQuery.attrFn,
- oldAttr = jQuery.attr,
- valueAttrGet = jQuery.attrHooks.value && jQuery.attrHooks.value.get ||
- function() { return null; },
- valueAttrSet = jQuery.attrHooks.value && jQuery.attrHooks.value.set ||
- function() { return undefined; },
- rnoType = /^(?:input|button)$/i,
- rnoAttrNodeType = /^[238]$/,
- rboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,
- ruseDefault = /^(?:checked|selected)$/i;
-
-// jQuery.attrFn
-migrateWarnProp( jQuery, "attrFn", attrFn || {}, "jQuery.attrFn is deprecated" );
-
-jQuery.attr = function( elem, name, value, pass ) {
- var lowerName = name.toLowerCase(),
- nType = elem && elem.nodeType;
-
- if ( pass ) {
- // Since pass is used internally, we only warn for new jQuery
- // versions where there isn't a pass arg in the formal params
- if ( oldAttr.length < 4 ) {
- migrateWarn("jQuery.fn.attr( props, pass ) is deprecated");
- }
- if ( elem && !rnoAttrNodeType.test( nType ) &&
- (attrFn ? name in attrFn : jQuery.isFunction(jQuery.fn[name])) ) {
- return jQuery( elem )[ name ]( value );
- }
- }
-
- // Warn if user tries to set `type`, since it breaks on IE 6/7/8; by checking
- // for disconnected elements we don't warn on $( "