LLVM PPA: Script source availability

Whisperity whisperity at gmail.com
Mon Feb 21 14:14:33 GMT 2022


Dear Sylvestre,

I understand, but these are almost ten-year-old threads at the moment.
Are we sure the state of the world did not change at all since, and
the arguments there (already contested by others) are still valid?
'llvm-default' or 'llvm-defaults' does not even turn up any packages
at this point (on Ubuntu 18.04 or Debian 10).

For example, someone already mentioned Java there, and indeed (taken
from an Ubuntu 18.04.6 LTS system):

> ╰─ update-alternatives --query java
> Name: java
> Link: /usr/bin/java
> Slaves:
>  java.1.gz /usr/share/man/man1/java.1.gz
> Status: auto
> Best: /usr/lib/jvm/java-11-openjdk-amd64/bin/java
> Value: /usr/lib/jvm/java-11-openjdk-amd64/bin/java
>
> Alternative: /usr/lib/jvm/java-11-openjdk-amd64/bin/java
> Priority: 1111
> Slaves:
>  java.1.gz /usr/lib/jvm/java-11-openjdk-amd64/man/man1/java.1.gz
>
> Alternative: /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
> Priority: 1081
> Slaves:
>  java.1.gz /usr/lib/jvm/java-8-openjdk-amd64/jre/man/man1/java.1.gz

There were a lot of changes from Java 8 to 11 on the command-line
interface which makes the two incompatible. (Although most of those
are not everyday-used flags.)
I would not like to intervene with the packages, by default,
installing the default version and keeping it as the default
alternative. Adding ourselves into the alternatives system would only
allow users and sysadmins to choose the right version for them,
without having to deal with this build system using that environment
variable, manually tinkering with PATH, manually setting up the
symlinks (and then missing a binary they'd need and suddenly it is not
working), etc.
Not every user, and unfortunately not every sysadmin is competent to
using Debian or Ubuntu on the maintainer level, more so not
knowledgeable about the intricacies of LLVM itself.

On a machine that I personally administer, with us using APT.LLVM.ORG
source, I have set up the alternatives manually (after digging out
what package installs what binaries, which is the aforementioned
nontrivial part), so users who are not knowledgeable about system
maintenance but just want to "get stuff done" and compile their
projects while working (this is a lab machine exposed to our
University students, in particular), can do so. (This is a Debian 10
machine.)
(Of course, to adhere to FHS, I have used "/usr/local/bin" instead of
"/usr/bin" for this stuff.)

> ~ $ update-alternatives --query clang
> Name: clang
> Link: /usr/local/bin/clang
> Slaves:
>  asan_symbolize /usr/local/bin/asan_symbolize
>  clang++ /usr/local/bin/clang++
>  clang-cpp /usr/local/bin/clang-cpp
> Status: auto
> Best: /usr/bin/clang-12
> Value: /usr/bin/clang-12
>
> Alternative: /usr/bin/clang-12
> Priority: 12
> Slaves:
>  asan_symbolize /usr/bin/asan_symbolize-12
>  clang++ /usr/bin/clang++-12
>  clang-cpp /usr/bin/clang-cpp-12

As long as the default package would keep installing with a higher
priority (e.g. 10000, while the other packages only use the version
number), nothing would break for existing users.


On Mon, Feb 21, 2022 at 2:55 PM Sylvestre Ledru <sylvestre at mozilla.com> wrote:
>
> resending with a different address
>
>
>
> -------- Message transféré --------
> Sujet : Re: LLVM PPA: Script source availability
> Date : Mon, 21 Feb 2022 14:47:03 +0100
> De : Sylvestre Ledru <sylvestre at debian.org>
> Pour : Whisperity <whisperity at gmail.com>, pkg-llvm-team at lists.alioth.debian.org
>
>
>
> Le 21/02/2022 à 14:34, Whisperity a écrit :
>
> Dear PPA Team,
>
> I would like to ask where the scripts for the Debian packages
> maintained by the Foundation are available for contribution? I was not
> able to find them in the official LLVM mono-repository.
>
>
> They are out of tree.
>
> https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/
>
> and branches to match the versions.
>
> My main contribution idea would be setting up automatic calls to
> `update-alternatives` so installing, e.g. Clang, would register the
> necessary binaries into the alternatives system automatically, so it
> is easy for users to set `clang` to be a specific version -- something
> which is currently missing from the Debian packages, and setting up
> the paths for **all** the binaries is non-trivial automatically from a
> client's point of view.
>
>
> I am sorry I will probably have to reject this contribution.
>
> See
>
> https://bugs.launchpad.net/ubuntu/+source/llvm-3.1/+bug/991493
>
> and this thread:
>
> https://lists.debian.org/debian-devel/2014/06/msg00380.html
>
> Cheers
>
> S
>
>



More information about the Pkg-llvm-team mailing list