[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Packaging Ray for Debian Med



Hi,

On 11/04/2012 04:42 AM, Charles Plessy wrote:
Le Sun, Nov 04, 2012 at 01:04:37AM -0400, Sébastien Boisvert a écrit :
OK, so the things in my pristine-tar branch are not good at all !

I checked the pristine-tar branch of debian-med/bwa.git, and it contains
delta between orig tarballs.
But is the first orig tarball stored somewhere ?

The binary delta is between the original tarball and the collection of Git
objects corresponding to its content.


Oh I understand now.
pristine-tar/x.y.z-R is something applied to upstream/x.y.z in order to
produce package_x.y.z-R.orig.tar.bz2.

Why not just pick the upstream tarball then ?
Because you save on storage ?

Usually, we import the tarball with the git-buildpackage helper, which takes
care of pristine-tar.
In your case, you already have an upstream branch with
tags corresponding to version numbers of releases.

But with the debian/ directory, which is not in my tarball.

 The command 'pristine-tar
commit' should therefore help you to populate a pristine-tar branch, if you
want.


Thanks !

I did
  pristine-tar commit ~/debian-med/ray_2.1.0.orig.tar.bz2

I don't need to put any tag for branch pristine-tar, right ?

If I understand well, the Git repository on Alioth is a clone of RayGit, on top
of which you have added RayPlatform ?

Yes, the master branch contain basically a dump of Ray-v2.1.0.tar.bz2, with debian/ added
too. This is equivalent to having "RayGit" and "RayPlatformGit" and then adding debian/.

In that case, a pristine-tar binary
delta would contain a full copy of RayPlatform.

But what's the workflow when upstream RayPlatformGit changes too ?

Do we "pull" it inside branch upstream ?

I guess I will use

  pristine-tar commit ~/debian-med/ray_x.y.z.orig.tar.bz2

when we ship a new release ?


But given the size (856 here),
it may not be a problem if the number or releases is limited.

So far, we ship around 3 to 6 releases per year. The bz2 tarball size is 330 KB.

So size is not an issue.

 What you can
also do is generate an orig.tar.gz tarball from the Git repository on Alioth,
and then commit it in the pristine-tar branch.


    I did this (see above). Thanks for the pointer.
This said, there is no problem on Debian's side to package RayPlatform
separately.

In RayPlatform, there is a CMakeList.txt and it can build
libRayPlatform.so.

The Makefile of ray needs a patch though:

--- a/Makefile
+++ b/Makefile
@@ -185,16 +185,16 @@ showOptions:
        @touch showOptions
# how to make Ray
-Ray: showOptions RayPlatform/libRayPlatform.a code/TheRayGenomeAssembler.a
-       $(MPICXX) $(LDFLAGS)  code/TheRayGenomeAssembler.a RayPlatform/libRayPlatform.a -o $@
+Ray: showOptions RayPlatform/libRayPlatform.so code/TheRayGenomeAssembler.a
+       $(MPICXX) $(LDFLAGS)  code/TheRayGenomeAssembler.a RayPlatform/libRayPlatform.so -o $@
        @echo $(PREFIX) > PREFIX
        @echo Ray > TARGETS
code/TheRayGenomeAssembler.a:
        @cd code; make MPICXX="$(MPICXX)" CXXFLAGS="$(CXXFLAGS)" -j $(J) all ; cd ..
-RayPlatform/libRayPlatform.a:
-       @cd RayPlatform; make MPICXX="$(MPICXX)" CXXFLAGS="$(CXXFLAGS)" -j $(J) ; cd ..
+RayPlatform/libRayPlatform.so:
+       @cd RayPlatform; cmake .; make MPICXX="$(MPICXX)" CXXFLAGS="$(CXXFLAGS)" -j $(J) ; cd ..
clean:
        @rm -f Ray showOptions PREFIX TARGETS


$ ldd Ray
	linux-vdso.so.1 =>  (0x00007fff5a9ff000)
	libRayPlatform.so => /home/seb/git-clones/RayPlatform/libRayPlatform.so (0x00007f1be1752000)
	libmpi_cxx.so.1 => /usr/lib64/openmpi/lib/libmpi_cxx.so.1 (0x00007f1be1538000)
	libmpi.so.1 => /usr/lib64/openmpi/lib/libmpi.so.1 (0x00000034d4e00000)
	libdl.so.2 => /lib64/libdl.so.2 (0x0000003d56000000)
	libstdc++.so.6 => /lib64/libstdc++.so.6 (0x0000003d5c400000)
	libm.so.6 => /lib64/libm.so.6 (0x0000003d55800000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003d58800000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003d55c00000)
	libc.so.6 => /lib64/libc.so.6 (0x0000003d55400000)
	libnsl.so.1 => /lib64/libnsl.so.1 (0x0000003d69c00000)
	libutil.so.1 => /lib64/libutil.so.1 (0x0000003d67000000)
	libltdl.so.7 => /lib64/libltdl.so.7 (0x0000003d66800000)
	/lib64/ld-linux-x86-64.so.2 (0x0000003d54c00000)

But at this point I think RayPlatform should be bundled because
its API is not fully stable yet and as far as I know only Ray uses it.

If a new package comes to Debian bundled also with RayPlatform,
I will package RayPlatform and repackage ray. But we are not there yet
I think.

This is what I do with fastx-toolkit and libgtextutils.


Is libgtextutils used by other packages as well ?
Cheers,



Reply to: