Joining the team + some questions

Pablo Oliveira pablo at sifflez.org
Mon May 16 15:08:02 UTC 2016


On 05/12/2016 02:28 AM, Sylvestre Ledru wrote:
>> [...]
>>   1) Where can I access the jenkins nightly build logs ? The address
>> http://llvm-jenkins.debian.net/ is not responding.
> I will put it back online.
> For now: http://santamaria.inria.fr:8080/

Thanks, it works ! Btw, it seems some builds are failing on i386 since
start of may
(http://santamaria.inria.fr:8080/job/llvm-toolchain-3.8-binaries/architecture=i386,distribution=unstable/).


Another question: the pbuilder-hookdir in
github.com/sylvestre/llvm-jenkins.debian.net is more recent than the one
in llvm debian svn.

To simplify things it would be better to maintain them in a single
place. Because they seem mainly relevant to the jenkins process, I think
it would make sense to remove them from the svn ?
(Or alternatively move everything to the debian repo.)

>>   2) Building llvm packages takes a lot of time, do we have access to a
>> distcc infrastructure to test things faster when qualifying a new
>> package ?
> I don't have this but we can probably get access or funding to do that.

That would be very nice. I have no experience with distcc but are
interested in helping set things up if we eventually get access.

>>   3) I have commited some lldb fixes to the 3.8 branch (btw thanks
>> Gianfranco for fixing the circular dependency :-). Should I mirror them
>> in the snapshot branch ? In that case should I create a new snapshop
>> release and update the patches ?
> This is this SVN branch:
> http://anonscm.debian.org/viewvc/pkg-llvm/llvm-toolchain/branches/snapshot
> I try to keep it in sync with the major release
>> More generally, is there an agreed
>> schedule for doing new snapshop releases ?
> Nope, usually when I see something interesting or when someone ask.
> However, I would be happy if we can improve that.

Ok.

>>   4) Bugs in the nightly packages are reported at the llvm bug tracker
>> <https://llvm.org/bugs/buglist.cgi?product=Packaging&component=deb%20packages&resolution=--->
>>
>>
>> This leads to some duplication between the debian bug tracker and the
>> llvm one (eg. llvm #26113 and debian #821022). Can we do something about
>> this ?
> yes, we can make debian bug as forwarded to the llvm.org/bug bt

Ok will do.

>>   5) Is there a quick README or wiki page explaining in which order and
>> how to use the maintainer scripts (unpack.sh, orig-tar.sh, and
>> qualify-clang.sh). If not, I can try writing a short documentation,
>> where should I put it ?
>>
> Probably in
> http://anonscm.debian.org/viewvc/pkg-llvm/llvm-toolchain/branches/

Attached is a README proposal, did I miss something important ?
If there are no objections, I will commit it at the place you suggested.

Thanks,

Pablo
-------------- next part --------------
Organization of the repository
==============================

The debian package for each LLVM point release is maintained as a separate SVN
branch in the branches/ directory. For example, the 3.8 release lives at
branches/3.8.

The current snapshot release is maintained at branches/snapshot.

Steps for manually building a snapshot release 
==============================================

1) Retrieve the latest snapshot and create original tarballs.

   From the branches/ directory run the orig-tar.sh script,

     $ sh snapshot/debian/orig-tar.sh

   which will retrieve the latest version each LLVM subproject (llvm, clang,
   lldb, etc.) from the main development 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 3.8 release
branch at
  http://llvm.org/svn/llvm-project/{llvm,...}/branches/release_38
you should use,

  $ sh 3.8/debian/orig-tar.sh release_38
  
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 3.8.0 release candidate rc3 at
  http://llvm.org/svn/llvm-project/{llvm,...}/tags/RELEASE_380/rc3
you should use,

  $ sh 3.8/debian/orig-tar.sh RELEASE_380 rc3

Additional maintainer scripts
=============================

The script qualify-clang.sh that is found at the SVN root should be used to
quickly test a newly built package. It runs a short set of sanity-check
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. 


More information about the Pkg-llvm-team mailing list