llvm-toolchain/debian
2023-06-29 16:12:48 +02:00
..
patches Revert "Adjust LIBCXXABI_ARM_EHABI => _LIBCXXABI_ARM_EHABI Issue: https://github.com/llvm/llvm-project/issues/59240" 2023-06-27 10:14:24 +02:00
source also ignore llvm/unittests missing source 2022-10-27 11:11:12 +02:00
tests snapshot is now 16 2022-07-27 09:03:59 +02:00
bolt-X.Y.install.in Install llvm-bat-dump in bolt-X.Y 2022-10-14 08:28:42 +02:00
changelog lldb-16: lldb no longer depend on llvm-dev (Closes: #1039490) 2023-06-29 16:12:48 +02: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 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 ASAN symbolize on riscv64 2023-03-27 08:56:48 +02: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
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 * Update to compat 11. 2021-10-20 23:12:13 +02:00
control lldb-16: lldb no longer depend on llvm-dev (Closes: #1039490) 2023-06-29 16:12:30 +02:00
control.in lldb-16: lldb no longer depend on llvm-dev (Closes: #1039490) 2023-06-29 16:12:30 +02: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
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 fix the libc++-14-dev install path too 2021-10-15 08:21:21 +02:00
libc++-X.Y-dev.links.in Fix some hardcoded paths (Closes: #1020847) 2022-10-07 16:18:46 +02: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 Revert "Fix the libc++/libc++abi symlink issues after their moves in the triple directory" 2021-10-15 11:37:55 +02: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 GRPC installation due to renamed binaries 2022-05-31 12:38:47 +02:00
libclang1-X.Y.links.in fix the link -- second? 2022-12-18 00:33:50 +01:00
libclang1-X.Y.lintian-overrides.in
libclang1-X.Y.symbols.in Refresh the list of symbol of libclang1-16 2023-06-18 09:00:57 +02:00
libclang-common-X.Y-dev.install.in Create a libpolly-X.Y-dev package 2022-12-28 13:20:23 +01: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 fix merge 2023-06-03 23:10:21 +02: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 fix symlink 2022-12-16 17:18:47 +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
liblldb-X.Y-dev.install.in
liblldb-X.Y-dev.links.in
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
liblldb-X.Y.lintian-overrides.in
libllvm-X.Y-ocaml-dev.dirs.in
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
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 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 Don't build omptarget on armhf either 2023-01-30 10:09:45 +01: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 Add symbols files for libomptarget.rtl* and libomptarget.so 2023-06-18 09:23:52 +02:00
libomp-X.Y-dev.install.in [ Matthias Klose <doko@ubuntu.com> ] 2023-03-21 10:17:37 +01: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 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
lldb-X.Y.install.in Bring back lldb-instr-14 as upstream is bringing it back 2022-01-21 09:15:37 +01: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 add more checks in the script 2022-10-11 11:22:31 +02:00
llvm-priv-dev.dirs
llvm-X.Y-dev.dirs.in
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
llvm-X.Y-doc.install.in
llvm-X.Y-examples.dirs.in
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-examples.links.in
llvm-X.Y-linker-tools.install.in Add new llvm-11-linker-tools 2021-09-27 15:37:55 +02: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
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
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
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
llvm-X.Y.install.in Install llvm-debuginfo-analyzer in llvm-X.Y 2022-10-18 22:06:46 +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 Fix snapshots build - Install new binary tblgen-lsp-server into mlir-15-tools 2022-05-18 22:48:19 +03: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 new release: update of the versions 2022-07-27 09:00:33 +02:00
python3-clang-X.Y.install.in
python3-lldb-X.Y.install.in
python3-lldb-X.Y.links.in
qualify-clang.sh Adapt test when llvm is built without Z3 support (error message changed) 2023-04-13 10:12:55 +02:00
README transform debian/control into debian/control.in 2022-12-10 16:45:18 +01:00
README.source Document some recent changes 2021-11-11 22:48:55 +01:00
rules Fixup merge 2023-06-27 10:16:45 +02:00
TODO
unpack.sh fix the unpack script 2023-02-14 09:53:46 +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 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:

ebian/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.