[Distutils] Appears bdist_rpm completely broken
Mike Olson
Mike.Olson@fourthought.com
Mon Sep 25 12:22:02 2000
Greg Ward wrote:
>
> On 21 September 2000, Mike Olson said:
> > There were a couple of spots were if we could abstract core distutils
> > code into a function call (that we could override) it would make our
> > lives that much nicer. Ex, I needed on little hook into install_lib.run
> > (after the build and before the copy), but I had to reproduce the entire
> > function call...
>
> OK, I've split install_lib.run() up. It's now a three-liner:
>
> self.build()
> outfiles = self.install()
> self.bytecompile(outfiles)
>
> and I have no problems with making people cut-n-paste three lines of
> code in order to insert one. ;-) I *think* this approach is preferable
> to sticking in "pre_build()" and "post_install()" hooks, which are empty
> methods by default.
>
> Try this out with the CVS version, but don't count on the interface
> staying the same -- ie. that 'bytecompile()' method might disappear, if
> byte-compilation moves to the build phase. Whatever goes out in 0.9.3
> should be final.
This looks like it will help, I'll try out the latest CVS version today
yet.
>
> > another really useful thing for us on copy_file would be if the function
> > told you if the file was copied....
>
> Hmm, every time this comes up I can never remember why I didn't change
> it the last time around. Or maybe I did change it last time, and now
> you want the old behaviour back. Argh! Good thing I have CVS here to
> cover my you-know-what... ah! here we go:
>
> revision 1.4
> date: 2000/06/23 01:42:40; author: gward; state: Exp; lines: +6 -7
> Bastian Kleineidam: 'copy_file()' now returns the output filename, rather
> than a boolean indicating whether it did the copy.
>
> This bloody return value has bounced back and forth between "was it
> copied?" and "output filename", and I'm *not* changing it again! It
> makes my head hurt, which is not worth it over such a silly, trivial
> little thing. There is code out there that relies on getting the output
> filename back, regardless of whether the file was copied or not.
I've noticed the code that relies on copy_file returning the dest file.
I also understand the need to have that code in place. However, (even
though this could be a futile attmept), what about returning a tuple,
best of both worlds, or even better, a new interface that returns the
tuple. Rename copy_file to the new interface name and modify it to
return the tuple of dest name and a boolean copied flag. Then recreate
the function copy_file to work as it does.....
def new_copy_file(src,dest,....):
return (dest,copied)
def copy_file(src,dest,....):
return new_copy_file(src,dest,...)[0]
We'd also want to do the same for copy_tree where is can return a list
of tuples....
Just a thought...
Mike
>
> Greg
--
Mike Olson Principal Consultant
mike.olson@fourthought.com (303)583-9900 x 102
Fourthought, Inc. http://Fourthought.com
Software-engineering, knowledge-management, XML, CORBA, Linux, Python