llvm-toolchain/debian
2023-11-28 10:18:06 +01:00
..
patches * libclang1-18: Only encode the major version in the soname. Closes: #1056126. 2023-11-24 17:49:02 +01:00
source
tests debian/tests/control: update gcc to 10 => 13 2023-09-05 14:38:20 +02:00
bolt-X.Y.install.in llvm-bat-dump is no longer installed 2023-06-02 07:55:04 +02:00
changelog Remove __tgt_rtl_deinit_plugin & __tgt_rtl_deinit_device symbols from openmp https://github.com/llvm/llvm-project/pull/73557 2023-11-28 10:18:06 +01:00
clang-format-X.Y.install.in
clang-format-X.Y.lintian-overrides.in adjust the lintian format 2023-01-15 09:46:54 +01:00
clang-format-X.Y.manpages.in
clang-tidy-X.Y.install.in
clang-tidy-X.Y.links.in
clang-tidy-X.Y.lintian-overrides.in adjust the lintian format 2023-01-15 09:46:54 +01:00
clang-tidy-X.Y.manpages.in
clang-tools-X.Y.install.in Add support for loongarch64 2023-10-16 19:55:22 +08:00
clang-tools-X.Y.links.in
clang-tools-X.Y.lintian-overrides.in adjust the lintian format 2023-01-15 09:46:54 +01:00
clang-tools-X.Y.manpages.in
clang-X.Y-doc.docs.in
clang-X.Y-doc.install.in
clang-X.Y-examples.examples.in
clang-X.Y.install.in
clang-X.Y.links.in
clang-X.Y.lintian-overrides.in adjust the lintian format 2023-01-15 09:46:54 +01:00
clang-X.Y.manpages.in
clangd-X.Y.install.in
clangd-X.Y.manpages.in
compat
control Merge remote-tracking branch 'origin/17' into snapshot 2023-11-22 23:46:16 +01:00
control.in Merge remote-tracking branch 'origin/17' into snapshot 2023-11-22 23:46:16 +01:00
copyright
debian_path.h
flang-X.Y.install.in flang has been renamed to flang-to-external-fc 2023-01-03 00:27:59 +01:00
libbolt-X.Y-dev.install.in
libc++1-X.Y.install.in
libc++1-X.Y.links.in
libc++1-X.Y.lintian-overrides.in adjust the lintian format 2023-01-15 09:46:54 +01:00
libc++-X.Y-dev-wasm32.install.in fix lintian warnings 2023-01-03 16:45:38 +01:00
libc++-X.Y-dev-wasm32.links.in
libc++-X.Y-dev-wasm32.lintian-overrides.in Merge remote-tracking branch 'origin/14' into 15 2023-01-15 10:54:22 +01:00
libc++-X.Y-dev.install.in
libc++-X.Y-dev.links.in
libc++-X.Y-dev.lintian-overrides.in adjust the lintian format 2023-01-15 09:46:54 +01:00
libc++abi1-X.Y.install.in
libc++abi1-X.Y.links.in
libc++abi1-X.Y.lintian-overrides.in adjust the lintian format 2023-01-15 09:46:54 +01:00
libc++abi-X.Y-dev-wasm32.install.in
libc++abi-X.Y-dev-wasm32.links.in
libc++abi-X.Y-dev-wasm32.lintian-overrides.in adjust the lintian format 2023-01-15 09:46:54 +01:00
libc++abi-X.Y-dev.install.in
libc++abi-X.Y-dev.links.in Add a symlink for libc++experimental.a to /usr/lib/*/libc++experimental.a to fix https://github.com/llvm/llvm-project/issues/72753 2023-11-20 19:35:31 +01:00
libc++abi-X.Y-dev.lintian-overrides.in adjust the lintian format 2023-01-15 09:46:54 +01:00
libclang1-X.Y.install.in fix the clang 16 symlink 2023-07-08 20:46:34 +02:00
libclang1-X.Y.links.in * libclang1-18: Only encode the major version in the soname. Closes: #1056126. 2023-11-24 17:49:02 +01:00
libclang1-X.Y.lintian-overrides.in
libclang1-X.Y.symbols.in * libclang1-18: Only encode the major version in the soname. Closes: #1056126. 2023-11-24 17:49:02 +01:00
libclang-common-X.Y-dev.install.in Install usr/lib/llvm-17/lib/clang/17/include/llvm_libc_wrappers/*.h in libclang-common-X.Y-dev 2023-07-08 16:13:39 +02:00
libclang-common-X.Y-dev.links.in Fix the path /usr/lib/llvm-16/lib/clang/16/ (Closes: #1036623) 2023-06-17 13:30:35 +02:00
libclang-cppX.Y-dev.install.in
libclang-cppX.Y-dev.links.in
libclang-cppX.Y.install.in
libclang-cppX.Y.links.in
libclang-rt-X.Y-dev-wasm32.install.in * Move the compiler-rt content into a new package called 2022-12-24 12:14:20 +01:00
libclang-rt-X.Y-dev-wasm32.lintian-overrides.in * Move the compiler-rt content into a new package called 2022-12-24 12:14:20 +01:00
libclang-rt-X.Y-dev-wasm64.install.in * Move the compiler-rt content into a new package called 2022-12-24 12:14:20 +01:00
libclang-rt-X.Y-dev-wasm64.lintian-overrides.in * Move the compiler-rt content into a new package called 2022-12-24 12:14:20 +01:00
libclang-rt-X.Y-dev.install.in Don't install *clang_rt* on sparc and sparc64 2023-11-25 11:23:40 +01:00
libclang-rt-X.Y-dev.lintian-overrides.in * Move the compiler-rt content into a new package called 2022-12-24 12:14:20 +01:00
libclang-X.Y-dev.install.in
libclang-X.Y-dev.links.in * libclang1-18: Only encode the major version in the soname. Closes: #1056126. 2023-11-24 17:49:02 +01:00
libclc-X.Y-dev.install.in
libclc-X.Y.install.in
libflang-X.Y-dev.install.in also ship libHLFIRTransforms & libHLFIRDialect in libflang 2023-01-15 21:10:27 +01:00
liblld-X.Y-dev.install.in
liblld-X.Y.install.in
liblld-X.Y.links.in
liblldb-X.Y-dev.install.in
liblldb-X.Y-dev.links.in
liblldb-X.Y.install.in
liblldb-X.Y.links.in
liblldb-X.Y.lintian-overrides.in
libllvm-X.Y-ocaml-dev.dirs.in
libllvm-X.Y-ocaml-dev.install.in
libllvm-X.Y-ocaml-dev.lintian-overrides.in
libllvm-X.Y-ocaml-dev.META.in
libllvmX.Y.install.in
libllvmX.Y.links.in
libllvmX.Y.lintian-overrides.in
libmlir-X.Y-dev.install.in
libmlir-X.Y-dev.lintian-overrides.in adjust the lintian format 2023-01-15 09:46:54 +01:00
libmlir-X.Y.install.in
libmlir-X.Y.lintian-overrides.in adjust the lintian format 2023-01-15 09:46:54 +01:00
libomp5-X.Y.install.in Add support for loongarch64 2023-10-16 19:55:22 +08:00
libomp5-X.Y.links.in
libomp5-X.Y.lintian-overrides.in adjust the lintian format 2023-01-15 09:46:54 +01:00
libomp5-X.Y.symbols.in Remove __tgt_rtl_deinit_plugin & __tgt_rtl_deinit_device symbols from openmp https://github.com/llvm/llvm-project/pull/73557 2023-11-28 10:18:06 +01:00
libomp-X.Y-dev.install.in Add support for loongarch64 2023-10-16 19:55:22 +08:00
libomp-X.Y-dev.links.in
libomp-X.Y-doc.docs.in
libomp-X.Y.links.in
libpolly-X.Y-dev.install.in Move libPolly in libpolly-X.Y-dev for real 2023-01-01 12:10:14 +01:00
libpolly-X.Y-dev.lintian-overrides.in Move libPolly in libpolly-X.Y-dev for real 2023-01-01 12:10:14 +01:00
libunwind-X.Y-dev.install.in
libunwind-X.Y-dev.links.in
libunwind-X.Y-dev.lintian-overrides.in adjust the lintian format 2023-01-15 09:46:54 +01:00
libunwind-X.Y.install.in
libunwind-X.Y.links.in
libunwind-X.Y.lintian-overrides.in adjust the lintian format 2023-01-15 09:46:54 +01:00
lld-X.Y.install.in
lld-X.Y.manpages.in
lldb-X.Y.install.in Rename lldb-vscode => lldb-dap 2023-10-20 15:38:39 +02:00
lldb-X.Y.links.in
lldb-X.Y.lintian-overrides.in adjust the lintian format 2023-01-15 09:46:54 +01:00
lldb-X.Y.manpages.in
lldb-X.Y.postinst.in
llvm-compile-lto-elf.sh
llvm-priv-dev.dirs
llvm-X.Y-dev.dirs.in
llvm-X.Y-dev.install.in
llvm-X.Y-dev.links.in
llvm-X.Y-doc.dirs.in
llvm-X.Y-doc.install.in remove old doc files 2023-09-30 11:49:59 +02:00
llvm-X.Y-examples.dirs.in
llvm-X.Y-examples.examples.in
llvm-X.Y-linker-tools.install.in
llvm-X.Y-linker-tools.links.in
llvm-X.Y-runtime.binfmt.conf.in
llvm-X.Y-runtime.binfmt.in
llvm-X.Y-runtime.install.in
llvm-X.Y-runtime.lintian-overrides.in adjust the lintian format 2023-01-15 09:46:54 +01:00
llvm-X.Y-runtime.manpages.in
llvm-X.Y-runtime.postinst.in
llvm-X.Y-runtime.prerm.in
llvm-X.Y-tools.dirs.in
llvm-X.Y-tools.install.in
llvm-X.Y.dirs.in
llvm-X.Y.install.in Disable readtapi install 2023-10-13 11:47:49 +02:00
llvm-X.Y.lintian-overrides.in adjust the lintian format 2023-01-15 09:46:54 +01:00
llvm-X.Y.manpages.in
mlir-X.Y-tools.install.in Ship tblgen-to-irdl as part of mlir-tools 2023-10-27 19:22:06 +02:00
orig-tar.sh repack: remove build/ & build-llvm/ in case it exists 2023-03-18 09:54:56 +01:00
pollycc.in
prepare-new-release.sh prepare the 17 release 2023-07-25 18:25:34 +02:00
python3-clang-X.Y.install.in
python3-lldb-X.Y.install.in
python3-lldb-X.Y.links.in
qualify-clang.sh disable the test on i386 2023-07-11 18:01:29 +02:00
README Update debian/README documentation 2023-10-24 12:38:11 +02:00
README.source
rules * libclang1-18: Only encode the major version in the soname. Closes: #1056126. 2023-11-24 17:49:02 +01:00
TODO
unpack.sh prepare release 2023-07-26 22:27:33 +02:00
watch

Organization of the repository
==============================

The debian package for each LLVM point release is maintained as a git branch.
For example, the 10 release lives at in the "10" branch.

The current snapshot release is maintained in the "snapshot" branch.

The easiest way to get all branches is probably to have one
clone per version:

for f in 14 15 16 17 snapshot; do
    git clone git@salsa.debian.org:pkg-llvm-team/llvm-toolchain.git -b $f $f
done

debian/control is generated from debian/control.in by running:

debian/rules preconfigure


Steps for manually building a snapshot release
==============================================

1) Retrieve the latest snapshot and create original tarballs.

   Run the orig-tar.sh script,

     $ sh snapshot/debian/orig-tar.sh

   which will retrieve the latest version for each LLVM subproject (llvm,
   clang, lldb, etc.) from the main development (upstream github). and repack it
   as a set of tarballs.

2) Unpack the original tarballs and apply quilt debian patches.

   From the branches/ directory run the unpack.sh script,

     $ sh unpack.sh

   which will unpack the source tree inside a new directory such as
   branches/llvm-toolchain-snapshot_3.9~+20191018225217+3b123a2be6d.
   (date+hour+short git hash).
   Depending on the current snapshot version number and git release,
   the directory name will be
   different.

   Quilt patches will then be applied.

3) Build the binary packages using,

     $ fakeroot debian/rules binary

When debugging, successive builds can be recompiled faster by using tools such
as ccache (PATH=/usr/lib/ccache:$PATH fakeroot debian/rules binary).

Retrieving a specific branch or release candidate with orig-tar.sh
==================================================================

When using orig-tar.sh, if you need to retrieve a specific branch, you can pass
the branch name as the first argument. For example, to get the 10 release
branch at
  https://github.com/llvm/llvm-project/branches
you should use,

  $ sh 10/debian/orig-tar.sh release/10.x

To retrieve a specific release candidate, you can pass the branch name as the
first argument, and the tag rc number as the second argument. For example, to
get the 9.0.1 release candidate rc3 at
  https://github.com/llvm/llvm-project/tags
you should use,

  $ sh 10/debian/orig-tar.sh 10.0.1 rc3

For a stable release, the syntax is:

 $ sh 10/debian/orig-tar.sh 10.0.0


Additional maintainer scripts
=============================

The script qualify-clang.sh that is found at the git debian/ directory
should be used to quickly test a newly built package. It runs a short
set of sanity-check tests and regression tests.
It is executed in autopkgtest.

The script releases/snapshot/debian/prepare-new-release.sh is used when
preparing a new point release. It automatically replaces version numbers
in various files of the package.

Making a change to all versions
===============================

Sometimes, we want to make a change on all branches.
In that case, start to make the change from the older
version (example: 8), then, change branch (example: 9) and
$ git merge origin/8
to retrieve the changes


Change in major upstream version
================================
TODO update with the git commands

$ svn copy snapshot VERSION
$ svn commit -m "VERSION branched" VERSION
$ cd VERSION
$ sed -i -e '0,/llvm-toolchain-snapshot/s/llvm-toolchain-snapshot/llvm-toolchain-VERSION/' debian/changelog debian/control
$ svn commit -m "snapshot => VERSION"
$ cd ../snapshot
$ emacs debian/prepare-new-release.sh
# Change the version
$ bash debian/prepare-new-release.sh
$ svn commit -m "new snapshot release"

Now, try build build it.