[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