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