[med-svn] r15084 - in trunk/packages/R/r-bioc-rsamtools/trunk/debian: . patches

Andreas Tille tille at alioth.debian.org
Mon Nov 4 16:08:59 UTC 2013


Author: tille
Date: 2013-11-04 16:08:59 +0000 (Mon, 04 Nov 2013)
New Revision: 15084

Added:
   trunk/packages/R/r-bioc-rsamtools/trunk/debian/patches/use-debian-packaged-libs.patch
Modified:
   trunk/packages/R/r-bioc-rsamtools/trunk/debian/README.source
   trunk/packages/R/r-bioc-rsamtools/trunk/debian/README.test
   trunk/packages/R/r-bioc-rsamtools/trunk/debian/changelog
   trunk/packages/R/r-bioc-rsamtools/trunk/debian/control
   trunk/packages/R/r-bioc-rsamtools/trunk/debian/rules
Log:
Document extensively the attempt to use Debian packaged libbam.a and the way I found out that it does not work; Upload to new


Modified: trunk/packages/R/r-bioc-rsamtools/trunk/debian/README.source
===================================================================
--- trunk/packages/R/r-bioc-rsamtools/trunk/debian/README.source	2013-11-04 13:36:50 UTC (rev 15083)
+++ trunk/packages/R/r-bioc-rsamtools/trunk/debian/README.source	2013-11-04 16:08:59 UTC (rev 15084)
@@ -56,4 +56,20 @@
   This is a hand-crafted file used in a unit test
 
 
+Source code duplication
+=======================
+
+The following files are copies of source code that is just contained in
+other Debian packages.  We are discussing this issue with upstream to
+enable making use of dynamic linking for future versions of this package.
+
+Files: src/samtools/*
+ Source is part of samtools (0.1.19-1)
+ For more details what was tried see
+   debian/patches/use-debian-packaged-libs.patch
+
+Files: src/tabix/*
+ Source is part of tabix (0.2.6-1)
+
+
  -- Andreas Tille <tille at debian.org>  Fri, 25 Oct 2013 08:53:18 +0200

Modified: trunk/packages/R/r-bioc-rsamtools/trunk/debian/README.test
===================================================================
--- trunk/packages/R/r-bioc-rsamtools/trunk/debian/README.test	2013-11-04 13:36:50 UTC (rev 15083)
+++ trunk/packages/R/r-bioc-rsamtools/trunk/debian/README.test	2013-11-04 16:08:59 UTC (rev 15084)
@@ -1,5 +1,11 @@
 Notes on how this package can be tested.
 ────────────────────────────────────────
 
-This package can be tested by loading it into R with the command
-‘library(Rsamtools)’ in order to confirm its integrity.
+This package can be tested by running the provided test:
+
+R --no-save <<EOT
+require("Rsamtools") || stop("unable to load Rsamtools package")
+Rsamtools:::.test()
+EOT
+
+in order to confirm its integrity.

Modified: trunk/packages/R/r-bioc-rsamtools/trunk/debian/changelog
===================================================================
--- trunk/packages/R/r-bioc-rsamtools/trunk/debian/changelog	2013-11-04 13:36:50 UTC (rev 15083)
+++ trunk/packages/R/r-bioc-rsamtools/trunk/debian/changelog	2013-11-04 16:08:59 UTC (rev 15084)
@@ -1,4 +1,4 @@
-r-bioc-rsamtools (1.12.4-1) UNRELEASED; urgency=low
+r-bioc-rsamtools (1.12.4-1) unstable; urgency=low
 
   * Initial release (closes: #728285)
 

Modified: trunk/packages/R/r-bioc-rsamtools/trunk/debian/control
===================================================================
--- trunk/packages/R/r-bioc-rsamtools/trunk/debian/control	2013-11-04 13:36:50 UTC (rev 15083)
+++ trunk/packages/R/r-bioc-rsamtools/trunk/debian/control	2013-11-04 16:08:59 UTC (rev 15084)
@@ -10,7 +10,8 @@
                r-bioc-biocgenerics,
                r-bioc-iranges,
                r-bioc-biostrings,
-               r-bioc-genomicranges
+               r-bioc-genomicranges,
+               libbam-dev
 Standards-Version: 3.9.4
 Vcs-Browser: http://anonscm.debian.org/viewvc/debian-med/trunk/packages/R/r-bioc-rsamtools/trunk/
 Vcs-Svn: svn://anonscm.debian.org/debian-med/trunk/packages/R/r-bioc-rsamtools/trunk/
@@ -26,6 +27,8 @@
          r-bioc-iranges,
          r-bioc-biostrings,
          r-bioc-genomicranges
+# The following BioConductor modules are not yet packaged but used in the unit test
+Suggests: r-bioc-pasillabamsubset, r-bioc-shortread
 Description: GNU R binary alignment (BAM), variant call (BCF), or tabix file import
  This package provides an interface to the 'samtools', 'bcftools', and
  'tabix' utilities for manipulating SAM (Sequence Alignment / Map),

Added: trunk/packages/R/r-bioc-rsamtools/trunk/debian/patches/use-debian-packaged-libs.patch
===================================================================
--- trunk/packages/R/r-bioc-rsamtools/trunk/debian/patches/use-debian-packaged-libs.patch	                        (rev 0)
+++ trunk/packages/R/r-bioc-rsamtools/trunk/debian/patches/use-debian-packaged-libs.patch	2013-11-04 16:08:59 UTC (rev 15084)
@@ -0,0 +1,85 @@
+Author: Andreas Tille <tille at debian.org>
+LastChanged: Wed, 04 Sep 2013 11:11:22 +0200
+Description:  This does not yet work / patch disabled
+ The purpose of this patch was to link dynymically against libbam which
+ is provided by libbam-dev package since the source of Rsamtools contains
+ a copy of samtools code which should be avoided.  Unfortunately this
+ simple hack does not work because of some magic in the R build process
+ which is not yet fully understood and needs more investigation most
+ probably by discussing the issue with upstream.
+ .
+ It was verified that this patch does not work by the following method:
+  R --no-save < tests/Rsamtools_unit_tests.R
+ which crashed after:
+  Error in checkIdentical(exp, sapply(obs, length)) : FALSE.
+ Without the patch the test also runs in some errors - some of them
+ due to missing modules pasillaBamSubset and ShortRead (see Suggested
+ Depends in debian/control - these modules are not yet packaged) and
+ some due to blocked http, but the whole test at least finished with
+ some summary.
+
+
+--- a/Rsamtools.mk
++++ b/Rsamtools.mk
+@@ -2,7 +2,7 @@ SAMTOOLS_PATH=\
+     `echo 'cat(system.file("usrlib", .Platform[["r_arch"]],\
+                          package="Rsamtools", mustWork=TRUE))' |\
+                  "${R_HOME}/bin/R" --vanilla --slave`
+-PKG_LIBS+="$(SAMTOOLS_PATH)/libbam.a" "$(SAMTOOLS_PATH)/libbcf.a"\
++PKG_LIBS+="-lbam" "$(SAMTOOLS_PATH)/libbcf.a"\
+ 	"$(SAMTOOLS_PATH)/libtabix.a" -lz -pthread
+ PKG_CPPFLAGS+=-D_USE_KNETFILE -D_FILE_OFFSET_BITS=64 \
+ 	-D_LARGEFILE64_SOURCE
+--- a/src/Makevars.common
++++ b/src/Makevars.common
+@@ -1,13 +1,8 @@
+ PATCH_O = samtools_patch.o
+ KNETFILE_O = knetfile.o
+-BAMOBJ_0 = \
+-  bgzf.o kstring.o bam_aux.o bam.o bam_import.o sam.o bam_index.o	\
+-  bam_pileup.o bam_lpileup.o bam_md.o razf.o faidx.o \
+-  $(KNETFILE_O) bam_sort.o sam_header.o bam_reheader.o kprobaln.o
+ BCFOBJ_0 = \
+   bcf.o vcf.o bcfutils.o prob1.o kfunc.o index.o fet.o \
+   bcf2qcall.o
+-BAMOBJ=$(BAMOBJ_0:%=samtools/%) $(PATCH_O)
+ BCFOBJ=$(BCFOBJ_0:%=samtools/bcftools/%) $(PATCH_O)
+ TABIXOBJ = \
+   samtools/bgzf.o samtools/kstring.o samtools/knetfile.o \
+@@ -25,7 +20,7 @@ PKG_CFLAGS += \
+ 
+ PKG_LIBS += -pthread \
+   $(SHLIB_OPENMP_CFLAGS) \
+-  "${R_PACKAGE_DIR}/usrlib${R_ARCH}/libbam.a" \
++  "-lbam" \
+   "${R_PACKAGE_DIR}/usrlib${R_ARCH}/libbcf.a" \
+   "${R_PACKAGE_DIR}/usrlib${R_ARCH}/libtabix.a"
+ 
+@@ -44,8 +39,8 @@ libs: libs0
+ 	cp samtools/bgzf.h samtools/kstring.h samtools/knetfile.h \
+ 		"${R_PACKAGE_DIR}/include/tabix/"
+ 	mkdir -p "${R_PACKAGE_DIR}/usrlib${R_ARCH}"
+-	cp libbam.a libbcf.a libtabix.a "${R_PACKAGE_DIR}/usrlib${R_ARCH}"
++	cp libbcf.a libtabix.a "${R_PACKAGE_DIR}/usrlib${R_ARCH}"
+ 
+ clean:
+-	rm $(BAMOBJ) $(BCFOBJ) $(TABIXOBJ) *.a *.o *.so *.dll
++	rm $(BCFOBJ) $(TABIXOBJ) *.a *.o *.so *.dll
+ 
+--- a/src/Makevars
++++ b/src/Makevars
+@@ -2,13 +2,10 @@ include Makevars.common
+ 
+ PKG_LIBS += -lz
+ 
+-libs0: libbam.a libbcf.a libtabix.a
++libs0: libbcf.a libtabix.a
+ 	mkdir -p "${R_PACKAGE_DIR}/usretc${R_ARCH}"
+ 	cp ../Rsamtools.mk "${R_PACKAGE_DIR}/usretc${R_ARCH}"
+ 
+-libbam.a: $(BAMOBJ)
+-	$(AR) -crus $@ $(BAMOBJ)
+-
+ libbcf.a: $(BCFOBJ)
+ 	$(AR) -crus $@ $(BCFOBJ)
+ 

Modified: trunk/packages/R/r-bioc-rsamtools/trunk/debian/rules
===================================================================
--- trunk/packages/R/r-bioc-rsamtools/trunk/debian/rules	2013-11-04 13:36:50 UTC (rev 15083)
+++ trunk/packages/R/r-bioc-rsamtools/trunk/debian/rules	2013-11-04 16:08:59 UTC (rev 15084)
@@ -5,3 +5,7 @@
 
 install/$(package)::
 	rm -rf debian/$(package)/usr/lib/R/site-library/$(cranNameOrig)/LICENSE
+
+clean::
+	dh_clean
+	rm -f src/*.a




More information about the debian-med-commit mailing list