Python / Debian package dependencies

Stephane Bulot stephane at bulot.org
Fri Nov 21 17:58:57 EST 2008


Steven,
apt-get uses /etc/apt/sources.list file to know where packages must be
downloaded from. Usually from a http repository. But, you can use a file
destination:
deb file:/path/to/file unstable main contrib non-free

I advise you to read the debian maintainer guide and the apt-get  and
sources.list man.

Regards.
Stephane



2008/11/21 Steven Samuel Cole <steven.samuel.cole at gmail.com>

> 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 <steven.samuel.cole at gmail.com <mailto:
>> steven.samuel.cole at gmail.com>>
>>
>>    Hey Paul
>>
>>    thanks for your reply! :-)
>>
>>    2008/11/21 Paul Boddie <paul at boddie.org.uk <mailto:paul at boddie.org.uk
>> >>:
>>     > 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 <steven.samuel.cole at gmail.com
>>    <mailto:steven.samuel.cole at gmail.com>>:
>>     > Hey Paul
>>     >
>>     > thanks for your reply! :-)
>>     >
>>     > 2008/11/21 Paul Boddie <paul at boddie.org.uk
>>    <mailto:paul at boddie.org.uk>>:
>>     >> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20081121/cc4bf21f/attachment-0001.html>


More information about the Python-list mailing list