[med-svn] [bowtie2] 10/10: try to get building including runtime testing but failed

Andreas Tille tille at debian.org
Mon Jan 9 12:30:42 UTC 2017


This is an automated email from the git hooks/post-receive script.

tille pushed a commit to branch master
in repository bowtie2.

commit a0c840aa278516c1d4c9024c0aa1619ee6089ff4
Author: Andreas Tille <tille at debian.org>
Date:   Mon Jan 9 13:29:35 2017 +0100

    try to get building including runtime testing but failed
---
 debian/changelog                                   |   3 +
 debian/control                                     |   3 +-
 debian/patches/series                              |   1 +
 ...st_requiring_non-free_libmath-random-perl.patch | 193 +++++++++++++++++++++
 4 files changed, 199 insertions(+), 1 deletion(-)

diff --git a/debian/changelog b/debian/changelog
index a489af1..263b07e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,9 @@ bowtie2 (2.3.0-1) UNRELEASED; urgency=medium
   * Code available on Github
   * debhelper 10
   * Remove Carlos Borroto from Uploaders
+  * Remove code from test suite that is requiring non-free package
+    libmath-random-perl
+  * New Build-Depends to run build time test: liblocal-lib-perl
 
  -- Andreas Tille <tille at debian.org>  Mon, 09 Jan 2017 12:43:48 +0100
 
diff --git a/debian/control b/debian/control
index 23b9667..bb8c43f 100644
--- a/debian/control
+++ b/debian/control
@@ -8,7 +8,8 @@ Priority: optional
 Build-Depends: debhelper (>= 10),
                help2man,
                libtbb-dev,
-               python
+               python,
+               liblocal-lib-perl
 Standards-Version: 3.9.8
 Vcs-Browser: https://anonscm.debian.org/cgit/debian-med/bowtie2.git
 Vcs-Git: https://anonscm.debian.org/git/debian-med/bowtie2.git
diff --git a/debian/patches/series b/debian/patches/series
index 518af05..aacdb8b 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 hardening.patch
 reproducible.patch
+skip_test_requiring_non-free_libmath-random-perl.patch
diff --git a/debian/patches/skip_test_requiring_non-free_libmath-random-perl.patch b/debian/patches/skip_test_requiring_non-free_libmath-random-perl.patch
new file mode 100644
index 0000000..1500440
--- /dev/null
+++ b/debian/patches/skip_test_requiring_non-free_libmath-random-perl.patch
@@ -0,0 +1,193 @@
+Author: Andreas Tille <tille at debian.org>
+Last-Update: Mon, 09 Jan 2017 11:13:13 +0100
+Description: Math::Random is in package libmath-random-perl which is
+ unfortunately in non-free thus we can not use it for testing while building
+ this package.  Thus the occurences of references and the surrounding code
+ is removed here.
+
+--- a/example/reads/simulate.pl
++++ b/example/reads/simulate.pl
+@@ -33,7 +33,6 @@
+ use strict;
+ use warnings;
+ use Carp;
+-use Math::Random qw(random_normal random_exponential);
+ use Getopt::Long;
+ use List::Util qw(max min);
+ 
+@@ -105,7 +104,6 @@ $rdlen_min = $rdlen_min || 40;    # min
+ $frag_av   = $frag_av   || 250;   # mean fragment len
+ $frag_sd   = $frag_sd   || 45;    # s.d. when drawing frag len from normal dist
+ my @fraglens  = ();     # fragment lengths (for paired)
+-my @readlens  = ();     # read/end lengths
+ 
+ if($long) {
+ 	$nreads = 6000;
+@@ -134,77 +132,15 @@ for(0..length($rf)-1) {
+ }
+ 
+ print STDERR "Adding microindels...\n";
+-my $microgap = 0;
+-{
+-	my $newrf = "";
+-	my $nins = int(length($rf) * 0.0005 + 0.5);
+-	my $ndel = int(length($rf) * 0.0005 + 0.5);
+-	$microgap = $nins + $ndel;
+-	my %indel = ();
+-	for(1..$nins) {
+-		my $off = int(rand(length($rf)));
+-		$indel{$off}{ty} = "ins";
+-		$indel{$off}{len} = int(random_exponential(1, 3))+1;
+-	}
+-	for(1..$ndel) {
+-		my $off = int(rand(length($rf)));
+-		$indel{$off}{ty} = "del";
+-		$indel{$off}{len} = int(random_exponential(1, 3))+1;
+-	}
+-	my $lasti = 0;
+-	for my $rfi (sort {$a <=> $b} keys %indel) {
+-		if($rfi > $lasti) {
+-			$newrf .= substr($rf, $lasti, $rfi - $lasti);
+-			$lasti = $rfi;
+-		}
+-		if($indel{$rfi}{ty} eq "ins") {
+-			$newrf .= rand_dna($indel{$rfi}{len});
+-		} else {
+-			$lasti += $indel{$rfi}{len};
+-		}
+-	}
+-	if($lasti < length($rf)-1) {
+-		$newrf .= substr($rf, $lasti, length($rf) - $lasti - 1);
+-	}
+-	$rf = $newrf;
+-}
+ 
+ print STDERR "Adding larger rearrangements...\n";
+-my $nrearr = int(random_exponential(1, 3)+1);
+-for(0..$nrearr) {
+-	my $break = int(rand(length($rf)));
+-	my $before = substr($rf, 0, $break);
+-	my $after = substr($rf, $break);
+-	$after = revcomp($after) if int(rand()) == 0;
+-	$rf = $after.$before;
+-}
+ 
+ print STDERR "Added $nsnp SNPs\n";
+-print STDERR "Added $microgap Microindels\n";
+-print STDERR "Added $nrearr Rearrangements\n";
+ 
+ #
+ # Simulate reads
+ #
+ 
+-print STDERR "Picking read and fragment lengths...\n";
+-# Pick random read lengths
+-if(defined($rdlen_exact)) {
+-	@readlens = ($rdlen_exact) x ($nreads * ($paired ? 2 : 1));
+-} else {
+-	@readlens = random_exponential($nreads * ($paired ? 2 : 1), $rdlen_av);
+-	@readlens = map int, @readlens;
+-	@readlens = map { int($_ + $rdlen_min) } @readlens;
+-}
+-if($paired) {
+-	# Pick random fragment and read lengths
+-	@fraglens = random_normal($nreads, $frag_av, $frag_sd);
+-	@fraglens = map int, @fraglens;
+-	for(my $i = 0; $i < scalar(@readlens); $i += 2) {
+-		$fraglens[$i/2] = max($fraglens[$i/2], $readlens[$i] + $readlens[$i+1]);
+-	}
+-}
+-
+ sub rand_quals($) {
+ 	my $ret = "";
+ 	my $upper = (rand() < 0.2 ? 11 : 40);
+@@ -259,61 +195,10 @@ if($paired) {
+ 		}
+ 		# Possibly reverse complement
+ 		$fstr = revcomp($fstr) if (int(rand(2)) == 0);
+-		# Get reads 1 and 2
+-		my $rdlen1 = min($readlens[2*$i], $flen);
+-		my $rdlen2 = min($readlens[2*$i+1], $flen);
+-		my $rd1 = substr($fstr, 0, $rdlen1);
+-		my $rd2 = substr($fstr, length($fstr)-$rdlen2);
+-		length($rd2) == $rdlen2 || die "Got ".length($rd2)." expected $rdlen2";
+-		# Reverse complement 2 to simulate --fr orientation
+-		$rd2 = revcomp($rd2);
+-		# Generate random quality values
+-		my $qu1 = rand_quals($rdlen1);
+-		$rd1 = add_seq_errs($rd1, $qu1);
+-		length($rd1) == length($qu1) || die;
+-		my $qu2 = rand_quals($rdlen2);
+-		$rd2 = add_seq_errs($rd2, $qu2);
+-		length($rd2) == length($qu2) || die;
+-		# Print
+-		print RD1 "\@r".($i+1)."\n$rd1\n+\n$qu1\n";
+-		print RD2 "\@r".($i+1)."\n$rd2\n+\n$qu2\n";
+ 	}
+ 	close(RD1);
+ 	close(RD2);
+ 	print STDERR "Made pairs: reads_1.fq/reads_2.fq\n";
+-} else {
+-	open(RD1, ">${prefix}.fq") || die;
+-	for(my $i = 0; $i < scalar(@readlens); $i++) {
+-		# Extract fragment
+-		my $rdlen = $readlens[$i];
+-		my $off = int(rand($rflen - ($rdlen-1)));
+-		my $rd = substr($rf, $off, $rdlen);
+-		# Check if it has too many Ns
+-		my %ccnt = ();
+-		for my $j (1..$rdlen) {
+-			my $c = uc substr($rd, $j, 1);
+-			$ccnt{tot}++;
+-			$ccnt{non_acgt}++ if ($c ne "A" && $c ne "C" && $c ne "G" && $c ne "T");
+-			$ccnt{$c}++;
+-		}
+-		# Skip if it has >10% Ns
+-		if(1.0 * $ccnt{non_acgt} / $ccnt{tot} > 0.10) {
+-			$i--;
+-			next;
+-		}
+-		length($rd) == $rdlen || die;
+-		# Possibly reverse complement
+-		$rd = revcomp($rd) if int(rand(2)) == 0;
+-		# Generate random quality values
+-		my $qu = rand_quals($rdlen);
+-		length($rd) == length($qu) || die "length(seq) = ".length($rd).", length(qual) = ".length($qu);
+-		$rd = add_seq_errs($rd, $qu);
+-		length($rd) == length($qu) || die "length(seq) = ".length($rd).", length(qual) = ".length($qu);
+-		# Print
+-		print RD1 "\@r".($i+1)."\n$rd\n+\n$qu\n";
+-	}
+-	close(RD1);
+-	print STDERR "Made unpaired reads: $prefix.fq\n";
+ }
+ 
+ print STDERR "DONE\n";
+--- a/Makefile
++++ b/Makefile
+@@ -483,13 +483,13 @@ install: all
+ 		cp -f $$file $(DESTDIR)$(bindir) ; \
+ 	done
+ 
+-.PHONY: simple-test
+-simple-test: all perl-deps
++.PHONY: simple-test perl-deps
++simple-test: all
+ 	eval `perl -I $(CURDIR)/.perllib.tmp/lib/perl5 -Mlocal::lib=$(CURDIR)/.perllib.tmp` ; \
+ 	sh ./scripts/test/simple_tests.sh
+ 
+-.PHONY: random-test
+-random-test: all perl-deps
++.PHONY: random-test perl-deps
++random-test: all
+ 	eval `perl -I $(CURDIR)/.perllib.tmp/lib/perl5 -Mlocal::lib=$(CURDIR)/.perllib.tmp` ; \
+ 	sh ./scripts/sim/run.sh $(if $(NUM_CORES), $(NUM_CORES), 2)
+ 
+@@ -500,7 +500,6 @@ perl-deps:
+ 		mkdir .perllib.tmp ; \
+ 		$$DL http://cpanmin.us | perl - -l $(CURDIR)/.perllib.tmp App::cpanminus local::lib ; \
+ 		eval `perl -I $(CURDIR)/.perllib.tmp/lib/perl5 -Mlocal::lib=$(CURDIR)/.perllib.tmp` ; \
+-		cpanm Math::Random Clone Test::Deep Sys::Info ; \
+ 	fi
+ 
+ .PHONY: test

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/bowtie2.git



More information about the debian-med-commit mailing list