Re: [Distutils] Brand new, clean server, set up from scratch, buildbot still fails

2009-10-19 Thread Tarek Ziadé
On Mon, Oct 19, 2009 at 4:35 AM, Steve Steiner sstei...@mac.com wrote:
 http://pastebin.com/m69796bc5

sounds like version problems.


 This is running on a bare system, after figuring out which development tools
 were needed, all the version control systems necessary etc.  I have all that
 captured in my Fabric script so we're all set for being able to duplicate
 it.

 I have NOT installed anything into the system Python at all.  In fact, other
 than the tools necessary to pull the products out of VCS, and the compilers
 and such, I haven't installed (or done) anything to the system at all.
  That's kind of the point.  We want to be able to go from bare metal to
 running buildbot completely automatically.

I tried to build the buildbot again on debian and Mac OSX and it worked fine
Didn't try on Ubuntu though.

It seems that it's using the buildbot installed in your system, which
might be the problem
since the buildout doesn't pinpoint the versions.

Here, I use Python 2.6 and I have:
 - buildbot-0.7.11p3
- Twisted-8.2.0
- collective.buildbot-0.3.5

I suggest that you install virtualenv and that your run this sequence
in an Ubuntu that has
all the development tools we have discussed (python-dev, zlib, etc) :

$ cd /var/
$ mkdir distutils-bot
$ cd distutils-bot
$ virtualenv --no-site-packages .
$ hg clone https://ta...@bitbucket.org/tarek/distutils-builbot .
$ bin/python bootstrap.py
$ bin/buildout -c buildbot.cfg

This is supposed to compile.

Last option: give me an ssh access to your ubuntu box if possible,
I'll probaby be able to fix it.

Tarek
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Brand new, clean server, set up from scratch, buildbot still fails

2009-10-19 Thread Tarek Ziadé
On Mon, Oct 19, 2009 at 9:34 AM, Tarek Ziadé ziade.ta...@gmail.com wrote:

 I tried to build the buildbot again on debian and Mac OSX and it worked fine
 Didn't try on Ubuntu though.


Here's this very buildbot running on debian:

http://ziade.org:9080/waterfall
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] [RFC] Recentering the static metadata need : PKG-INFO

2009-10-19 Thread Floris Bruynooghe
On Sat, Oct 17, 2009 at 06:00:51PM -0400, David Lyon wrote:
 On Sat, 17 Oct 2009 18:19:44 +0200, Tarek Ziadé ziade.ta...@gmail.com
 wrote:
  e.g. like = 'KDEDIR' in os.environ (so meaning we introduce sequence
  comparisons/operators
  in those markers)
[...]
 For example, if there is a /etc/gdm/gdm.conf it is pretty safe
 to assume that gnome is installed on that system.
 
 So in your PEP, your could have code..
 
  if sys.platform == 'linux2':
  gnome_installed = os.path.exists('/etc/gdm/gdm.conf')
 
 Then exposed that as a variable in your condition:
 
 'if desktop in gnome|windows' etc

All this seems like a bad idea to me.  Thinking from a GNU/Linux
distro point of view now you'd need to add a build-depends to e.g. GDM
*and* KDM only to get the correct .desktop file or something like
that.  And even worse, as proposed it would probably get confused when
both are installed.

There must be better ways of saying if you want to have (e.g.) a
.desktop file installed.

Also the choice you give to a Python package author is suddenly
massive: linux-gnome-kde-32-whatever.  Just how is a Python package
author supposed to get this right?

Regards
Floris

-- 
Debian GNU/Linux -- The Power of Freedom
www.debian.org | www.gnu.org | www.kernel.org
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] [RFC] Recentering the static metadata need : PKG-INFO

2009-10-19 Thread David Lyon
On Mon, 19 Oct 2009 10:18:57 +0100, Floris Bruynooghe
floris.bruynoo...@gmail.com wrote:
 All this seems like a bad idea to me.  Thinking from a GNU/Linux
 distro point of view now you'd need to add a build-depends to e.g. GDM
 *and* KDM only to get the correct .desktop file or something like
 that.  And even worse, as proposed it would probably get confused when
 both are installed.

I don't see why.

An application/package might use KDE and might want to check for it.

An application/package might want to use GNOME and want to check
for it.

Why can't developers check what the platform is?

There's no forcing developers to use these checks. They're only there
to assist in overcoming platform specific installation issues.

 There must be better ways of saying if you want to have (e.g.) a
 .desktop file installed.

Ok.. so throw me some ideas..

 Also the choice you give to a Python package author is suddenly
 massive: linux-gnome-kde-32-whatever.  Just how is a Python package
 author supposed to get this right?

Typically, the don't specify anything. They just assume everything
works on every platform until their test process tells them it isn't
so.

In that case, this mechanism allows them to provide workarounds
for problem cases.

I cannot see how that is a bad idea...

David
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] [RFC] Recentering the static metadata need : PKG-INFO

2009-10-19 Thread Tarek Ziadé
On Sun, Oct 18, 2009 at 12:00 AM, David Lyon david.l...@preisshare.net wrote:
 So in your PEP, your could have code..

  if sys.platform == 'linux2':
     gnome_installed = os.path.exists('/etc/gdm/gdm.conf')

 Then exposed that as a variable in your condition:

 'if desktop in gnome|windows' etc

From the stdlib PoV, exposing new variables like gnome isn't
appropriate, because
we don't want to keep track of all desktop systems in the stdlib.
That's impossible.

So we have to work at providing tools for the developers in the
conditions, for them
to express them.

So exposing os.environ for your use case could help. I am not sure
about file presence though.

More generally, I feel uncomfurtable to give too much power in the
PKG-INFO syntax, I think
things like os.platform() are enough to describe conditional fields in
the metadata.

I can see a use case for building Extensions and package_data etc..

But what is the use case to detect gnome for the metadata fields ?

Tarek
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Brand new, clean server, set up from scratch, buildbot still fails

2009-10-19 Thread Tarek Ziadé
On Mon, Oct 19, 2009 at 1:44 PM, Steve Steiner sstei...@mac.com wrote:

 The whole idea here is to make a setup script that sets the machine:

        Fire up a new cloud server
        Install whatever software is necessary
        Download the buildbot code
        Build the buildbot
        Start it running for as long as needed
        Kill the server

 We pay for the server by the hour (1.5 cents/hr) and can fire up as many as
 necessary.

 I will put my fabric script up on bitbucket in my clone and you can pull it
 over and see what I mean.

 Right now, Im just using a local VM, but the idea would be to put a fresh
 one up on Rackspace as needed, then kill when done.

Sounds good.


 $ cd /var/
 $ mkdir distutils-bot
 $ cd distutils-bot
 $ virtualenv --no-site-packages .
 $ hg clone https://ta...@bitbucket.org/tarek/distutils-builbot .
 $ bin/python bootstrap.py
 $ bin/buildout -c buildbot.cfg

 This is supposed to compile.

 Last option: give me an ssh access to your ubuntu box if possible,
 I'll probaby be able to fix it.

 I am not looking to hand-fix this, that would be pointless.  I want an
 automated build script that will fire up a brand new Ubuntu cloud server,
 set up the entire environment, install the buildbot and run.

By fix it I mean debugging it in your environment to find the
problem of course.

Anyways, let see what my sequence does in your VM (with python-dev
installed first, and zlib)
And if it fails, ls me the content of eggs/ as well

Tarek
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


[Distutils] Brand new, clean server, set up from scratch, buildbot still fails

2009-10-19 Thread Steve Steiner

http://pastebin.com/m69796bc5

This is running on a bare system, after figuring out which development  
tools were needed, all the version control systems necessary etc.  I  
have all that captured in my Fabric script so we're all set for being  
able to duplicate it.


I have NOT installed anything into the system Python at all.  In fact,  
other than the tools necessary to pull the products out of VCS, and  
the compilers and such, I haven't installed (or done) anything to the  
system at all.  That's kind of the point.  We want to be able to go  
from bare metal to running buildbot completely automatically.


I don't quite understand what this thing is supposed to be doing but  
I'm sure it's not doing everything it needs to do to get itself  
bootstrapped; on a fresh Ubuntu install, anyway.


BTW, on my OS X development system, running the system Python 2.6.1,  
it doesn't have any trouble at all except for this little gem early in  
the process.


/usr/bin/python -c from setuptools.command.easy_install import  
main; main() -mUNxd /Users/ssteiner/Dropbox/work/distutils-builbot/ 
eggs/tmptMBdZk -q /Users/ssteiner/Dropbox/src/twisted_trunk
path=/Users/ssteiner/Dropbox/work/distutils-builbot/eggs/ 
setuptools-0.6c9-py2.6.egg


/Library/Python/2.6/site-packages/Pyrex-0.9.8.5-py2.6.egg/Pyrex/ 
Compiler/Errors.py:17: DeprecationWarning: BaseException.message has  
been deprecated as of Python 2.6

  self.message = message
unrecognized .svn/entries format in
conftest.c:1:23: error: sys/epoll.h: No such file or directory
conftest.c:1:23: error: sys/epoll.h: No such file or directory
conftest.c:1:23: error: sys/epoll.h: No such file or directory
lipo: can't open input file: /var/folders/28/28Xggq0cGXqLpT1Uz5Gk4E++ 
+TI/-Tmp-//ccOmCair.out (No such file or directory)

Got Twisted 8.2.0-r27376.
Picked: Twisted = 8.2.0-r27376
Getting required 'zope.interface'
  required by collective.buildbot 0.3.5.
  required by Twisted 8.2.0-r27376.

...
 and then it carries on.

However, when trying to run it with /bin/test, something tries to  
refer to trunk-checkout when the python trunk was actually checked  
out into python-trunk.


(~/work/distutils-builbot)# bin/test
Traceback (most recent call last):
  File bin/test, line 12, in module
os.chdir(python_trunk)
OSError: [Errno 2] No such file or directory: '/Users/ssteiner/work/ 
distutils-builbot/parts/trunk-checkout/python'


All in all, I really can't get it to build or run anywhere at this  
point...


S

___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Brand new, clean server, set up from scratch, buildbot still fails

2009-10-19 Thread Steve Steiner


On Oct 19, 2009, at 3:36 AM, Tarek Ziadé wrote:

On Mon, Oct 19, 2009 at 9:34 AM, Tarek Ziadé ziade.ta...@gmail.com  
wrote:


I tried to build the buildbot again on debian and Mac OSX and it  
worked fine

Didn't try on Ubuntu though.



Here's this very buildbot running on debian:

http://ziade.org:9080/waterfall


I'm not disputing that it runs, I'm telling you that it won't run on a  
clean Ubuntu without some additional setup.


S



___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] [RFC] Recentering the static metadata need : PKG-INFO

2009-10-19 Thread David Lyon
On Mon, 19 Oct 2009 13:46:11 +0200, Tarek Ziadé ziade.ta...@gmail.com
wrote:
 From the stdlib PoV, exposing new variables like gnome isn't
 appropriate, because
 we don't want to keep track of all desktop systems in the stdlib.
 That's impossible.

Well, the list isn't infinite. And under Linux there are only
two major ones existing in any great quantity unless I am mistaken.

They are Gnome and KDE. The rest.. aren't so important for detection
I would suggest.. ok - somebody stick a stake in my heart... haha

 So exposing os.environ for your use case could help. I am not sure
 about file presence though.

As I said before.. I'm not so keen on that.

 More generally, I feel uncomfurtable to give too much power in the
 PKG-INFO syntax, I think
 things like os.platform() are enough to describe conditional fields in
 the metadata.

 But what is the use case to detect gnome for the metadata fields ?

Perphaps somebody is writing something that only works in gnome.

The true rational is slightly different. Under windows there are distinct
window manager versions. Eg XP, Vista, Windows 7, win-ce. They *do* have a
big impact on python programs and change configurations significantly.

So my rationale is simply to have the same thing under linux where
there are two major desktops, KDE and GNOME.

Maybe on the Mac there are differences to the python developer
and we shouldn't forget those also.

I'm proposing detecting less than 10 different desktops in all. And
detecting those with two lines of code each. So 20 lines of code..

About 20 lines of new code shouldn't be so hard... I would have thought.

David

___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Brand new, clean server, set up from sc ratch, buildbot still fails

2009-10-19 Thread David Lyon
On Mon, 19 Oct 2009 07:44:56 -0400, Steve Steiner sstei...@mac.com wrote:

 I am not looking to hand-fix this, that would be pointless.  I want an  
 automated build script that will fire up a brand new Ubuntu cloud  
 server, set up the entire environment, install the buildbot and run.

Can I help?

It's actually a pretty interesting and typical problem.

One of the big challenges is spanning the internal reach of python
packaging to 'the outside'.

I wish I could use a mac - where we don't have these problems.

But under Linux, even on a good distro like debian or ubuntu, it
can take a while to locate all the compilers and external tools that
are required to build your given package.

Doing 'fresh' installs on a fresh os surely is a typical developer
use case... or should be going forward..

It should be pretty simple to specify external os-packages and
pull them in. Somehow.. :-) (apt-get)

There must be some way to put these into a coherent config file.

David



___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Brand new, clean server, set up from scratch, buildbot still fails

2009-10-19 Thread Steve Steiner


On Oct 19, 2009, at 8:57 AM, David Lyon wrote:

On Mon, 19 Oct 2009 07:44:56 -0400, Steve Steiner sstei...@mac.com  
wrote:


I am not looking to hand-fix this, that would be pointless.  I want  
an

automated build script that will fire up a brand new Ubuntu cloud
server, set up the entire environment, install the buildbot and run.


Can I help?


I've just put the fabfile up in the distutils-buildbot 
http://bitbucket.org/tarek/distutils-buildbot/overview/

Feel free to jump in!

I've run that exact fabfile onto a pure fresh ubuntu 9.04 setup and it  
won't run yet.


Any insight you can provide would be much appreciated.

I'd love to make a make me a buildbot tool; I think it would be  
incredibly useful, generally.


S


___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Brand new, clean server, set up from scratch, buildbot still fails

2009-10-19 Thread Tarek Ziadé
On Mon, Oct 19, 2009 at 3:23 PM, Steve Steiner sstei...@mac.com wrote:

 On Oct 19, 2009, at 8:57 AM, David Lyon wrote:

 On Mon, 19 Oct 2009 07:44:56 -0400, Steve Steiner sstei...@mac.com
 wrote:

 I am not looking to hand-fix this, that would be pointless.  I want an
 automated build script that will fire up a brand new Ubuntu cloud
 server, set up the entire environment, install the buildbot and run.

 Can I help?

 I've just put the fabfile up in the distutils-buildbot
 http://bitbucket.org/tarek/distutils-buildbot/overview/

 Feel free to jump in!

 I've run that exact fabfile onto a pure fresh ubuntu 9.04 setup and it won't
 run yet.

 Any insight you can provide would be much appreciated.

 I'd love to make a make me a buildbot tool; I think it would be incredibly
 useful, generally.

Beware that for the server part of buildbot, it doesn't work on Windows,

Maybe this has changed but that's the last status I know of.

But I definitely want to run the slaves on Win32.

This would require the buildout to make the distinction between a
slave machine and a
machine that has a salve and a master. It' not the case right now but
I can change it,
by adding a 'only_slave.cfg' file

Tarek
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Brand new, clean server, set up from scratch, buildbot still fails

2009-10-19 Thread Steve Steiner


On Oct 19, 2009, at 9:29 AM, Tarek Ziadé wrote:


But I definitely want to run the slaves on Win32.


How about we get it running, first...  ;-)

S

___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


[Distutils] [buildout] Fixed verbose mode when developing eggs

2009-10-19 Thread Jonathan Ballet
Hello,

I had a small headache using Buildout this morning: I had a package which
contained a C extension and which was developed in my buildout.cfg file. I
wanted to see what was the gcc call used to build this extension, but using
as much as -v as I could (I stopped at ten), I didn't see anything more.

So, I dig in the code, and there was a typo in easy_install.py, which is
fixed in fix-verbose-develop.patch (this needs a test to be updated, BTW).
The fix was trivial (replacing == with =), but I think the way args is
build is now better.


I propose also another patch (uniformize-args.patch), which refactors args
construction using a list instead of a tuple, which looks smarter (why a
tuple whereas it is updated several times?).
This is not mandatory for the fix, feel free to integrate it or not.

Cheers,

JonathanIndex: src/zc/buildout/tests.py
===
--- src/zc/buildout/tests.py(révision 105143)
+++ src/zc/buildout/tests.py(copie de travail)
@@ -90,7 +90,7 @@
 Installing...
 Develop: '/sample-buildout/foo'
 in: '/sample-buildout/foo'
-... -q develop -mxN -d /sample-buildout/develop-eggs/...
+... -v develop -mxN -d /sample-buildout/develop-eggs/...
 
 
 
Index: src/zc/buildout/easy_install.py
===
--- src/zc/buildout/easy_install.py (révision 105143)
+++ src/zc/buildout/easy_install.py (copie de travail)
@@ -873,18 +873,16 @@
 tmp3 = tempfile.mkdtemp('build', dir=dest)
 undo.append(lambda : shutil.rmtree(tmp3))
 
-args = [
-zc.buildout.easy_install._safe_arg(tsetup),
-'-q', 'develop', '-mxN',
-'-d', _safe_arg(tmp3),
-]
-
+args = [zc.buildout.easy_install._safe_arg(tsetup)]
 log_level = logger.getEffectiveLevel()
-if log_level = 0:
-if log_level == 0:
-del args[1]
-else:
-args[1] == '-v'
+if log_level  0:
+args.append('-v')
+elif log_level  0:
+args.append('-q')
+
+args.extend(['develop', '-mxN',
+ '-d', _safe_arg(tmp3)])
+
 if log_level  logging.DEBUG:
 logger.debug(in: %r\n%s, directory, ' '.join(args))
 
diff -u src/zc/buildout/easy_install.py src/zc/buildout/easy_install.py
--- src/zc/buildout/easy_install.py (copie de travail)
+++ src/zc/buildout/easy_install.py (copie de travail)
@@ -301,16 +301,16 @@
 ws, False,
 )[0].location
 
-args = ('-c', _easy_install_cmd, '-mUNxd', _safe_arg(tmp))
+args = ['-c', _easy_install_cmd, '-mUNxd', _safe_arg(tmp)]
 if self._always_unzip:
-args += ('-Z', )
+args.append('-Z')
 level = logger.getEffectiveLevel()
 if level  0:
-args += ('-q', )
+args.append('-q')
 elif level  0:
-args += ('-v', )
+args.append('-v')
 
-args += (_safe_arg(spec), )
+args.append(_safe_arg(spec))
 
 if level = logging.DEBUG:
 logger.debug('Running easy_install:\n%s %s\npath=%s\n',
@@ -319,13 +319,13 @@
 if is_jython:
 extra_env = dict(os.environ, PYTHONPATH=path)
 else:
-args += (dict(os.environ, PYTHONPATH=path), )
+args.append(dict(os.environ, PYTHONPATH=path))
 
 sys.stdout.flush() # We want any pending output first
 
 if is_jython:
 exit_code = subprocess.Popen(
-[_safe_arg(self._executable)] + list(args),
+[_safe_arg(self._executable)] + args,
 env=extra_env).wait()
 else:
 exit_code = os.spawnle(
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] [buildout] Fixed verbose mode when developing eggs

2009-10-19 Thread Jim Fulton
On Mon, Oct 19, 2009 at 11:11 AM, Jonathan Ballet j...@multani.info wrote:
 Hello,

 I had a small headache using Buildout this morning: I had a package which
 contained a C extension and which was developed in my buildout.cfg file. I
 wanted to see what was the gcc call used to build this extension, but using
 as much as -v as I could (I stopped at ten), I didn't see anything more.

 So, I dig in the code, and there was a typo in easy_install.py, which is
 fixed in fix-verbose-develop.patch (this needs a test to be updated, BTW).
 The fix was trivial (replacing == with =), but I think the way args is
 build is now better.


 I propose also another patch (uniformize-args.patch), which refactors args
 construction using a list instead of a tuple, which looks smarter (why a
 tuple whereas it is updated several times?).
 This is not mandatory for the fix, feel free to integrate it or not.

Thanks.  I'll apply this soon. :)

Jim

-- 
Jim Fulton
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


[Distutils] buglet in setuptools 0.6c10

2009-10-19 Thread Barry Warsaw
Sorry for the lame-ass bug report, but my stack is really deep and I didn't
want this one to go unreported.  I just tried 0.6c10 to see if it would fix a
problem I'm having.  How fortunate that it hit Cheeseshop at just the right
time ;).  Unfortunately, there's a bug in

setuptools/command/sdist.py

Line 184 references string.join, but 'string' is undefined.

-Barry


signature.asc
Description: PGP signature
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


[Distutils] Setuptools 0.6c10 released

2009-10-19 Thread P.J. Eby

The long-overdue setuptools 0.6c10 update is now available on PyPI, at:

   http://pypi.python.org/setuptools/

Major updates and fixes include:

* Support for SVN 1.6 and Python 2.6
* Fix for the Python 2.6.3 build_ext API change
* Support for the most recent Sourceforge download link insanity
* Fix for Vista UAC errors running easy_install.exe or other
  installer-looking executables
* Fix for errors launching 64-bit Windows Python
* Stop crashing on certain types of HTTP error
* Stop re-trying URLs that already failed retrieval once
* Fixes for various dependency management problems such as looping
  builds, re-downloading packages already present on sys.path (but not
  in a registered site directory), and randomly preferring local -f
  packages over local installed packages
* Prevent lots of spurious already imported from another path warnings
  (e.g. when pkg_resources is imported late)
* Ensure C libraries (as opposed to extensions) are also built when
  doing bdist_egg

Other changes:

* Misc. documentation fixes
* Improved Jython support
* Fewer warnings under Python 2.6+
* Warn when 'packages' uses paths instead of package names (because it
  causes other problems, like spurious already imported warnings)
* Stop using /usr/bin/sw_vers on Mac OS (replaced w/'platform' module
  calls)

You can install the updated version using easy_install (or pip!), 
asking for setuptools==0.6c10.


(Note for users of Distribute: Distribute and setuptools use the same 
package name 'setuptools', and thus cannot both be present on the 
same sys.path (e.g. in the same virtualenv).  If you wish to switch a 
given environment from Distribute to setuptools or vice versa, you 
will need to completely uninstall one before installing the 
other.  If you currently have Distribute installed, please follow 
Distribute's uninstall instructions if you wish to reinstall setuptools.)


Please report any problems with setuptools to the setuptools bug tracker at:

  http://bugs.python.org/setuptools/

For faster response to questions, please use the distutils-sig 
mailing list, rather than the tracker.  Setuptools documentation can 
be found via links at 
http://pypi.python.org/pypi/setuptools#using-setuptools-and-easyinstall 
-- and the pages on the PEAK wiki now load much, much faster than 
they did a few months ago.  (They're static cached pages now, rather 
than dynamically generated, unless you're actually logged into the wiki.)


___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] buglet in setuptools 0.6c10

2009-10-19 Thread P.J. Eby

At 03:33 PM 10/19/2009 -0400, Barry Warsaw wrote:

Sorry for the lame-ass bug report, but my stack is really deep and I didn't
want this one to go unreported.  I just tried 0.6c10 to see if it would fix a
problem I'm having.  How fortunate that it hit Cheeseshop at just the right
time ;).  Unfortunately, there's a bug in

setuptools/command/sdist.py

Line 184 references string.join, but 'string' is undefined.

-Barry


Thanks; it's fixed and pushed back to PyPI.

___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] buglet in setuptools 0.6c10

2009-10-19 Thread Barry Warsaw

On Oct 19, 2009, at 3:55 PM, P.J. Eby wrote:


At 03:33 PM 10/19/2009 -0400, Barry Warsaw wrote:
Sorry for the lame-ass bug report, but my stack is really deep and  
I didn't
want this one to go unreported.  I just tried 0.6c10 to see if it  
would fix a
problem I'm having.  How fortunate that it hit Cheeseshop at just  
the right

time ;).  Unfortunately, there's a bug in

setuptools/command/sdist.py

Line 184 references string.join, but 'string' is undefined.

-Barry


Thanks; it's fixed and pushed back to PyPI.


Thanks.
-B



PGP.sig
Description: This is a digitally signed message part
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Setuptools 0.6c10 released

2009-10-19 Thread Alex Grönholm

P.J. Eby kirjoitti:

The long-overdue setuptools 0.6c10 update is now available on PyPI, at:

   http://pypi.python.org/setuptools/

Major updates and fixes include:

* Support for SVN 1.6 and Python 2.6
* Fix for the Python 2.6.3 build_ext API change
* Support for the most recent Sourceforge download link insanity
* Fix for Vista UAC errors running easy_install.exe or other
  installer-looking executables
* Fix for errors launching 64-bit Windows Python
According to the notice on the setuptools bug tracker, you did this by 
avoiding the use of LoadLibraryEx().
I don't see any changes in launcher.c in setuptools SVN yet, did you 
forget to commit? Or am I looking in the wrong place?

I'd like to see your solution.

* Stop crashing on certain types of HTTP error
* Stop re-trying URLs that already failed retrieval once
* Fixes for various dependency management problems such as looping
  builds, re-downloading packages already present on sys.path (but not
  in a registered site directory), and randomly preferring local -f
  packages over local installed packages
* Prevent lots of spurious already imported from another path warnings
  (e.g. when pkg_resources is imported late)
* Ensure C libraries (as opposed to extensions) are also built when
  doing bdist_egg

Other changes:

* Misc. documentation fixes
* Improved Jython support
* Fewer warnings under Python 2.6+
* Warn when 'packages' uses paths instead of package names (because it
  causes other problems, like spurious already imported warnings)
* Stop using /usr/bin/sw_vers on Mac OS (replaced w/'platform' module
  calls)

You can install the updated version using easy_install (or pip!), 
asking for setuptools==0.6c10.


(Note for users of Distribute: Distribute and setuptools use the same 
package name 'setuptools', and thus cannot both be present on the same 
sys.path (e.g. in the same virtualenv).  If you wish to switch a given 
environment from Distribute to setuptools or vice versa, you will need 
to completely uninstall one before installing the other.  If you 
currently have Distribute installed, please follow Distribute's 
uninstall instructions if you wish to reinstall setuptools.)


Please report any problems with setuptools to the setuptools bug 
tracker at:


  http://bugs.python.org/setuptools/

For faster response to questions, please use the distutils-sig mailing 
list, rather than the tracker.  Setuptools documentation can be found 
via links at 
http://pypi.python.org/pypi/setuptools#using-setuptools-and-easyinstall 
-- and the pages on the PEAK wiki now load much, much faster than they 
did a few months ago.  (They're static cached pages now, rather than 
dynamically generated, unless you're actually logged into the wiki.)


___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Setuptools 0.6c10 released

2009-10-19 Thread P.J. Eby

At 11:33 PM 10/19/2009 +0300, Alex Grönholm wrote:

P.J. Eby kirjoitti:

The long-overdue setuptools 0.6c10 update is now available on PyPI, at:

   http://pypi.python.org/setuptools/

Major updates and fixes include:

* Support for SVN 1.6 and Python 2.6
* Fix for the Python 2.6.3 build_ext API change
* Support for the most recent Sourceforge download link insanity
* Fix for Vista UAC errors running easy_install.exe or other
  installer-looking executables
* Fix for errors launching 64-bit Windows Python
According to the notice on the setuptools bug tracker, you did this 
by avoiding the use of LoadLibraryEx().
I don't see any changes in launcher.c in setuptools SVN yet, did you 
forget to commit?


It looks like I managed to revert it in my working copy, 
too.  Crap.  (Which is weird, because I know I built the executables 
before and tested them on a 64-bit Vista box.)


I've reapplied the changes and put it back in SVN.  'easy_install 
setuptools==dev06' will let you get it for now.




 Or am I looking in the wrong place?
I'd like to see your solution.


I changed the loadable_exe() function to be a no-op string copy, essentially.

Looks like I'll need to go ahead and put out a c11 tomorrow.  Sorry 
about that.  Thanks for the prompt report.


___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


[Distutils] Avoid dependency_links / find_links

2009-10-19 Thread Patrice Neff

Hi,

We manage our projects with setuptools. For this we have a local PyPi  
mirror with just our required packages. This mirror is specified in  
our setuptools environments using the index_url directive. The basic  
idea is: we don't want to access the internet when installing  
packages. Today I had to realized that we haven't been reaching that  
goal as Pylons contains a dependency_links pointing to pylonshq.com.


So the question would be: is there any way to avoid following any  
dependency_links and/or find_links paths and only use the index_url?


I have quickly checked the setuptools source code and couldn't find  
any way to do this. Would a patch be accepted if I implemented that  
behavior? Are there other approaches to do what I'm trying to do?


Thanks in advance
Patrice
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Avoid dependency_links / find_links

2009-10-19 Thread P.J. Eby

At 12:02 AM 10/20/2009 +0200, Patrice Neff wrote:

So the question would be: is there any way to avoid following any
dependency_links and/or find_links paths and only use the index_url?


Yes.  See:

http://peak.telecommunity.com/DevCenter/EasyInstall#restricting-downloads-with-allow-hosts

which explains how to use the command line or configuration files to 
control this.  Also see:


http://peak.telecommunity.com/DevCenter/EasyInstall#command-line-options

under the '--allow-hosts' option for more details on the syntax.

___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Avoid dependency_links / find_links

2009-10-19 Thread Patrice Neff

On Oct 20, 2009, at 12:30 AM, P.J. Eby wrote:


Yes.  See:

http://peak.telecommunity.com/DevCenter/EasyInstall#restricting-downloads-with-allow-hosts

which explains how to use the command line or configuration files to  
control this.  Also see:


http://peak.telecommunity.com/DevCenter/EasyInstall#command-line-options

under the '--allow-hosts' option for more details on the syntax.


Thank you, this works great for my purpose.

Sorry I missed that in the documentation.

Patrice
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] buglet in setuptools 0.6c10

2009-10-19 Thread Matthew Wilkes


On 2009-10-19, at 2055, P.J. Eby wrote:


Thanks; it's fixed and pushed back to PyPI.


With the same version number.  What about the people who have already  
installed your broke 0.6c10 that don't read this list?


Matt
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] [RFC] Recentering the static metadata need : PKG-INFO

2009-10-19 Thread David Cournapeau
Floris Bruynooghe wrote:
 For example, if there is a /etc/gdm/gdm.conf it is pretty safe
 to assume that gnome is installed on that system.

 So in your PEP, your could have code..

  if sys.platform == 'linux2':
  gnome_installed = os.path.exists('/etc/gdm/gdm.conf')

 Then exposed that as a variable in your condition:

 'if desktop in gnome|windows' etc

Agreed, this is too fragile and complicated. Anyone who has done
packaging knows how fragile those things are: some buggy packages do not
remove some files, some corner cases you did not think about are always
coming.

At least for things like platform, arch and os, things are quite stable.
For everything else, either there is a way to define our own variable
whose values are handled by outside code (say setup.py or command line),
or you don't make them available at all in the static file. I don't see
other solution, and the packaging solutions I know do not allow this
kind of things. For any new feature in distutils, it should almost be
mandatory to look at what other people did to the same problem space.
Good design only comes with experience in that space domain, IMO.

David
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] buglet in setuptools 0.6c10

2009-10-19 Thread P.J. Eby

At 02:05 AM 10/20/2009 +0100, Matthew Wilkes wrote:


On 2009-10-19, at 2055, P.J. Eby wrote:


Thanks; it's fixed and pushed back to PyPI.


With the same version number.  What about the people who have already
installed your broke 0.6c10 that don't read this list?


They'll see an announcement for 0.6c11 tomorrow.  I didn't want to 
bump the version number right away, in case there were any other 
problems.  (And there were.)


___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] [RFC] Recentering the static metadata need : PKG-INFO

2009-10-19 Thread David Lyon
On Tue, 20 Oct 2009 12:41:52 +0900, David Cournapeau
da...@ar.media.kyoto-u.ac.jp wrote:
 'if desktop in gnome|windows' etc
 
 Agreed, this is too fragile and complicated. 

I don't understand which part is fragile.

Detecting if gnome or windows exists? or implementing this via Tareks
proposal (sort of shown as best as I understand it above).

My proposal has always been:

[dependencies windows]
packages = win32com

If you are really suggesting that detecting windows is so fragile
that it really shouldn't be supported I really don't have much
further to say. 

Windows is fragile... linux is fragile.. python packaging is
fragile.. 

 At least for things like platform, arch and os, things are quite stable.

Ok, so you agree with everything up to defining the window manager.

That's good.

Detecting the actual window manager is a fairly trivial detail. In reality.

 For everything else, either there is a way to define our own variable
 whose values are handled by outside code (say setup.py or command line),
 or you don't make them available at all in the static file. I don't see
 other solution, and the packaging solutions I know do not allow this
 kind of things. For any new feature in distutils, it should almost be
 mandatory to look at what other people did to the same problem space.
 Good design only comes with experience in that space domain, IMO.

I do many desktop software installs.

I have a good working knowledge of the issues.

Ok - I'm agreeing. So lets make all the python packaging as good as
it is in perl.

Really, you're only objection comes down to the tags 'gnome' and
'kde' if I'm not mistaken. To me they aren't big issues. Ok, so
we have to ommit 4 lines of code. I'm not bothered.

David



___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig