Edgewall Software
Modify

Opened 13 years ago

Closed 13 years ago

Last modified 9 years ago

#9974 closed defect (worksforme)

Building 'sdist' Fails to Include Templates, etc. on OS X

Reported by: david.riggs@… Owned by:
Priority: normal Milestone:
Component: general Version: 0.12dev
Severity: normal Keywords: macosx, setuptools, build
Cc: Branch:
Release Notes:
API Changes:
Internal Changes:

Description

When building a source distribution (0.12-dev branch) on Mac OS X setup.py sdist, the produced tarball does not include a great many required files, notably Trac's templates. Building a binary distribution with setup.py bdist_egg generates an .egg file with all expected files and works correctly.

I've verified that sdist builds a correct source distribution on my Debian Lenny box, but running the same command on the same SVN revision generates a faulty source distribution on my Mac. Thus, this bug is OS X specific. Here's my build environment details:

  • SVN branch 0.12-stable r10426
  • Mac OS X 10.6.4
  • Python 2.6.1
  • setuptools 0.6c9
  • Genshi 0.6
  • Babel 0.9.5

Here is a log of running python setup.py sdist on the Mac:

http://pastebin.com/EDcEEDh6

Here is a diff of the contents of the Debian-created source dist versus the Mac-created one; in other words, these files are missing from the Mac .tar.gz. As you can see, a very large number of files are missing, and the Mac-created one seems to only include (some?) .py files:

http://pastebin.com/MZtAu7gp

Attachments (0)

Change History (7)

comment:2 by Christian Boos, 13 years ago

Note that TracDev/ReleaseChecklist used to contain warnings about sdist not working with some Python versions (see version 24). As everything was working fine with Python 2.7, I advised to use that version and simplified the instructions.

Can you try the workaround I described there?

python setup.py egg_info sdist

in reply to:  2 comment:3 by david.riggs@…, 13 years ago

Replying to cboos:

Note that TracDev/ReleaseChecklist used to contain warnings about sdist not working with some Python versions (see version 24). As everything was working fine with Python 2.7, I advised to use that version and simplified the instructions.

Can you try the workaround I described there?

python setup.py egg_info sdist

I've attempted python setup.py egg_info sdist as you suggest for Python 2.6.1, but the produced tarball is unfortunately no different than a simply sdist.

Output and examination of file:

http://pastebin.com/MEpiUxEn

comment:4 by david.riggs@…, 13 years ago

Comparing the output of the successful Debian build versus the faulty OS X build, I note that the OS X log contains multiple lines of:

unrecognized .svn/entries format; skipping .

OS X: svn, version 1.6.5 (r38866)

Debian: svn, version 1.5.1 (r32289

Could the issue be caused by this Python setuptools bug?

Subversion 1.6 entries format 'unrecognized'

comment:5 by david.riggs@…, 13 years ago

Indeed, the bug is caused by an incompatibility between setuptools 0.6c9 and subversion 1.6.x.

I upgraded to setuptools 0.6c12dev-r85381 with sudo easy_install -U setuptools and a regular python setup.py sdist produces a tarball containing the expected template files (and others, size is >2MB versus the former 400KB).

in reply to:  4 comment:6 by Remy Blank, 13 years ago

Resolution: worksforme
Status: newclosed

Replying to david.riggs@…:

Could the issue be caused by this Python setuptools bug?

Oh, yes, I had forgotten about that bug. It has taken a disproportionate amount of time to get fixed, and I'm not even sure it was ever fixed in setuptools. Distribute works fine, though, so I recommend you use that instead.

(The reason it didn't work here is almost embarrassing: I was using a Mercurial mirror, not an SVN checkout. So even though I did have distribute installed, it wasn't able to generate the manifest.)

So, not a bug in Trac. Sorry for the trouble.

comment:7 by Ryan J Ollos, 9 years ago

Keywords: macosx setuptools build → macosx, setuptools, build

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The ticket will remain with no owner.
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from (none) to the specified user.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.