llvm-toolchain/debian
Sylvestre Ledru 2f475b781b Merge branch '5.0' into 'cmake-fixes'
# Conflicts:
#   debian/changelog
2018-05-07 09:58:28 +00:00
..
patches Make Clang cmake files more usable 2018-05-07 00:05:47 +02:00
source Temporary work about a global llvm-toolchain packages 2013-01-10 16:41:04 +00:00
tests.disabled disable the tests for now 2018-04-27 20:33:36 +02:00
changelog Merge branch '5.0' into 'cmake-fixes' 2018-05-07 09:58:28 +00: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 Manage all files using .in mecanism. It will simplify the upgrade of 2014-07-28 11:34:35 +00:00
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 Also install run-clang-tidy.py & clang-tidy-diff.py (also installed in 2015-11-16 09:39:05 +00:00
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 Fix the lintian overrides for clang-tidy 2015-10-19 12:18:13 +00:00
clang-tidy-X.Y.manpages.in * Introduce clang-tidy-3.8 as a separate package. Replaces clang-modernize 2015-10-19 09:00:38 +00:00
clang-tools-X.Y.install.in * Create clang-tools-4.0 and move the various clang tools into it 2017-11-21 21:15:50 +00: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 Re-add documentation for clang-doc 2017-06-04 18:11:02 +00: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 Clang cmake files more usable 2018-05-07 00:05:47 +02:00
clang-X.Y.links.in Make Clang cmake files more usable 2018-05-07 00:05:47 +02:00
clang-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-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
compat Temporary work about a global llvm-toolchain packages 2013-01-10 16:41:04 +00:00
control Add libjs-mathjax to Build-Depends and to clang-x.y-doc Depends. 2018-03-22 12:06:25 +01:00
copyright Update of the copyright file (Closes: #878502) 2017-10-19 07:35:44 +00:00
debian_path.h Remove old stuff 2013-12-02 17:04:04 +00:00
libclang1-X.Y.install.in merge recent changes 2016-08-08 09:16:54 +00:00
libclang1-X.Y.links.in * Cmake migration. Done by Andrew Wilkins. Many thanks to him 2016-02-08 12:49:57 +00:00
libclang1-X.Y.lintian-overrides.in * Generate manpages for lli, lldb-mi & git-clang-format 2016-08-08 09:06:17 +00:00
libclang1-X.Y.symbols.in Fix the libclang1-X.Y.symbols.in file (two spaces) 2018-02-12 16:50:35 +00:00
libclang-common-X.Y-dev.install.in Remove clang-tblgen from clang-X.Y (done by upstream) 2017-05-24 07:14:16 +00:00
libclang-common-X.Y-dev.links.in Manage all files using .in mecanism. It will simplify the upgrade of 2014-07-28 11:34:35 +00:00
libclang-X.Y-dev.install.in * Install libfindAllSymbols.a as part of libclang-X.Y-dev 2016-05-09 00:48:46 +00:00
libclang-X.Y-dev.links.in * Cmake migration. Done by Andrew Wilkins. Many thanks to him 2016-02-08 12:49:57 +00:00
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 Generate the llvm-tblgen, clang-change-namespace, clang-offload-bundler 2017-06-19 06:41:09 +00:00
liblld-X.Y.links.in For now, lld doesn't generate shared libs. Removing the files 2017-10-01 16:31:27 +00:00
liblldb-X.Y-dev.install.in fix the build with liblldb 2016-05-18 20:19:23 +00: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 * New snapshot release 2017-02-01 15:34:53 +00: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 New snapshot release 2017-05-06 08:02:18 +00: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
libllvmX.Y.install.in Manage all files using .in mecanism. It will simplify the upgrade of 2014-07-28 11:34:35 +00: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
lld-X.Y.install.in also install lld 2017-01-07 20:11:27 +00:00
lld-X.Y.manpages.in * Create clang-tools-4.0 and move the various clang tools into it 2017-11-21 21:15:50 +00:00
lldb-X.Y.install.in * New upstream release 2016-03-05 11:31:54 +00: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 * sync from 1:3.4.2-9~exp1 2014-09-01 17:07:05 +00:00
lldb-X.Y.manpages.in * Generate manpages for lli, lldb-mi & git-clang-format 2016-08-08 09:06:17 +00: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-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 cmake files moved from usr/lib/llvm-3.9/share/llvm/cmake/ 2016-06-25 20:32:15 +00: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 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 Bring back the content of llvm-4.0-doc (Closes: #844616) 2017-01-14 10:57:13 +00: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 Manage all files using .in mecanism. It will simplify the upgrade of 2014-07-28 11:34:35 +00:00
llvm-X.Y-examples.links.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.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 Install a lli-child-target 2016-08-08 08:13:04 +00:00
llvm-X.Y-runtime.lintian-overrides.in fix various issues 2014-09-01 17:06:54 +00: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 Merge with 3.6 branch 2015-08-18 12:23:07 +00:00
llvm-X.Y-runtime.prerm.in Merge with 3.6 branch 2015-08-18 12:23:07 +00: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 Ship the opt-viewer new program as part of llvm-5.0 tools 2017-07-09 15:36:46 +00: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 fix the build with cmake 2016-02-15 19:13:13 +00:00
llvm-X.Y.lintian-overrides.in ignore the json lintian warning 2016-07-02 15:15:08 +00:00
llvm-X.Y.manpages.in do not ship the manpage of bugpoint 2016-08-08 14:57:27 +00:00
NEWS remove the news element 2017-03-25 15:34:29 +00:00
orig-tar.sh fix version 2018-04-03 19:22:59 +02: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 Fix the fix-scan-view-path.diff path 2017-11-25 14:19:02 +00:00
python-clang-X.Y.install.in Manage all files using .in mecanism. It will simplify the upgrade of 2014-07-28 11:34:35 +00:00
python-lldb-X.Y.install.in more fixes 2014-09-01 19:11:10 +00:00
python-lldb-X.Y.links.in Fix python-lldb symlinks and add python-six dependency in snapshot 2016-06-09 22:16:53 +00:00
qualify-clang.sh Make Clang cmake files more usable 2018-05-07 00:05:47 +02:00
README Add README doc into the repo 2018-02-27 09:03:51 +01:00
README.source * Draft of a snapshot release (3.3) 2013-02-26 16:34:08 +00:00
rules Make Clang cmake files more usable 2018-05-07 00:05:47 +02:00
source.lintian-overrides ignore just like in snapshot 2017-08-02 20:31:06 +00:00
TODO * libclang-3.4.so should be used instead libclang.so. Update the soname 2014-09-01 11:49:31 +00:00
watch Temporary work about a global llvm-toolchain packages 2013-01-10 16:41:04 +00:00

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

The debian package for each LLVM point release is maintained as a git branch.
For example, the 4.0 release lives at in the "4.0" 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 4.0 5.0 6.0 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 SVN). 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~svn268942. Depending on the current
   snapshot version number and svn 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 4.0 release
branch at
  http://llvm.org/svn/llvm-project/{llvm,...}/branches/release_40
you should use,

  $ sh 4.0/debian/orig-tar.sh release_40

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 4.0.1 release candidate rc3 at
  http://llvm.org/svn/llvm-project/{llvm,...}/tags/RELEASE_401/rc3
you should use,

  $ sh 4.0/debian/orig-tar.sh RELEASE_401 rc3 4.0.1

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.


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.