Bug #6638
Updated by Brett Smith over 9 years ago
h2. Original bug report If installing on a bare bones debian or ubuntu machine, the python-arvados-python-client package does not bring in the dependency for libcurl-gnutls.so.4, which is provided by libcurl3-gnutls. I have confirmed this is an issue for both debian:wheezy and ubuntu:precise (using the base docker images for each). h2. The root problem The Python package backports we build don't declare their C dependencies. We should fix this problem by declaring those dependencies there: * These dependencies vary by distro: CentOS builds PyCURL against NSS rather than GnuTLS * The package will integrate better with the rest of the surrounding system * Users will still get the desired behavior that necessary dependencies are pulled in automatically by the package manager Known dependencies to declare: * PyCURL likely depends on libcurl and an SSL library (GnuTLS for Debian, NSS for Red Hat) * llfuse depends on FUSE libraries and libxattr. * Any others? Build our packages in a new virtualenv and watch what C extensions get built during the process. ** PyYAML builds C, but it's not an installation dependency. It's only needed to run tests. This is going to be non-trivial because right now the package builder builds these packages in a big for loop, with no variation, so that variation will concept is going to have to be added. Likely the simplest way to do that would be to add a case statement inside the loop that creates an array of additional fpm arguments based on the package's name, then passes those arguments when it calls @fpm_build@.