Django

Code

Changeset 4912

Show
Ignore:
Timestamp:
04/03/07 07:28:19 (1 year ago)
Author:
mtredinnick
Message:

Fixed #3338, #3536, #3796 -- Fixed a bunch of setup and build problems in a
portable fashion. That took a *lot* longer to debug than I thought it would, so
let's try not to break it.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/MANIFEST.in

    r4490 r4912  
     1include README 
    12include AUTHORS 
    23include INSTALL 
    34include LICENSE 
     5include MANIFEST.in 
    46recursive-include docs * 
    57recursive-include scripts * 
     8recursive-include examples * 
     9recursive-include extras * 
    610recursive-include django/conf/locale * 
    711recursive-include django/contrib/admin/templates * 
  • django/trunk/scripts/rpm-install.sh

    r4490 r4912  
    11#! /bin/sh 
    22# 
    3 # this file is *inserted* into the install section of the generated 
    4 # spec file 
     3# This file becomes the install section of the generated spec file. 
    54# 
    65 
    7 # this is, what dist.py normally does 
     6# This is what dist.py normally does. 
    87python setup.py install --root=${RPM_BUILD_ROOT} --record="INSTALLED_FILES" 
    98 
     9# Sort the filelist so that directories appear before files. This avoids 
     10# duplicate filename problems on some systems. 
     11touch DIRS 
    1012for i in `cat INSTALLED_FILES`; do 
    1113  if [ -f ${RPM_BUILD_ROOT}/$i ]; then 
     
    1719done 
    1820 
    19 cat DIRS FILES >INSTALLED_FILES 
     21# Make sure we match foo.pyo and foo.pyc along with foo.py (but only once each) 
     22sed -e "/\.py[co]$/d" -e "s/\.py$/.py*/" DIRS FILES >INSTALLED_FILES 
     23 
  • django/trunk/setup.cfg

    r4490 r4912  
    11[bdist_rpm] 
    2 doc_files = docs/*.txt 
     2doc_files = docs examples extras AUTHORS INSTALL LICENSE README 
    33install-script = scripts/rpm-install.sh 
    44 
  • django/trunk/setup.py

    r4550 r4912  
    33import os 
    44import sys 
     5 
     6def fullsplit(path, result=None): 
     7    """ 
     8    Split a pathname into components (the opposite of os.path.join) in a 
     9    platform-neutral way. 
     10    """ 
     11    if result is None: 
     12        result = [] 
     13    head, tail = os.path.split(path) 
     14    if head == '': 
     15        return [tail] + result 
     16    if head == path: 
     17        return result 
     18    return fullsplit(head, [tail] + result) 
    519 
    620# Tell distutils to put the data_files in platform-specific installation 
     
    1428packages, data_files = [], [] 
    1529root_dir = os.path.dirname(__file__) 
    16 len_root_dir = len(root_dir) 
    1730django_dir = os.path.join(root_dir, 'django') 
     31pieces = fullsplit(root_dir) 
     32if pieces[-1] == '': 
     33    len_root_dir = len(pieces)- 1 
     34else: 
     35    len_root_dir = len(pieces) 
    1836 
    1937for dirpath, dirnames, filenames in os.walk(django_dir): 
     
    2240        if dirname.startswith('.'): del dirnames[i] 
    2341    if '__init__.py' in filenames: 
    24         package = dirpath[len_root_dir:].lstrip('/').replace('/', '.') 
    25         packages.append(package) 
    26     else: 
     42        packages.append('.'.join(fullsplit(dirpath)[len_root_dir:])) 
     43    elif filenames: 
    2744        data_files.append([dirpath, [os.path.join(dirpath, f) for f in filenames]]) 
    2845 
    29 # Small hack for working with bdist_wininst. 
    30 # See http://mail.python.org/pipermail/distutils-sig/2004-August/004134.html 
    31 if len(sys.argv) > 1 and sys.argv[1] == 'bdist_wininst': 
    32     for file_info in data_files: 
    33         file_info[0] = '/PURELIB/%s' % file_info[0] 
    34  
    3546# Dynamically calculate the version based on django.VERSION. 
    36 version = "%d.%d-%s" % (__import__('django').VERSION) 
     47version_tuple = __import__('django').VERSION 
     48if version_tuple[2] is not None: 
     49    version = "%d.%d_%s" % version_tuple 
     50else: 
     51    version = "%d.%d" % version_tuple[:2] 
    3752 
    3853setup(