[Distutils] bdist_deb in stdeb

Andrew Straw strawman at astraw.com
Tue Sep 29 00:16:16 CEST 2009

Gerry Reno wrote:
> Andrew Straw wrote:
>> Gerry Reno wrote:
>>> What if stdeb only had the command 'bdist_deb' and had no other
>>> command.
>> I will not remove the "sdist_dsc" command from stdeb. I believe that the
>> ability to produce debian source packages is much more important that
>> the ability to produce binary packages which only target a single
>> architecture and version of Debian/Ubuntu. "bdist_deb" is just a trivial
>> add-on to that saving a couple lines of typing which may be helpful to
>> people who aren't familiar with those lines. But I see the .dsc and
>> associated files as much more useful as the compiled .deb files.
> LMAO.  Dang it.  I am not suggesting or implying that you should
> remove the 'sdist_dsc' command.  I'm trying to illustrate that the
> commandA-opts are just that and nothing more: commandA-opts.  And
> whatever part of the build/install process that they apply to, then
> the commandA can use them for WHATEVER purpose.  Which means that
> since 'bdist_deb' calls 'sdist_dsc' it is perfectly ok to allow all
> 'sdist_dsc' options to be passed into the 'bdist_deb' command which
> can then pass them along to 'sdist_dsc'.  'bdist_deb' is a SUPERSET of
> 'sdist_dsc'.
I see -- you want to pass-through the options to sdist_dsc. Fine,
implement this in a patch and I'll accept it.

>> For setting environment variables this way, they cannot be separated by
>> a semicolon
> The environment variables are not individually separated by a
> semicolon.  The WHOLE shell script environment variable declaration
> statement needs to be separated from the install line statement.
> Simple demonstration of the problem with the 'echo' statement
> simulating the 'install' statement:
> $ a='123' b='456' echo test $a $b
> test
> $ a='123' b='456'; echo test $a $b
> test 123 456

Passing to a subprocess is different. We're passing to a subprocess:

$ a='123' python -c "import os; print os.environ['a']"
$ a='123'; python -c "import os; print os.environ['a']"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib/python2.6/UserDict.py", line 22, in __getitem__
    raise KeyError(key)
KeyError: 'a'

More information about the Distutils-SIG mailing list