Processed: Re: Bug#383958: lintian: python-script-but-no-python-dep error with python-support

2006-08-21 Thread Debian Bug Tracking System
Processing commands for [EMAIL PROTECTED]:

 reassign 383958 python-support
Bug#383958: lintian: python-script-but-no-python-dep error with python-support
Bug reassigned from package `lintian' to `python-support'.

 thanks
Stopping processing here.

Please contact me if you need assistance.

Debian bug tracking system administrator
(administrator, Debian Bugs database)


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#383958: lintian: python-script-but-no-python-dep error with python-support

2006-08-21 Thread Josselin Mouette
reassign 383958 python-support
thanks

Le dimanche 20 août 2006 à 17:30 -0700, Russ Allbery a écrit :
 python-support is a package that, at least according to its long
 description, says that it provides a script that byte-compiles Python
 modules.  Nothing in the description of the package says that it provides
 a Python interpreter.  It happens to do so *now* because of its
 dependencies, but suppose there were some reason down the road why it
 might depend on some specific version of Python that didn't provide the
 /usr/bin/python interpreter or otherwise changes its functionality in some
 way.

You are 100% right. I will change the script to add the python
dependency even when there is a dependency on python-support.
-- 
 .''`.   Josselin Mouette/\./\
: :' :   [EMAIL PROTECTED]
`. `'[EMAIL PROTECTED]
  `-  Debian GNU/Linux -- The power of freedom


signature.asc
Description: Ceci est une partie de message	numériquement signée


Bug#383958: lintian: python-script-but-no-python-dep error with python-support

2006-08-20 Thread Cameron Dale
Package: lintian
Version: 1.23.22
Severity: wishlist


Lintian generates python-script-but-no-python-dep errors for 
binary packages depending on python-support (which depends on
python). These dependencies are sufficient and are generated
automatically by the dh_pysupport debhelper script.

I asked on debian-python and they said this was a bug in
lintian and not in python-support:

http://lists.debian.org/debian-python/2006/08/msg00098.html

Thanks,
Cameron Dale

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (990, 'unstable')
Architecture: amd64 (x86_64)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.17-1-amd64-k8
Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8)

Versions of packages lintian depends on:
ii  binutils 2.17-1  The GNU assembler, linker and bina
ii  diffstat 1.42-1  produces graph of changes introduc
ii  dpkg-dev 1.13.22 package building tools for Debian
ii  file 4.17-2  Determines file type using magic
ii  gettext  0.14.6-1GNU Internationalization utilities
ii  intltool-debian  0.35.0+20060710 Help i18n of RFC822 compliant conf
ii  libparse-debianchangelog 1.0-1   parse Debian changelogs and output
ii  man-db   2.4.3-3 The on-line manual pager
ii  perl [libdigest-md5-perl 5.8.8-6 Larry Wall's Practical Extraction 

lintian recommends no packages.

-- no debconf information


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#383958: lintian: python-script-but-no-python-dep error with python-support

2006-08-20 Thread Russ Allbery
Cameron Dale [EMAIL PROTECTED] writes:

 Package: lintian
 Version: 1.23.22
 Severity: wishlist

 Lintian generates python-script-but-no-python-dep errors for 
 binary packages depending on python-support (which depends on
 python). These dependencies are sufficient and are generated
 automatically by the dh_pysupport debhelper script.

 I asked on debian-python and they said this was a bug in
 lintian and not in python-support:

 http://lists.debian.org/debian-python/2006/08/msg00098.html

I don't think I agree with this.

python-support is a package that, at least according to its long
description, says that it provides a script that byte-compiles Python
modules.  Nothing in the description of the package says that it provides
a Python interpreter.  It happens to do so *now* because of its
dependencies, but suppose there were some reason down the road why it
might depend on some specific version of Python that didn't provide the
/usr/bin/python interpreter or otherwise changes its functionality in some
way.

Please don't rely on transitive dependencies.  It's just a lurking bug
waiting to happen.  Your package contains a Python script which requires a
Python interpreter.  It should therefore depend on the package that
provides the Python interpreter.  Unless python-support is defined to
provide a Python interpreter, it's not the correct package to depend on
for that purpose.

In general, for every interface, system service, or binary that your
package uses, you should depend directly on the package that provides that
interface, system service, or binary unless that package is essential, and
not assume that some other dependency will provide it for you.  Time and
again, transitions in Debian have proven that such assumptions break over
time and suddenly make packages RC-buggy.  Yes, sometimes it's very
unlikely that such a transition will happen, but I think it's better as a
general rule to be sure.

If it's really the intention that python-support will always provide a
Python interpreter, that should be added to its long description so that
there's documentation that this is an invariant and a promise that won't
be changed later.

-- 
Russ Allbery ([EMAIL PROTECTED])   http://www.eyrie.org/~eagle/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#383958: lintian: python-script-but-no-python-dep error with python-support

2006-08-20 Thread Adeodato Simó
* Russ Allbery [Sun, 20 Aug 2006 17:30:39 -0700]:

 Please don't rely on transitive dependencies.  It's just a lurking bug
 waiting to happen.  Your package contains a Python script which requires a
 Python interpreter.  It should therefore depend on the package that
 provides the Python interpreter.  Unless python-support is defined to
 provide a Python interpreter, it's not the correct package to depend on
 for that purpose.

 In general, for every interface, system service, or binary that your
 package uses, you should depend directly on the package that provides that
 interface, system service, or binary unless that package is essential, and
 not assume that some other dependency will provide it for you.  Time and
 again, transitions in Debian have proven that such assumptions break over
 time and suddenly make packages RC-buggy.  Yes, sometimes it's very
 unlikely that such a transition will happen, but I think it's better as a
 general rule to be sure.

JFTR, the bug is solely in python-support, and not in the package
lacking the dependency: although not advertised in the description
(which is user-oriented), python-support also takes care at build time
of generating a list of needed dependencies and placing it in the
${python:Depends} substvar.

With this, it's reasonable to expect for it to provide a correct list of
such dependencies, which should include python for packages shiping
scripts invoking /usr/bin/python.

Thanks,

-- 
Adeodato Simó dato at net.com.org.es
Debian Developer  adeodato at debian.org
 
 Listening to: Mirafiori - Cinco minutos



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#383958: lintian: python-script-but-no-python-dep error with python-support

2006-08-20 Thread Russ Allbery
Pierre Habouzit [EMAIL PROTECTED] writes:
 Le lun 21 août 2006 02:30, Russ Allbery a écrit :

 If it's really the intention that python-support will always provide
 a Python interpreter, that should be added to its long description so
 that there's documentation that this is an invariant and a promise
 that won't be changed later.

 python-support is written in python (same is true for python-central) 
 and will *always* depend upon 'python'

Please see the rest of the message that I just wrote.  Your response
doesn't address my concerns.

-- 
Russ Allbery ([EMAIL PROTECTED])   http://www.eyrie.org/~eagle/



Bug#383958: lintian: python-script-but-no-python-dep error with python-support

2006-08-20 Thread Russ Allbery
Pierre Habouzit [EMAIL PROTECTED] writes:

 python-support is written in python (same is true for python-central) 
 and will *always* depend upon 'python'

Maybe some examples to illustrate will help.  It may not be entirely clear
why the above statement doesn't actually resolve the problem.

Suppose that, due to some changes to how byte-compiling is done for Python
3.0, it's necessary to write the script in python-support to require
Python 3.0.  It therefore might depend on python3.0 instead of python, and
hence wouldn't cause a /usr/bin/python to be installed.

Suppose that with Python 4.0, the python-support script, still written in
Python, makes sense to distribute as an executable compiled to native code
and therefore depending on Python libraries but not needing an interpreter
at all.

You can decide that installing python-support is a way to get a
/usr/bin/python interpreter, but there's no inherent reason why this
should be the case.  Furthermore, I don't think that's actually the right
approach.  It adds complexity to dependency analysis without really
gaining anything.

Let me turn this around:  what advantage is there to the current approach?
Why would you ever want a package containing a Python script to depend on
python-support and *not* python?  Is this just saving eight bytes in the
Depends field, and if so, is that really worth it for, say, not being able
to locate all packages that depend on Python by simply looking for
packages that depend on Python (rather than having to also factor in
packages that use transitive dependencies)?

-- 
Russ Allbery ([EMAIL PROTECTED])   http://www.eyrie.org/~eagle/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#383958: lintian: python-script-but-no-python-dep error with python-support

2006-08-20 Thread Pierre Habouzit
Le lun 21 août 2006 03:53, Russ Allbery a écrit :
 Pierre Habouzit [EMAIL PROTECTED] writes:
  python-support is written in python (same is true for
  python-central) and will *always* depend upon 'python'

 Maybe some examples to illustrate will help.  It may not be entirely
 clear why the above statement doesn't actually resolve the problem.

 [snip]

 Let me turn this around:  what advantage is there to the current
 approach? Why would you ever want a package containing a Python
 script to depend on python-support and *not* python?  Is this just
 saving eight bytes in the Depends field, and if so, is that really
 worth it for, say, not being able to locate all packages that depend
 on Python by simply looking for packages that depend on Python
 (rather than having to also factor in packages that use transitive
 dependencies)?

that's indeed a fair question, maybe python-support should not be too 
clever and let 'python' be explicitely listed, even if it's *currently* 
not needed.

Also note that if versionned depends are needed (like a python (= X.Y)) 
it is obviously added, so that problem hits only arch:all packages 
that do not need a specific python version...

Maybe Joss will have more insight about that.
-- 
·O·  Pierre Habouzit
··O[EMAIL PROTECTED]
OOOhttp://www.madism.org


pgpWW3ojXFls1.pgp
Description: PGP signature