llvm-toolchain/debian
2021-09-01 12:45:28 +02:00
..
patches remove patch applied upstream 2021-09-01 12:42:20 +02:00
source Extends the lintian override as it is causing other issues: 2021-08-28 09:46:22 +02:00
tests integration-test-suite-test: fix build by using 13 as default version 2021-08-26 16:04:51 +02:00
changelog Add LIBCXXABI_ENABLE_STATIC_UNWINDER=ON LIBCXXABI_STATICALLY_LINK_UNWINDER_IN_SHARED_LIBRARY=OFF LIBCXXABI_STATICALLY_LINK_UNWINDER_IN_STATIC_LIBRARY=ON to libc++ when libunwind is built Matches what is done on brew: https://bit.ly/3kDNpC9 2021-09-01 12:45:28 +02:00
clang-format-X.Y.install.in
clang-format-X.Y.lintian-overrides.in
clang-format-X.Y.manpages.in
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 * New snapshot release 2021-02-24 17:13:37 +01:00
clang-tidy-X.Y.lintian-overrides.in
clang-tidy-X.Y.manpages.in
clang-tools-X.Y.install.in As scan-build-py is installed by default ( https://reviews.llvm.org/D104138 ) update of the code 2021-06-22 14:52:23 +02:00
clang-tools-X.Y.links.in As scan-build-py is installed by default ( https://reviews.llvm.org/D104138 ) update of the code 2021-06-22 14:52:23 +02:00
clang-tools-X.Y.lintian-overrides.in
clang-tools-X.Y.manpages.in
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
clang-X.Y-examples.examples.in
clang-X.Y.install.in
clang-X.Y.links.in
clang-X.Y.lintian-overrides.in
clang-X.Y.manpages.in
clangd-X.Y.install.in
clangd-X.Y.manpages.in
compat Revert "Bump debhelper from old 9 to 12." 2019-12-09 17:30:17 +01:00
control Disable libunwind-X.Y{-dev} packages on sparc and sparc64 2021-08-29 21:31:01 +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
libc++1-X.Y.install.in
libc++1-X.Y.links.in
libc++1-X.Y.lintian-overrides.in
libc++-X.Y-dev.install.in * experimental New snapshot release 2020-03-25 15:48:02 +01:00
libc++-X.Y-dev.links.in
libc++-X.Y-dev.lintian-overrides.in
libc++abi1-X.Y.install.in
libc++abi1-X.Y.links.in
libc++abi1-X.Y.lintian-overrides.in
libc++abi-X.Y-dev.install.in
libc++abi-X.Y-dev.links.in
libc++abi-X.Y-dev.lintian-overrides.in
libclang1-X.Y.install.in * Adjust libclang: 2021-07-31 12:33:52 +02:00
libclang1-X.Y.links.in
libclang1-X.Y.lintian-overrides.in
libclang1-X.Y.symbols.in Add symbol clang_CompileCommand_getNumMappedSources to libclang 2021-08-11 13:10:34 +02:00
libclang-common-X.Y-dev.install.in Use dh-exec to exclude lib/libPolly*.a on powerpc and powerpcspe 2020-08-29 18:32:43 +02:00
libclang-common-X.Y-dev.links.in
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 Fix the libclang-cpp* packages 2020-03-02 20:31:38 +01:00
libclang-cppX.Y.links.in Fix the libclang-cpp* packages 2020-03-02 20:31:38 +01:00
libclang-X.Y-dev.install.in Merge remote-tracking branch 'origin/10' into snapshot 2020-03-03 11:59:33 +01:00
libclang-X.Y-dev.links.in
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 debian: Include SPIR-V (*.spv) outputs in libclc package 2021-08-27 09:41:17 +02: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 * Also install liblldMachO2.a in liblld 2020-04-01 11:05:04 +02: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
liblldb-X.Y-dev.links.in
liblldb-X.Y.install.in remove old comments 2019-12-04 11:40:54 +01: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
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 remove libomptarget from openmp. done by upstream in f2f88f3e7a110b2d4d9da446e45f0dba040e62b2 2021-05-08 13:13:21 +02:00
libomp5-X.Y.links.in
libomp5-X.Y.lintian-overrides.in
libomp5-X.Y.symbols.in Refresh the lib of symbols in libomp 2021-06-22 14:45:41 +02:00
libomp-X.Y-dev.install.in Install usr/lib/llvm-13/lib/cmake/openmp/FindOpenMPTarget.cmake in libomp-13-dev.install 2021-06-23 13:57:16 +02:00
libomp-X.Y-dev.links.in
libomp-X.Y-doc.docs.in
libomp-X.Y.links.in
libunwind-X.Y-dev.install.in Generate libunwind-12 & libunwind-12-dev packages 2021-07-30 14:27:04 +02:00
libunwind-X.Y-dev.links.in Generate libunwind-12 & libunwind-12-dev packages 2021-07-30 14:27:04 +02:00
libunwind-X.Y-dev.lintian-overrides.in Generate libunwind-12 & libunwind-12-dev packages 2021-07-30 14:27:04 +02:00
libunwind-X.Y.install.in Generate libunwind-12 & libunwind-12-dev packages 2021-07-30 14:27:04 +02:00
libunwind-X.Y.links.in Generate libunwind-12 & libunwind-12-dev packages 2021-07-30 14:27:04 +02:00
libunwind-X.Y.lintian-overrides.in Generate libunwind-12 & libunwind-12-dev packages 2021-07-30 14:27:04 +02: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 Merge remote-tracking branch 'origin/9' into snapshot 2019-10-05 21:09:33 +02:00
lldb-X.Y.links.in
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 * Improve the clean rule 2021-04-18 23:05:58 +02:00
llvm-X.Y-dev.links.in
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 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 missing file 2021-04-18 23:07:39 +02:00
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 Update the binfmt-support postinstall to match what is done elsewhere in Debian 2020-07-08 14:00:03 +02:00
llvm-X.Y-runtime.prerm.in Update the binfmt-support postinstall to match what is done elsewhere in Debian 2020-07-08 14:00:03 +02:00
llvm-X.Y-tools.dirs.in
llvm-X.Y-tools.install.in Install split-file in llvm-X-tools (like lit) 2020-08-04 19:03:09 +02:00
llvm-X.Y.dirs.in
llvm-X.Y.install.in
llvm-X.Y.lintian-overrides.in
llvm-X.Y.manpages.in
NEWS
orig-tar.sh Elegant CURRENT_VERSION determination 2021-04-09 19:30:07 +00:00
pollycc.in
prepare-new-release.sh Merge branch '12' into 13 2021-08-27 11:41:13 +02: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 tests (failing for now) 2021-08-29 15:12:38 +02:00
README prepare -12 2020-07-15 17:26:34 +02:00
README.source * Don't use gold on ppc64el. It fails to build in that case 2020-10-31 14:14:06 +01:00
rules Add LIBCXXABI_ENABLE_STATIC_UNWINDER=ON LIBCXXABI_STATICALLY_LINK_UNWINDER_IN_SHARED_LIBRARY=OFF LIBCXXABI_STATICALLY_LINK_UNWINDER_IN_STATIC_LIBRARY=ON to libc++ when libunwind is built Matches what is done on brew: https://bit.ly/3kDNpC9 2021-09-01 12:45:28 +02:00
TODO
unpack.sh fix the version 2021-08-03 09:32:30 +02: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 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 8 9 10 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+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.

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.