¿Cómo hacer que easy_install ejecute comandos personalizados en setup.py?

Quiero que setup.py realice algunas acciones personalizadas además de instalar el paquete Python (como instalar un script init.d, crear directorios y archivos, etc.) Sé que puedo personalizar las clases distutils / setuptools para que realicen mis propias acciones. El problema que tengo es que todo funciona cuando cd al directorio del paquete y hago "python setup.py install", pero mis clases personalizadas no parecen ejecutarse cuando hago "easy_install mypackage.tar.gz". Aquí está mi archivo setup.py (cree un archivo myfoobar.py vacío en el mismo directorio para probar):

import setuptools
from setuptools.command import install as _install

class install(_install.install):
    def initialize_options(self):
        _install.install.initialize_options(self)

    def finalize_options(self):
        _install.install.finalize_options(self)

    def run(self):
        # Why is this never executed when tarball installed with easy_install?
        # It does work with: python setup.py install
        import pdb;pdb.set_trace()
        _install.install.run(self)

setuptools.setup(
    name = 'myfoobar',
    version = '0.1',
    platforms = ['any'],
    description = 'Test package',
    author = 'Someone',
    py_modules = ['myfoobar'],
    cmdclass = {'install': install},
)

Lo mismo ocurre incluso si importo "setup" e "install" desde distutils. ¿Alguna idea de cómo podría hacer que easy_install ejecute mis clases personalizadas?

Para aclarar, no quiero usar nada extra, como Buildout o Paver.

Respuestas a la pregunta(2)

Su respuesta a la pregunta