Package: pyenv Version: 2.5.4-1 Severity: wishlist X-Debbugs-Cc: invernom...@paranoici.org
Hello, thanks for maintaining pyenv in Debian: it seems to work for me. However, I see that Debian binary package 'pyenv' (the only binary package built from Debian source package 'pyenv') has a long list of (direct and indirect) dependencies, mainly compilers/toolchains and library development packages, needed when running commands like $ pyenv install <something> On the other hand, once you have installed whatever you need in your $PYENV_ROOT (under your home directory), all those dependencies are not used to run commands like "pyenv init" and "pyenv versions", and to make the shims work properly and select the desired version of Python (also depending on the current working directory, possibly configured with "pyenv local"). So consider the following scenario: the '/home' partition is shared among a management host and a number of work hosts (for instance, this happens on many HPC clusters, where the compute nodes mount /home through an appropriate network filesystem, such as NFS or something similar, from the storage node). Users may want to run "pyenv install" and "pyenv local" on the management host, but then may want to use the shims to select the desired Python version on the work hosts. It would be great, if the sysadmin could install Debian binary package 'pyenv' with all the dependencies on the management host, but only install a minimal Debian binary package (without all the dependencies) on the work hosts. I tried to imagine a way to achieve this. I think I found it. Debian source package 'pyenv' could be improved in the following manner. Instead of building a single Debian binary package, Debian source package 'pyenv' could build two distinct Debian binary packages: * 'pyenv-runtime' (almost without dependencies) only shipping the following files /usr/bin/pyenv (a symlink to ../share/pyenv/libexec/pyenv ) /usr/share/pyenv/libexec/pyenv /usr/share/pyenv/libexec/pyenv-init /usr/share/pyenv/libexec/pyenv-commands /usr/share/pyenv/libexec/pyenv-rehash /usr/share/pyenv/libexec/pyenv-versions /usr/share/pyenv/libexec/pyenv-version-name /usr/share/pyenv/libexec/pyenv-version-file /usr/share/pyenv/libexec/pyenv-version-file-read /usr/share/pyenv/libexec/pyenv-hooks /usr/share/pyenv/libexec/pyenv-help /usr/share/pyenv/libexec/pyenv-exec /usr/share/pyenv/libexec/pyenv-shims /usr/share/pyenv/libexec/pyenv-which /usr/share/pyenv/libexec/pyenv-whence /usr/share/pyenv/libexec/pyenv-version-origin /usr/share/pyenv/libexec/pyenv-prefix /usr/share/pyenv/libexec/pyenv-latest * 'pyenv' shipping all the rest and depending on pyenv-runtime and on all the other dependencies This way, the sysadmin could install 'pyenv' on the management host and only 'pyenv-runtime' on the work hosts. Please consider doing this split. It would be very useful in the above-described scenario. Thanks for your time and dedication! -- System Information: Debian Release: trixie/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 6.12.21-amd64 (SMP w/16 CPU threads; PREEMPT) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.utf8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages pyenv depends on: ii build-essential 12.12 ii curl 8.13.0-1 ii expat 2.7.1-1 ii libauthen-sasl-perl 2.1700-1 ii libbz2-dev 1.0.8-6 ii libcgi-pm-perl 4.68-1 ii liberror-perl 0.17030-1 ii libffi-dev 3.4.7-1 ii libio-socket-ssl-perl 2.089-1 ii liblwp-protocol-https-perl 6.14-1 ii liblzma-dev 5.8.1-1 ii libmediawiki-api-perl 0.52-2 ii libncurses-dev 6.5+20250216-2 ii libreadline-dev 8.2-6 ii libsqlite3-dev 3.46.1-3 ii libssl-dev 3.5.0-1 ii libterm-readkey-perl 2.38-2+b4 ii libwww-perl 6.78-1 ii libxml2-dev 2.12.7+dfsg+really2.9.14-0.4 ii libxmlsec1-dev 1.2.41-1+b1 ii llvm 1:19.0-63 ii make 4.4.1-2 ii pcre2-utils 10.45-1 ii python3 3.13.2-2 ii tk-dev 8.6.16 ii wget 1.25.0-2 ii xz-utils 5.8.1-1 ii zlib1g-dev 1:1.3.dfsg+really1.3.1-1+b1 pyenv recommends no packages. Versions of packages pyenv suggests: ii git 1:2.47.2-0.1 pn libsecret-1-dev <none> pn python3-openssl <none> ii python3-requests 2.32.3+dfsg-5 pn python3-tk-dbg <none> -- no debconf information