Hi all,

I wondered what essential function of setuptools is used and I think that only 
find_packages() is neccessary.

Try the following patch for setup.py and a MANIFEST.in

If this works for you, than I won't suggest setuptools bundled with Django.

I tested the following usecases:

python setup.py sdist
python setup.py bdist
python setup.py build
python setup.py bdist_rpm

Regards,
Dirk 
-- 


Echte DSL-Flatrate dauerhaft für 0,- Euro*. Nur noch kurze Zeit!
"Feel free" mit GMX DSL: http://www.gmx.net/de/go/dsl


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-developers
-~----------~----~----~----~------~----~------~--~---

Attachment: MANIFEST.in
Description: Binary data

Index: setup.py
===================================================================
--- setup.py	(Revision 3518)
+++ setup.py	(Arbeitskopie)
@@ -1,11 +1,34 @@
-import ez_setup # From http://peak.telecommunity.com/DevCenter/setuptools
-ez_setup.use_setuptools()
+from distutils.core import setup
+from distutils.util import convert_path
+import os.path
 
-from setuptools import setup, find_packages
+def find_packages(where='.', exclude=()):
+    """Return a list all Python packages found within directory 'where'
 
+    'where' should be supplied as a "cross-platform" (i.e. URL-style) path; it
+    will be converted to the appropriate local path syntax.  'exclude' is a
+    sequence of package names to exclude; '*' can be used as a wildcard in the
+    names, such that 'foo.*' will exclude all subpackages of 'foo' (but not
+    'foo' itself).
+    """
+    out = []
+    stack=[(convert_path(where), '')]
+    while stack:
+        where,prefix = stack.pop(0)
+        for name in os.listdir(where):
+            fn = os.path.join(where,name)
+            if (os.path.isdir(fn) and
+                os.path.isfile(os.path.join(fn,'__init__.py'))
+            ):
+                out.append(prefix+name); stack.append((fn,prefix+name+'.'))
+    for pat in exclude:
+        from fnmatch import fnmatchcase
+        out = [item for item in out if not fnmatchcase(item,pat)]
+    return out
+
 setup(
     name = "Django",
     version = "0.95",
     url = 'http://www.djangoproject.com/',
     author = 'Lawrence Journal-World',
     author_email = '[EMAIL PROTECTED]',

Reply via email to