llvm-toolchain/debian
2024-03-02 18:40:11 +01:00
..
patches rebase of the patch 2024-03-02 11:48:36 +01:00
source also ignore llvm/unittests missing source 2022-10-27 11:11:12 +02:00
tests Fix tests by adding a .1 to clang and llvm versions 2024-02-07 16:06:08 +01:00
bolt-X.Y.install.in llvm-bat-dump is no longer installed 2023-06-02 07:55:04 +02:00
changelog Ship libc++-18-dev /usr/lib/llvm-18/lib/libc++.modules.json /usr/lib/llvm-18/include/c++/v1/std.compat.cppm 2024-03-02 18:40:11 +01:00
clang-format-X.Y.install.in * Cmake migration. Done by Andrew Wilkins. Many thanks to him 2016-02-08 12:49:57 +00:00
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 Add manpages for git-clang-format & run-clang-tidy 2021-12-08 14:29:32 +01:00
clang-tidy-X.Y.install.in fix the run-clang-tidy path 2021-02-28 14:57:54 +01:00
clang-tidy-X.Y.links.in Fix run-clang-tidy symlink. it moved from /usr/lib/llvm-13/share/clang/run-clang-tidy to /usr/lib/llvm-13/bin/run-clang-tidy (Closes: #1001748) 2021-12-30 20:33:47 +01:00
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 Add manpages for git-clang-format & run-clang-tidy 2021-12-08 14:29:32 +01:00
clang-tools-X.Y.install.in Install clang-installapi as part of clang-tools 2024-02-22 12:25:53 +01:00
clang-tools-X.Y.links.in fix path with 16 instead of 16.0.0 as version 2022-11-11 01:06:31 +01:00
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 remove clang-nvlink-wrapper manpage 2022-08-27 22:23:17 +02:00
clang-X.Y-doc.docs.in Adjust the paths with the move to git project 2019-10-20 11:24:40 +02:00
clang-X.Y-doc.install.in install more files in the clang doc package 2019-08-13 17:52:57 +02:00
clang-X.Y-examples.examples.in Manage all files using .in mecanism. It will simplify the upgrade of 2014-07-28 11:34:35 +00:00
clang-X.Y.install.in Make CMake find_package(Clang) work. Fixes upstream bug https://bugs.llvm.org/show_bug.cgi?id=37128 2018-05-08 12:27:10 +02:00
clang-X.Y.links.in Fix the install of clang bash completion 2018-10-10 15:06:08 +02:00
clang-X.Y.lintian-overrides.in adjust the lintian format 2023-01-15 09:46:54 +01:00
clang-X.Y.manpages.in Create clang-tools-4.0 and move the various clang tools into it 2017-11-20 11:07:53 +00:00
clangd-X.Y.install.in Ship clangd-8 as a new package (Closes: #932432) 2019-07-31 22:38:49 +02:00
clangd-X.Y.manpages.in Ship clangd-8 as a new package (Closes: #932432) 2019-07-31 22:38:49 +02:00
compat * Update to compat 11. 2021-10-20 23:12:13 +02:00
control Add code to hack time64 in 32bit builds, and try to disable stack protector on mips64el 2024-03-02 18:39:04 +01:00
control.in Add code to hack time64 in 32bit builds, and try to disable stack protector on mips64el 2024-03-02 18:39:04 +01:00
copyright Add debian/* to the copyright file. Uses the same license as LLVM 2020-09-02 13:55:52 +02:00
debian_path.h Remove old stuff 2013-12-02 17:04:04 +00:00
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 consistencies in the path 2022-10-10 19:59:27 +02:00
libc++1-X.Y.install.in also revert the triple path 2021-10-14 23:20:56 +02:00
libc++1-X.Y.links.in Revert "Fix the libc++/libc++abi symlink issues after their moves in the triple directory" 2021-10-15 11:37:55 +02:00
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 Merge with experimental upload 1:14.0.6-10~exp1 2022-12-04 09:13:31 +01:00
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 Ship libc++-18-dev /usr/lib/llvm-18/lib/libc++.modules.json /usr/lib/llvm-18/include/c++/v1/std.compat.cppm 2024-03-02 18:40:11 +01:00
libc++-X.Y-dev.links.in libc++experimental.a is in libc++-17-dev, not libc++abi-17-dev 2023-12-06 10:26:21 +01:00
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 also revert the triple path 2021-10-14 23:20:56 +02:00
libc++abi1-X.Y.links.in Revert "Fix the libc++/libc++abi symlink issues after their moves in the triple directory" 2021-10-15 11:37:55 +02:00
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 Merge with experimental upload 1:14.0.6-10~exp1 2022-12-04 09:13:31 +01:00
libc++abi-X.Y-dev-wasm32.links.in Merge with experimental upload 1:14.0.6-10~exp1 2022-12-04 09:13:31 +01:00
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 also revert the triple path 2021-10-14 23:20:56 +02:00
libc++abi-X.Y-dev.links.in libc++experimental.a is in libc++-17-dev, not libc++abi-17-dev 2023-12-06 10:26:21 +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-17: Remove the full version symlinks. 2023-12-11 22:56:07 +01:00
libclang1-X.Y.lintian-overrides.in fix another override 2019-07-14 20:15:24 +02:00
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 fix links 2020-03-03 08:12:57 +01:00
libclang-cppX.Y-dev.links.in remove a link which would prevent lib to be coinstsallable 2020-03-03 10:01:27 +01:00
libclang-cppX.Y.install.in adjust the filename with the recent naming change 2024-02-21 10:43:08 +01:00
libclang-cppX.Y.links.in Fix the libclang-cpp* packages 2020-03-02 20:31:38 +01:00
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 Install *clang_rt* on sparc and sparc64 2024-02-16 09:54:15 +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 Only install grpc files libclang-X.Y-dev when grpc built 2022-06-03 10:54:53 +02:00
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: be more prescriptive for the install + test script 2021-05-01 16:28:55 +02:00
libclc-X.Y.install.in d/rules: Build libclc .bc files even when .spv files can't be built 2022-10-30 00:42:48 -07:00
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 Install usr/lib/llvm-11/lib/cmake/lld/*.cmake in liblld-11-dev 2020-05-17 09:56:05 +02:00
liblld-X.Y.install.in Remove some old mach lld libraries. Remove upstream in 9e3552523ebd3385487e01e3e7af37b8c0efaf57 liblldReaderWriter.a liblldDriver.a liblldYAML.a liblldCore.a liblldMachOOld.a 2021-12-03 13:18:27 +01:00
liblld-X.Y.links.in Move python2.7 to python3 for clang binaries, Reupload to sid (Closes: #948409) 2020-01-08 12:17:34 +01:00
liblldb-X.Y-dev.install.in * New snapshot release 2019-07-14 00:39:48 +02:00
liblldb-X.Y-dev.links.in Add the missing lldb symlinks (Closes: #872237) 2017-10-01 20:55:23 +00:00
liblldb-X.Y.install.in Revert "Install usr/lib/llvm-14/lib/lua/5.3/lldb.so in liblldb-14" 2021-10-15 20:10:09 +02:00
liblldb-X.Y.links.in Add the missing lldb symlinks (Closes: #872237) 2017-10-01 20:55:23 +00:00
liblldb-X.Y.lintian-overrides.in * Generate manpages for lli, lldb-mi & git-clang-format 2016-08-08 09:06:17 +00:00
libllvm-X.Y-ocaml-dev.dirs.in Manage all files using .in mecanism. It will simplify the upgrade of 2014-07-28 11:34:35 +00:00
libllvm-X.Y-ocaml-dev.install.in prepare upload 2022-01-23 20:51:51 +01:00
libllvm-X.Y-ocaml-dev.lintian-overrides.in Manage all files using .in mecanism. It will simplify the upgrade of 2014-07-28 11:34:35 +00:00
libllvm-X.Y-ocaml-dev.META.in Manage all files using .in mecanism. It will simplify the upgrade of 2014-07-28 11:34:35 +00:00
libllvmlibc-X.Y-dev.install.in Ship libc++-18-dev /usr/lib/llvm-18/lib/libc++.modules.json /usr/lib/llvm-18/include/c++/v1/std.compat.cppm 2024-03-02 18:40:11 +01:00
libllvmX.Y.install.in Also install usr/lib/llvm-19/lib/libLLVM.so.1 and usr/lib/llvm-19/lib/libLLVM.so.19.0 2024-02-22 12:23:00 +01:00
libllvmX.Y.links.in * Cmake migration. Done by Andrew Wilkins. Many thanks to him 2016-02-08 12:49:57 +00:00
libllvmX.Y.lintian-overrides.in Manage all files using .in mecanism. It will simplify the upgrade of 2014-07-28 11:34:35 +00:00
libmlir-X.Y-dev.install.in don't ship usr/lib/llvm-16/lib/libmlir_*.a anymore 2022-10-12 23:34:47 +02:00
libmlir-X.Y-dev.lintian-overrides.in adjust the lintian format 2023-01-15 09:46:54 +01:00
libmlir-X.Y.install.in Build & ship mlir too 2021-12-30 20:41:13 +01:00
libmlir-X.Y.lintian-overrides.in adjust the lintian format 2023-01-15 09:46:54 +01:00
libomp5-X.Y.install.in adjust the filename with the recent naming change 2024-02-21 10:43:08 +01:00
libomp5-X.Y.links.in Revert "OpenMP packages are coinstallable" 2018-09-17 22:14:20 +05:30
libomp5-X.Y.lintian-overrides.in adjust the lintian format 2023-01-15 09:46:54 +01:00
libomp5-X.Y.symbols.in Merge remote-tracking branch 'origin/18' into snapshot 2024-02-09 12:40:23 +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 Bring back usr/lib/@DEB_HOST_MULTIARCH@/{libiomp5.so, libomp5.so} symlink for gcc (Closes: #912641) 2018-11-06 10:49:25 +01:00
libomp-X.Y-doc.docs.in Integrating OpenMP in toolchain 2018-07-10 21:05:15 +00:00
libomp-X.Y.links.in OpenMP integration follow ups 2018-08-07 17:11:41 +00:00
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 Install usr/lib/llvm-16/include/__libunwind_config.h usr/lib/llvm-16/include/libunwind.h usr/lib/llvm-16/include/mach-o/compact_unwind_encoding.h usr/lib/llvm-16/include/unwind.h usr/lib/llvm-16/include/unwind_arm_ehabi.h usr/lib/llvm-16/include/unwind_itanium.h in libunwind-X.Y-dev 2022-10-14 08:25:17 +02:00
libunwind-X.Y-dev.links.in Fix some hardcoded paths (Closes: #1020847) 2022-10-07 16:18:46 +02:00
libunwind-X.Y-dev.lintian-overrides.in adjust the lintian format 2023-01-15 09:46:54 +01:00
libunwind-X.Y.install.in also revert the triple path 2021-10-14 23:20:56 +02:00
libunwind-X.Y.links.in fix the unwind links 2021-10-15 13:47:43 +02:00
libunwind-X.Y.lintian-overrides.in adjust the lintian format 2023-01-15 09:46:54 +01:00
lld-X.Y.install.in also install usr/bin/ld64.lld.darwinnew-12 2020-11-26 20:47:24 +01:00
lld-X.Y.manpages.in fix the declaration typo 2018-02-13 12:21:41 +00:00
lldb-X.Y.install.in Rename lldb-vscode => lldb-dap 2023-10-20 15:38:39 +02:00
lldb-X.Y.links.in Add a symlink to fix lldb-X.Y - for real (Closes: #881993) 2017-12-22 14:16:54 +00:00
lldb-X.Y.lintian-overrides.in adjust the lintian format 2023-01-15 09:46:54 +01:00
lldb-X.Y.manpages.in lldb-mi was removed 2019-08-13 17:47:13 +02:00
lldb-X.Y.postinst.in Manage all files using .in mecanism. It will simplify the upgrade of 2014-07-28 11:34:35 +00:00
llvm-compile-lto-elf.sh add more checks in the script 2022-10-11 11:22:31 +02:00
llvm-priv-dev.dirs Temporary work about a global llvm-toolchain packages 2013-01-10 16:41:04 +00:00
llvm-X.Y-dev.dirs.in Manage all files using .in mecanism. It will simplify the upgrade of 2014-07-28 11:34:35 +00:00
llvm-X.Y-dev.install.in fix the install of lib/cmake/llvm/llvm-driver-template.cpp.in 2022-06-11 19:51:06 +02:00
llvm-X.Y-dev.links.in fix the install of lib/cmake/llvm/llvm-driver-template.cpp.in 2022-06-11 19:51:06 +02:00
llvm-X.Y-doc.dirs.in Manage all files using .in mecanism. It will simplify the upgrade of 2014-07-28 11:34:35 +00:00
llvm-X.Y-doc.install.in remove old doc files 2023-09-30 11:49:59 +02:00
llvm-X.Y-examples.dirs.in Manage all files using .in mecanism. It will simplify the upgrade of 2014-07-28 11:34:35 +00:00
llvm-X.Y-examples.examples.in Install llvm examples in llvm-11-examples (Closes: #969339) 2020-09-29 21:04:35 +02:00
llvm-X.Y-linker-tools.install.in adjust the filename with the recent naming change 2024-02-21 10:43:08 +01:00
llvm-X.Y-linker-tools.links.in * Install bfd plugins in 2021-12-30 20:41:16 +01:00
llvm-X.Y-runtime.binfmt.conf.in Add support for systemd-binfmt 2022-06-05 20:50:24 +02:00
llvm-X.Y-runtime.binfmt.in Manage all files using .in mecanism. It will simplify the upgrade of 2014-07-28 11:34:35 +00:00
llvm-X.Y-runtime.install.in Add support for systemd-binfmt 2022-06-05 20:50:24 +02:00
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 * Generate manpages for lli, lldb-mi & git-clang-format 2016-08-08 09:06:17 +00:00
llvm-X.Y-runtime.postinst.in Use 'command -v' instead of deprecated 'which' 2021-11-10 22:11:03 +01:00
llvm-X.Y-runtime.prerm.in Use 'command -v' instead of deprecated 'which' 2021-11-10 22:11:03 +01:00
llvm-X.Y-tools.dirs.in * Bring back llvm-4.0-tools to life 2016-07-21 07:17:50 +00:00
llvm-X.Y-tools.install.in * Install UnicodeNameMappingGenerator in llvm-X.Y-tools 2022-06-25 21:03:12 +02:00
llvm-X.Y.dirs.in Manage all files using .in mecanism. It will simplify the upgrade of 2014-07-28 11:34:35 +00:00
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 Bring back the llvm manpages (Closes: #995684) Were generated at the wrong place 2021-10-19 18:45:22 +02:00
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 pollycc is now generated (it was containing 3.2 instead of 3.3) 2013-06-14 12:14:36 +00:00
prepare-new-release.sh Prepare-new-release is now updated for llvm-19 2024-02-07 15:07:47 +01:00
python3-clang-X.Y.install.in Move python2.7 to python3 for clang binaries, Reupload to sid (Closes: #948409) 2020-01-08 12:17:34 +01:00
python3-lldb-X.Y.install.in * Fix some paths, upstream moved from site-packages 2019-12-03 14:04:52 +01:00
python3-lldb-X.Y.links.in Fix link for python3-lldb package 2020-01-23 09:18:49 +01:00
qualify-clang.sh Fix tests by adding a .1 to clang and llvm versions 2024-02-07 16:06:08 +01:00
README Update debian/README documentation 2023-10-24 12:38:11 +02:00
README.source Document some recent changes 2021-11-11 22:48:55 +01:00
rules Ship libc++-18-dev /usr/lib/llvm-18/lib/libc++.modules.json /usr/lib/llvm-18/include/c++/v1/std.compat.cppm 2024-03-02 18:40:11 +01:00
TODO update of the todo list 2019-03-26 09:34:02 +01:00
unpack.sh prepare 18 upload 2024-01-24 22:14:23 +01:00
watch Update watch file format version to 4. 2021-10-20 23:08:58 +02:00

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.