That's exactly the piece of information I needed! :-)

The control file created by setdeb (stdeb_run_setup, to be precise) looks like this (some lines will get wrapped):

Source: <my package name>
Maintainer: <my name> <my email address>
Section: python
Priority: optional
Build-Depends: python-setuptools (>= 0.6b3-1), python-all-dev (>= 2.3.5-11), debhelper (>= 5.0.38), python-central (>= 0.5.6)
Standards-Version: 3.7.2
XS-Python-Version: all

Package: python-<my package name>
Architecture: all
Depends: ${python:Depends}
Recommends:
Suggests:
XB-Python-Version: ${python:Versions}
Provides: ${python:Provides}
Description: <my description>

So apparently, stdeb adds setuptools by itself already, but it does not add the dependency packages I specified in setup.py.

When I now append python-psycopg2 (>= 2.0.6-3) to the Depends: copy the .deb file to the virtual machine and run sudo dpkg -i python-<my package name>-all.deb, I get the following output:

Selecting previously deselected package python-<my package name>.
(Reading database ... 17508 files and directories currently installed.)
Unpacking python-<my package name> (from python-<my package name>_0.0.1-4927-1_all.deb) ...
dpkg: dependency problems prevent configuration of python-inro-marvin-setup:
 python-<my package name> depends on python-psycopg2 (>= 2.0.6-3); however:
  Package python-psycopg2 is not installed.
dpkg: error processing python-<my package name> (--install):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 python-<my package name>


My conclusions:

1. I must use a 'higher-level' tool than dpkg to install the package which automatically resolves and installs dependency packages. There has got to be a way to use apt-get for .deb files which do not reside (yet) in a repository.

2. stdeb does not seem to 'transform' dependencies specified in setup.py into dependencies in its output files. There seems to be a mailing list for stedb at http://mail.python.org/mailman/listinfo/distutils-sig. I'll try there.

Thanks for your help!

Cheers,

Steve


Stephane Bulot schrieb:
I'm not familiar with stdeb, but dpkg-buildpackage needs a file called "control". This is this file that will be used to generate deb archive with the good dependancies. Into this file, there are two fields, Build-Depends and Depends, that give to dpkg-buildpackage what are the package dependancies. Check this "control" file content, you should have psycopg2 and setuptools (if it is really a dependancy) in the Depends field. If it not the case, do it manually. Do not forget to check and notify the version of this dependancies.
Regards.
Stephane

2008/11/21 Steven Samuel Cole <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>

    Hey Paul

    thanks for your reply! :-)

    2008/11/21 Paul Boddie <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>:
     > Are you saying that psycopg2 needs setuptools for the setup.py script
     > to work? This isn't generally the case (or wasn't), but maybe the
     > "entry point" is a setuptools thing which would then demand that
     > software's presence.

    Not exactly. My package requires psycopg2 to run and (from what it
    looks like to me) setuptools must be available in order to use its
    installation mechanism (setup.py, entry points, etc.)

     > How does stdeb know which package provides psycopg2? I'm not really
     > familiar with stdeb - I write my own packaging files - but might
    it be
     > the case that you need to specify python-psycopg2 instead?

    I tried python-psycopg2, but that caused a ValueError in stdeb about a
    'parenthesized list' -psycopg2.
    By trial & error I found out that I seem to have to use the package
    name without the python- bit, because then stdeb does run without
    error.

    If the name was really the issue, I would at least expect stdeb to
    report an error about an unknown package or so...

    Cheers,

    Stefan

    2008/11/21 Steven Samuel Cole <[EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>>:
     > Hey Paul
     >
     > thanks for your reply! :-)
     >
     > 2008/11/21 Paul Boddie <[EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>>:
     >> Are you saying that psycopg2 needs setuptools for the setup.py
    script
     >> to work? This isn't generally the case (or wasn't), but maybe the
     >> "entry point" is a setuptools thing which would then demand that
     >> software's presence.
     >
     > Not exactly. My package requires psycopg2 to run and (from what it
     > looks like to me) setuptools must be available in order to use its
     > installation mechanism (setup.py, entry points, etc.)
     >
     >> How does stdeb know which package provides psycopg2? I'm not really
     >> familiar with stdeb - I write my own packaging files - but might
    it be
     >> the case that you need to specify python-psycopg2 instead?
     >
     > I tried python-psycopg2, but that caused a ValueError in stdeb
    about a
     > 'parenthesized list' -psycopg2.
     > By trial & error I found out that I seem to have to use the package
     > name without the python- bit, because then stdeb does run without
     > error.
     >
     > If the name was really the issue, I would at least expect stdeb to
     > report an error about an unknown package or so...
     >
     > Cheers,
     >
     > Stefan
     >
    --
    http://mail.python.org/mailman/listinfo/python-list



--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to