Questions about build infrastructure

Hi @tstellar @tobiashieta
Few questions on release infrastructure.

I see that release assets are posted at Release LLVM 16.0.6 · llvm/llvm-project · GitHub.
Further I note that, binaries are mostly packaged in tarballs e.g. I see clang+llvm-16.0.6-aarch64-linux-gnu.tar.xz

My questions:

  1. How are these tarballs produced? Is there a common infrastructure maintained by the foundation to produce these assets or they come from individual back end owner?
  2. What are the minimum platform requirements need to be met before using pre-compiled binaries in tar balls? For example, in case of AArch64, can I expect my binary to work ANY linux based aarch64 system - e.g can I expect it to work on aarch64 + Ubuntu 20.04?
  3. Is this the page I should be looking at if I want to build my own debian packages?

Hi!

  1. The release testers create them.
  2. No, it will be different for each binary, and there are no strict rules on what the release testers should upload or keep to. You might want to reach out to the release tester in question to see if they can specify that in that case. See the release tester category in the forums to see who uploads what.
  3. I don’t know about debian packages, they are maintained by @sylvestre and he probably knows the best. Most other releases are created with the llvm/utils/release/test-release.sh script.

Thanks,
Tobias

Thanks @tobiashieta .

@sylvestre Can you please throw some light?

Sure but not sure what is the question :slight_smile:

If you want to build the deb packages

dget -x url-to-.dsc
cd llvm-* 
dpkg-buildpackage

should do it

(note that old debian / ubuntu requires some backports)

  1. Is this the page I should be looking at if I want to build my own debian packages?

This is the question. Or in short, how are apt.llvm .deb packages built?

More or less but as it is a complex piece of infrastructure, more precise questions would help. The code can be seen here :

And apt.llvm.org - moving from physical server to the cloud - The LLVM Project Blog

Thanks that helps.