llvm-toolchain/debian
Gianfranco Costamagna b11ef87418 From Andreas Beckmann <anbe@debian.org>
clang-9: Drop Recommends: libomp-9-dev which is not co-installable with
 libomp-11-dev (and libomp-dev) for smoother upgrades of libomp-dev from
 buster to bullseye.  (Closes: #990452)
2021-09-27 15:04:12 +02:00
..
patches cherry pick 68d5235cb58f988c71b403334cd9482d663841ab to build with newer version of the kernel 2021-09-25 16:00:47 +02:00
source Move source package lintian overrides to debian/source. 2019-12-08 21:02:50 +01:00
tests bump autopkgtest cmake version (Closes: #994501) Thanks to Timo Röhling for the patch 2021-09-24 12:48:56 +02:00
changelog cherry pick 68d5235cb58f988c71b403334cd9482d663841ab to build with newer version of the kernel 2021-09-25 16:00:47 +02:00
clang-format-X.Y.install.in
clang-format-X.Y.lintian-overrides.in
clang-format-X.Y.manpages.in Bring back the lto (gone with the cmake migration) 2016-08-08 16:53:25 +00:00
clang-tidy-X.Y.install.in
clang-tidy-X.Y.links.in Create symlink to run-clang-tidy-X.Y.py to remove its .py extension (Closes: #892089) 2018-03-28 08:55:54 +02:00
clang-tidy-X.Y.lintian-overrides.in
clang-tidy-X.Y.manpages.in
clang-tools-X.Y.install.in Adjust the paths with the move to git project 2019-10-20 11:24:40 +02:00
clang-tools-X.Y.links.in Create clang-tools-4.0 and move the various clang tools into it 2017-11-20 11:07:53 +00:00
clang-tools-X.Y.lintian-overrides.in Create clang-tools-4.0 and move the various clang tools into it 2017-11-20 11:07:53 +00:00
clang-tools-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
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-examples.examples.in
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 Silent executable-not-elf-or-script usr/lib/llvm-8/share/clang/bash-autocomplete.sh 2019-01-17 10:28:08 +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 Revert "Bump debhelper from old 9 to 12." 2019-12-09 17:30:17 +01:00
control From Andreas Beckmann <anbe@debian.org> 2021-09-27 15:04:12 +02:00
copyright add a missing copyright info 2019-09-07 23:26:33 +02:00
debian_path.h
libc++1-X.Y.install.in Revert "make libc++ packages coinstallable" 2018-09-17 22:10:18 +05:30
libc++1-X.Y.links.in Revert "make libc++ packages coinstallable" 2018-09-17 22:10:18 +05:30
libc++1-X.Y.lintian-overrides.in Revert "make libc++ packages coinstallable" 2018-09-17 22:10:18 +05:30
libc++-X.Y-dev.install.in an unknown reason 2019-07-11 18:42:06 +02:00
libc++-X.Y-dev.links.in Remove useless symlink /usr/include/c++ -> ../lib/llvm-7/include/c++ (Closes: #913400) 2018-11-17 09:22:22 +01:00
libc++-X.Y-dev.lintian-overrides.in Remove libc++fs.a (done upstream) 2019-03-22 00:00:13 +01:00
libc++abi1-X.Y.install.in Revert "make libc++ packages coinstallable" 2018-09-17 22:10:18 +05:30
libc++abi1-X.Y.links.in Revert "make libc++ packages coinstallable" 2018-09-17 22:10:18 +05:30
libc++abi1-X.Y.lintian-overrides.in Revert "make libc++ packages coinstallable" 2018-09-17 22:10:18 +05:30
libc++abi-X.Y-dev.install.in Revert "make libc++ packages coinstallable" 2018-09-17 22:10:18 +05:30
libc++abi-X.Y-dev.links.in Revert "make libc++ packages coinstallable" 2018-09-17 22:10:18 +05:30
libc++abi-X.Y-dev.lintian-overrides.in Fix some lintian warnings from libcxx* integration 2018-08-14 14:11:19 +00:00
libclang1-X.Y.install.in merge recent changes 2016-08-08 09:16:54 +00:00
libclang1-X.Y.links.in
libclang1-X.Y.lintian-overrides.in fix another override 2019-07-14 20:15:24 +02:00
libclang1-X.Y.symbols.in libclang-X.Y: add clang_Cursor_isAnonymousRecordDecl and clang_Cursor_isInlineNamespace to the list of symbols 2019-05-13 18:15:44 +02:00
libclang-common-X.Y-dev.install.in Move yaml-bench from libclang-common-X.Y-dev to llvm-X.Y-dev where it belongs See http://lists.llvm.org/pipermail/llvm-dev/2019-December/137337.html 2019-12-03 14:15:52 +01:00
libclang-common-X.Y-dev.links.in
libclang-cppX.Y.install.in revert link changes 2019-09-05 10:42:43 +02:00
libclang-cppX.Y.links.in revert link changes 2019-09-05 10:42:43 +02:00
libclang-X.Y-dev.install.in * Fix the FTBFS on all platform by adding -DCLANG_BUILD_EXAMPLES=OFF 2019-09-25 08:31:00 +02:00
libclang-X.Y-dev.links.in
liblld-X.Y-dev.install.in Fix the install of non existing libs 2017-01-08 08:45:16 +00:00
liblld-X.Y.install.in Also ship ld64.lld and wasm-ld in the lld-X.Y package 2017-11-18 10:43:53 +00: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 remove old comments 2019-12-04 11:40:54 +01: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
libllvm-X.Y-ocaml-dev.dirs.in
libllvm-X.Y-ocaml-dev.install.in New snapshot release 2017-05-06 08:02:18 +00: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
libomp5-X.Y.install.in also install libomp-X.so.5 2018-09-19 15:50:46 +02: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 Revert "OpenMP packages are coinstallable" 2018-09-17 22:14:20 +05:30
libomp5-X.Y.symbols.in Fix wrong generation of libomp5 dependency instead of libomp5-X one 2019-08-01 18:58:42 +02:00
libomp-X.Y-dev.install.in simplify a bit the declaration 2018-07-11 09:50:38 +02: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
lld-X.Y.install.in Also ship ld64.lld and wasm-ld in the lld-X.Y package 2017-11-18 10:43:53 +00:00
lld-X.Y.manpages.in fix the declaration typo 2018-02-13 12:21:41 +00:00
lldb-X.Y.install.in Remove the lit-cpuid references from LLVMExports.cmake. It is provided by lldb and we don't want to add this as a new dep from llvm-dev (Closes: #941082 #941306) 2019-10-04 22:36:36 +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
lldb-X.Y.manpages.in
lldb-X.Y.postinst.in
llvm-priv-dev.dirs
llvm-X.Y-dev.dirs.in
llvm-X.Y-dev.install.in -dev => -tools 2019-12-05 13:39:40 +01:00
llvm-X.Y-dev.links.in LLVMConfig.cmake was installed into wrong location 2016-10-31 13:02:26 +00:00
llvm-X.Y-doc.dirs.in
llvm-X.Y-doc.install.in Adjust the paths with the move to git project 2019-10-20 11:24:40 +02:00
llvm-X.Y-examples.dirs.in
llvm-X.Y-examples.examples.in
llvm-X.Y-examples.links.in
llvm-X.Y-runtime.binfmt.in
llvm-X.Y-runtime.install.in
llvm-X.Y-runtime.lintian-overrides.in
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 -dev => -tools 2019-12-05 13:39:40 +01:00
llvm-X.Y.dirs.in
llvm-X.Y.install.in Also ship dsymutil 2018-03-19 08:38:56 +01:00
llvm-X.Y.lintian-overrides.in
llvm-X.Y.manpages.in do not ship the manpage of bugpoint 2016-08-08 14:57:27 +00:00
NEWS prepare a news about the bootstrap stage2 phase 2018-11-16 13:04:37 +01:00
orig-tar.sh fix the repack script 2019-11-23 09:07:23 +01:00
pollycc.in
prepare-new-release.sh prepare version 9 2019-01-16 15:45:56 +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 add a tsan example 2020-02-02 21:43:58 +01:00
README various improvements to the repack scripts 2019-10-19 11:20:05 +02:00
README.source Add mips-force-nomadd4.diff to default to +nomadd4 on MIPS. 2020-06-02 00:10:16 +02:00
rules display CMAKE 2021-03-28 10:20:27 +02:00
TODO update of the todo list 2019-03-26 09:34:02 +01:00
unpack.sh fix the repack script - snapshot was hardcoded 2019-11-13 09:37:04 +01:00
watch Use secure URI in debian/watch. 2019-12-08 21:02:49 +01:00

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

The debian package for each LLVM point release is maintained as a git branch.
For example, the 9 release lives at in the "9" 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 8 9 snapshot; do
    git clone git@salsa.debian.org:pkg-llvm-team/llvm-toolchain.git -b $f $f
done

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+3b113a2be6d.
   (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 9 release
branch at
  https://github.com/llvm/llvm-project/branches
you should use,

  $ sh 9/debian/orig-tar.sh release/9.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 9/debian/orig-tar.sh 9.0.1 rc3

For a stable release, the syntax is:

 $ sh 9/debian/orig-tar.sh 9.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.

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.