[Python-Dev] PEP 376 - Open questions

Eric Smith eric at trueblade.com
Wed Jul 8 14:59:57 CEST 2009


Antoine Pitrou wrote:
> Paul Moore <p.f.moore <at> gmail.com> writes:
>> I have no answer here. But I think we need feedback from the people
>> who will ultimately be building bdist_xxx formats - Debian packagers,
>> people wrting alternate RPM builders, etc.
> 
> I think any bdist_xxx command which targets externally handled package formats
> (rpm, deb, msi, etc.) shouldn't generate RECORD. If you install with rpm or
> dpkg, you will uninstall with the same tool, won't you?

I agree with this. For RPM's, there's a whole other database of what 
files were installed. Is it really the intent that a file will be 
managed by multiple different installers? That I can install with RPM 
but remove with some python-installer (or other) tool? That way lies 
madness. In fact, I see RECORD as an installer-specific detail that 
doesn't need to be standardized at all.

For bdist_rpm (which I'm contemplating taking over, but no promises), 
the only thing that needs to be done with the metadata is be able to 
build a .spec file. Once the .spec file is generated, rpmbuild (or 
equivalent) will produce the .rpm files. I image that .deb's are 
similar, but I'm no expert.

Which brings up the "static metadata" argument I was making at PyCon. I 
want there to be enough static metadata that the new bdist_rpm can read 
so that it produces a well-behaved .spec file. I need to know the intent 
of some of the files (which are documentation, which are config files, 
which are scripts, which are libraries, etc.) and not much else.

I envision the new bdist_rpm as a standalone tool, not a distutils 
extension.

>> Bottom line - Is RECORD to be created on the target machine at install
>> time, or must it be relocatable?
> 
> This is quite an uninformed opinion, but a relocatable RECORD looks like a can
> of worms to me.

Agreed.

> As for creating RECORD at install time, I don't understand the argument about
> duplicate code. Distutils can provide useful primitives for generating RECORD,
> so that interested subcommands don't have a lot of additional work to do.

I envision a "distlib" that contains new support code that's not part of 
the current distutils morass.


More information about the Python-Dev mailing list