Project

General

Profile

Bug #6638

Updated by Brett Smith over 8 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@.

Back