llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
28.83k stars 11.91k forks source link

Provide a focal-13 alias to focal #49341

Open 54aefcd4-c07d-4252-8441-723563c8826f opened 3 years ago

54aefcd4-c07d-4252-8441-723563c8826f commented 3 years ago
Bugzilla Link 49997
Version unspecified
OS Linux
CC @sylvestre

Extended Description

For context, right now, the deb packages provided for the different Linux distributions, e.g., for focal, are at:

deb http://apt.llvm.org/focal/ llvm-toolchain-focal main
deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal main

deb http://apt.llvm.org/focal/ llvm-toolchain-focal-11 main
deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-11 main

deb http://apt.llvm.org/focal/ llvm-toolchain-focal-12 main
deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-12 main

In particular, the packages of the "trunk" version are at "llvm-toolchain-focal" while the packages of a released version are at "llvm-toolchain-focal-{release}".

Tools that automatically install LLVM for users, like the HPC Container Maker - a tool for building HPC containers - need to be aware of what the latest trunk version number is:

Right now, these tools break for the last released version and trunk every 6 months when the information about the current trunk version becomes outdated every new release.

This requires patching these tools every six months, and while the patch lands, users must regress 1 version, e.g., currently, to using LLVM 11 since 12 and 13 (trunk) do not work anymore.

It would be super super helpful for these tools if we could provide an alias for trunk that contains the version number. That is, to provide:

deb http://apt.llvm.org/focal/ llvm-toolchain-focal main
deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal main

deb http://apt.llvm.org/focal/ llvm-toolchain-focal-11 main
deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-11 main

deb http://apt.llvm.org/focal/ llvm-toolchain-focal-12 main
deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-12 main

deb http://apt.llvm.org/focal/ llvm-toolchain-focal-13 main
deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-13 main

where "llvm-toolchain-focal-13" (13 is current trunk version) is just an alias for "llvm-toolchain-focal".

That would allow users of these tools to pick 13 if they want to use trunk, and once trunk gets promoted to a release, they'll continue using the release.

Users would then need to manually update to 14 in 6 months to continue using trunk, but that's something that they could do with their current HPCCM version.

54aefcd4-c07d-4252-8441-723563c8826f commented 3 years ago

So LLVM 13 and 14 are now broken again on HPCCM because of how the repos are renamed.

Do we have an ETA for improving this?

Otherwise we'll work around this on our end, and will hope that this gets sorted out before LLVM 15 is out.

54aefcd4-c07d-4252-8441-723563c8826f commented 3 years ago

Yes that would be enough. Once we move to LLVM 14 we’ll need to update it to point to -14.

sylvestre commented 3 years ago

Do you think a symlink from llvm-toolchain-focal => llvm-toolchain-focal-13 would be enough?

gonzalobg commented 2 years ago

LLVM 14 and LLVM 15 broke again on HPCCM, I've sent a PR to fix it. https://github.com/NVIDIA/hpc-container-maker/pull/410 Hope we do a patch release right after merging the fix so that all users whose workflow broke due to this issue can update.

It would be really really helpful to fix this before the next release.

@sylvestre if you point me in the right direction (which script must be fixed) I can submit a PR with a fix.

gonzalobg commented 2 months ago

This problem still exists with all versions since.

@joker-eph @ldionne can any of you help point me out to our source code for creating apt-repositories and bundling so that we can add an alias to fix this?

firewave commented 2 months ago

The repo is possibly https://github.com/opencollab/llvm-jenkins.debian.net which is linked at the bottom of http://apt.llvm.org.

ldionne commented 2 months ago

This problem still exists with all versions since.

@joker-eph @ldionne can any of you help point me out to our source code for creating apt-repositories and bundling so that we can add an alias to fix this?

I think this is owned by @sylvestre . Based on https://github.com/llvm/llvm-project/issues/99017#issuecomment-2230981289, I would start looking around https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/-/blob/18/debian/qualify-clang.sh (not that file, but that repo), but I'm not familiar with how this is set up.

Edit: Well nevermind, it looks like @firewave already provided a link and I failed to read their comment properly.

gonzalobg commented 2 months ago

Thank you, I'll take a look!