Project

General

Profile

Actions

Bug #6638

closed

[Deployment] Python package backports should declare their C dependencies

Added by Joshua Randall almost 9 years ago. Updated over 8 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
Deployment
Target version:
Story points:
1.0

Description

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).

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 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.


Subtasks 4 (0 open4 closed)

Task #7052: Review 6638-python-backport-dependencies-wipResolvedPeter Amstutz07/15/2015Actions
Task #6911: Update build scripts to add distro-specific dependencies for backported packagesResolvedTom Clegg07/15/2015Actions
Task #6949: Review 6638-backport-deps (arvados + arvados-dev)ResolvedPeter Amstutz07/15/2015Actions
Task #6912: Determine dependencies for various distrosResolvedBrett Smith07/15/2015Actions

Related issues

Related to Arvados - Bug #6934: [Authentication] Write tests for pam module and shellinabox configResolvedTom Clegg08/07/2015Actions
Copied to Arvados - Bug #7184: [Deployment] Test distribution packagesNewActions
Actions

Also available in: Atom PDF