Project

General

Profile

Actions

Support #20875

open

Deprecate OS packages for client tools

Added by Peter Amstutz 9 months ago. Updated 8 months ago.

Status:
Feedback
Priority:
Normal
Assigned To:
Category:
Documentation
Target version:
Due date:
Story points:
-

Description

Make a note in upgrading notes that OS packages for client tools (described in #20838) will be discontinued in favor of PyPi / Rubygems / binary distribution (for Go tools) only.


Subtasks 1 (1 open0 closed)

Task #20879: ReviewNewBrett SmithActions

Related issues

Related to Arvados - Support #20893: Investigate using PyInstaller to build self-contained packagesNewActions
Blocks Arvados - Support #20838: Discontinue OS packages of client tools in favor of pypi/rubygems onlyNewActions
Actions #1

Updated by Peter Amstutz 9 months ago

  • Subject changed from Deprecate OS packages for client tools to Deprecate OS packages of client tools in favor of pypi/rubygems only
Actions #2

Updated by Peter Amstutz 9 months ago

  • Blocks Support #20838: Discontinue OS packages of client tools in favor of pypi/rubygems only added
Actions #3

Updated by Peter Amstutz 9 months ago

  • Description updated (diff)
  • Subject changed from Deprecate OS packages of client tools in favor of pypi/rubygems only to Deprecate OS packages for client tools
  • Tracker changed from Idea to Support
Actions #4

Updated by Peter Amstutz 8 months ago

  • Status changed from New to In Progress

Brett: we should see if binary wheels exist for pyCURL and llfuse that are statically linked and can run without needed the user to install OS packages like libcurl and libfuse.

Actions #5

Updated by Brett Smith 8 months ago

Peter Amstutz wrote in #note-4:

Brett: we should see if binary wheels exist for pyCURL and llfuse that are statically linked and can run without needed the user to install OS packages like libcurl and libfuse.

As far as I can tell neither project publishes prebuilt wheels, at least for Debian 11. Testing process:


$ podman pull docker.io/library/debian:11-slim
$ podman run -ti debian:11-slim
# apt-get install python3-pip python3-venv
# python3 -m venv /opt/arvados
# /opt/arvados/bin/pip install wheel
# /opt/arvados/bin/pip install 'arvados_fuse==2.6.3'
(after that failed:)
# /opt/arvados/bin/pip install 'arvados-python-client==2.6.3'

In both cases pip ended up downloading source for various versions, and they both failed looking for curl-config and pkg-config respectively.

Actions #6

Updated by Peter Amstutz 8 months ago

Instead of completely deprecating and removing OS packages, maybe what we should do is have a Python version support policy and if an OS doesn't provide a new enough Python, we just don't publish Python packages. In which case the only code change we need to make is to be able to ignore building and publishing Python packages for specific distros.

Actions #7

Updated by Peter Amstutz 8 months ago

  • Related to Support #20893: Investigate using PyInstaller to build self-contained packages added
Actions #8

Updated by Peter Amstutz 8 months ago

Tom had a great idea, we could use PyInstaller to make self-contained packages for OS versions where the native Python is too old, see #20893

Actions #9

Updated by Peter Amstutz 8 months ago

  • Target version changed from Development 2023-08-30 to Future
  • Status changed from In Progress to Feedback
Actions

Also available in: Atom PDF