Andrew Straw wrote:
Olof Bjarnason wrote:
2009/9/28 Gerry Reno <gr...@verizon.net>:
Just pass the arguments directly to sdist_dsc. It should be something
like this:

python setup.py sdist_dsc --ignore-single-version-externally-managed
--ignore-install-requires bdist_deb

How's that going to work?  You have 'sdist_dsc' on the command line as well
as 'bdist_deb'.   'bdist_deb' also calls 'sdist_dsc' internally but this
time it would be without any arguments?  How can that work?
This is standard distutils command processing -- this has nothing to do
with stdeb per se. The reason I gave an example not involving stdeb
(which was snipped out by you in your quote above) is so that you can
try it yourself and explore further without thinking it's somehow an
stdeb issue. Specifically, you do not need to understand anything
specific to stdeb to understand how to pass multiple arguments to
sub-commands of a distutils command. (And if stdeb handles things
differently, it's a bug and I would appreciate hearing about it.)

For example, "build_ext" is a sub-command of "install" that get called
to build extension modules prior to installation. (Being a sub-command
is not strictly true in the sense that the install command doesn't list
build_ext in its sub_commands in distutils/commands/install.py, but it
acts as if it's true.) Likewise, "sdist_dsc" is a sub-command of
"bdist_deb". In all cases one, might want to pass arguments to the
sub-command before running a later command. distutils allows this.

Ok, the commands behave like makefile rules, once run they don't run again.
But there are still several issues here:

Remember that I said that my goal with 'bdist_deb' was for users to have a SINGLE command to generate a .deb.

What needs to be achieved is for a command like this:
$ python setup.py  bdist_deb
OR
$ python setup.py  bdist_deb  --ignore-single-version-externally-managed

to be possible. 'bdist_deb' would call sdist_dsc internally with the necessary args WITHOUT having to explicitly put 'sdist_dsc' on the command line.

This is how I was expecting that you would implement the bdist_deb command inside of stdeb.


Another issue:  In util.py on line 962 (gerry-reno git):
%(setup_env_vars)spython$* -c "import setuptools,sys;f='setup.py';sys.argv[0]=f;execfile(f,{'__file__':f,'__name__':'__main__'})" install \\

Maybe it should be like this (note semicolon splitting line into two statements): %(setup_env_vars)s; python$* -c "import setuptools,sys;f='setup.py';sys.argv[0]=f;execfile(f,{'__file__':f,'__name__':'__main__'})" install \\

Otherwise any of the env vars don't seem to be in effect for the line itself. If you put any of the env vars in the line, they don't expand to the value set in set_env_vars. They expand to previous value or to null.


Regards,
Gerry

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

Reply via email to