From: Andreas Tille Date: Tue, 24 Apr 2012 11:21:32 +0000 (+0200) Subject: Imported Debian patch 0.12.7-3 X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=bowtie.git;a=commitdiff_plain;h=7ff6d33630733772d810e0ad76ed0a6ff60d612d;ds=sidebyside Imported Debian patch 0.12.7-3 --- diff --git a/debian/README.source b/debian/README.source new file mode 100644 index 0000000..68f4938 --- /dev/null +++ b/debian/README.source @@ -0,0 +1,12 @@ +bowtie for Debian +----------------- + +The bowtie package seems to rely on version 1.1 of the seqan library, +while Debian otherwise already features version 1.2. It yet remains +to be investigated, to what degree the two might possibly be +compatible. + +We did not dare any respective experiments and hope for a clarification +by upstream on this issue - we just should not introduce any hidden +mistakes here. + diff --git a/debian/bowtie-examples.install b/debian/bowtie-examples.install new file mode 100644 index 0000000..24069c3 --- /dev/null +++ b/debian/bowtie-examples.install @@ -0,0 +1,2 @@ +genomes usr/share/doc/bowtie/examples +indexes usr/share/doc/bowtie/examples diff --git a/debian/bowtie.dirs b/debian/bowtie.dirs new file mode 100644 index 0000000..fcf16f2 --- /dev/null +++ b/debian/bowtie.dirs @@ -0,0 +1 @@ +usr/share/man/man1 diff --git a/debian/bowtie.docs b/debian/bowtie.docs new file mode 100644 index 0000000..b012f25 --- /dev/null +++ b/debian/bowtie.docs @@ -0,0 +1,5 @@ +NEWS +MANUAL +TUTORIAL +doc/manual.html +doc/style.css diff --git a/debian/bowtie.install b/debian/bowtie.install new file mode 100644 index 0000000..47883be --- /dev/null +++ b/debian/bowtie.install @@ -0,0 +1,4 @@ +bowtie usr/bin +bowtie-build usr/bin +bowtie-inspect usr/bin +bowtie*-debug usr/bin diff --git a/debian/bowtie.links b/debian/bowtie.links new file mode 100644 index 0000000..13e198c --- /dev/null +++ b/debian/bowtie.links @@ -0,0 +1,3 @@ +usr/share/man/man1/bowtie.1.gz usr/share/man/man1/bowtie-debug.1.gz +usr/share/man/man1/bowtie-build.1.gz usr/share/man/man1/bowtie-build-debug.1.gz +usr/share/man/man1/bowtie-inspect.1.gz usr/share/man/man1/bowtie-inspect-debug.1.gz diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..8c0543a --- /dev/null +++ b/debian/changelog @@ -0,0 +1,34 @@ +bowtie (0.12.7-3) unstable; urgency=low + + * debian/patches/use-dpkg-buildflags.patch: Regard LDFLAGS/CPPFLAGS + hardening flags (thanks for the patch to Simon Ruderich + ) + Closes: #670230 + + -- Andreas Tille Tue, 24 Apr 2012 13:21:32 +0200 + +bowtie (0.12.7-2) unstable; urgency=low + + * Do not give a pointer to non existing info pages in manpages + * debian/control: + - fixed Vcs fields + - Standards-Version: 3.9.3 (no changes needed) + * debian/upstream: Add citation information + * debian/rules: calculate pkg name instead of setting it + * debian/copyright: DEP5 verified using + cme fix dpkg-copyright + * debian/patches/gcc-4.7.patch: function "reverseInPlace" is declared after + the function is used + Thanks to Rodolfo García Peñas and + gregor herrmann + Closes: #667120 + * debhelper 9 (control+compat) + Hardening flags were explicitly tested but not enforced in debian/rules + + -- Andreas Tille Sun, 22 Apr 2012 21:09:05 +0200 + +bowtie (0.12.7-1) unstable; urgency=low + + * Initial release (Closes: #604940) + + -- Andreas Tille Wed, 02 Feb 2011 13:47:12 +0100 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +9 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..1b71f1c --- /dev/null +++ b/debian/control @@ -0,0 +1,48 @@ +Source: bowtie +Section: science +Priority: extra +Maintainer: Debian Med Packaging Team +DM-Upload-Allowed: yes +Uploaders: Steffen Moeller , + Yask Gupta , + Andreas Tille +Build-Depends: debhelper (>= 9), help2man +Standards-Version: 3.9.3 +Homepage: http://bowtie-bio.sourceforge.net/ +Vcs-Svn: svn://svn.debian.org/debian-med/trunk/packages/bowtie/trunk +Vcs-Browser: http://svn.debian.org/wsvn/debian-med/trunk/packages/bowtie/trunk/ + +Package: bowtie +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Suggests: bowtie-examples +Description: ultrafast memory-efficient short read aligner + This package addresses the problem to interpret the results from the + latest (2010) DNA sequencing technologies. Those will yield fairly + short stretches and those cannot be interpreted directly. It is the + challenge for tools like Bowtie to give a chromosomal location to the + short stretches of DNA sequenced per run. + . + Bowtie aligns short DNA sequences (reads) to the human genome at a rate + of over 25 million 35-bp reads per hour. Bowtie indexes the genome with + a Burrows-Wheeler index to keep its memory footprint small: typically + about 2.2 GB for the human genome (2.9 GB for paired-end). + +Package: bowtie-examples +Architecture: all +Depends: ${misc:Depends} +Recommends: bowtie +Enhances: bowtie +Description: Examples for bowtie, the ultrafast memory-efficient short read aligner + This package addresses the problem to interpret the results from the + latest (2010) DNA sequencing technologies. Those will yield fairly + short stretches and those cannot be interpreted directly. It is the + challenge for tools like Bowtie to give a chromosomal location to the + short stretches of DNA sequenced per run. + . + Bowtie aligns short DNA sequences (reads) to the human genome at a rate + of over 25 million 35-bp reads per hour. Bowtie indexes the genome with + a Burrows-Wheeler index to keep its memory footprint small: typically + about 2.2 GB for the human genome (2.9 GB for paired-end). + . + This package provides some example data to work with bowtie. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..a3eef72 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,61 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: Bowtie +Upstream-Contact: Ben Langmead +Source: http://sourceforge.net/projects/bowtie-bio/files/bowtie/ + +Files: * +Copyright: © 2009-2010 Ben Langmead, C. Trapnell, M. Pop, Steven L. Salzberg +License: Artistic + +Files: SeqAn-1.1 +Copyright: 2007-2009 Andreas Döring , + David Weese , + Tobias Rausch , + Stephan Aiche , + Anne-Katrin Emde , + Carsten Kemena , + Konrad Ludwig Moritz Rudolph , + Marcel H. Schulz. +License: LGPL-3+ + +Files: debian/* +Copyright: © 2011 Steffen Moeller , + Yask Gupta + © 2011 Andreas Tille +License: LGPL-3+ + +Files: SeqAn-1.1/seqan/index/index_sa_lss.h +Copyright: 1999 N. Jesper Larsson + 2007 David Weese. +License: other + This software may be used freely for any purpose. However, when + distributed, the original source must be clearly stated, and, when + the source code is distributed, the copyright notice must be retained + and any alterations in the code must be clearly marked. No warranty + is given regarding the quality of this software. + +License: Artistic + This program is free software; you can redistribute it and/or modify it + under the terms of the "Artistic License" which comes with Debian. + . + THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES + OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. + . + On Debian systems, the complete text of the Artistic License + can be found in "/usr/share/common-licenses/Artistic". + +License: LGPL-3+ + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 3 of the License, or (at your option) any later version. + . + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + . + On Debian systems, you can find the LGPL license in: + /usr/share/common-licenses/LGPL + diff --git a/debian/doc-base b/debian/doc-base new file mode 100644 index 0000000..da8dcb9 --- /dev/null +++ b/debian/doc-base @@ -0,0 +1,19 @@ +Document: bowtie +Title: Manual for bowtie +Author: Ben Langmead +Abstract: ultrafast memory-efficient short read aligner + Bowtie is an ultrafast, memory-efficient short read aligner geared toward + quickly aligning large sets of short DNA sequences (reads) to large genomes. It + aligns 35-base-pair reads to the human genome at a rate of 25 million reads per + hour on a typical workstation. Bowtie indexes the genome with a Burrows-Wheeler + index to keep its memory footprint small: for the human genome, the index is + typically about 2.2 GB (for unpaired alignment) or 2.9 GB (for paired-end or + colorspace alignment). Multiple processors can be used simultaneously to + achieve greater alignment speed. Bowtie can also output alignments in the + standard SAM format, allowing Bowtie to interoperate with other tools + supporting SAM, including the SAMtools consensus, SNP, and indel callers. +Section: Science/Biology + +Format: html +Files: /usr/share/doc/bowtie/manual.html +Index: /usr/share/doc/bowtie/manual.html diff --git a/debian/get-orig-source b/debian/get-orig-source new file mode 100644 index 0000000..a61aacb --- /dev/null +++ b/debian/get-orig-source @@ -0,0 +1,22 @@ +#!/bin/sh +# script to download and repack source package of bowtie which comes in zip format + +PKG=`dpkg-parsechangelog | awk '/^Source/ { print $2 }'` +VERSION=`uscan --verbose --force-download | \ + grep "Newest version on remote site is .* local version is .*" | \ + head -n 1 | \ + sed "s/Newest version on remote site is \([-0-9.]\+\),.*/\1/"` + +mkdir -p ../tarballs +cd ../tarballs + +UPSTREAMDIR=${PKG}-${VERSION} +unzip ../"${UPSTREAMDIR}-src.zip" + +## remove copy of SeqAn library - unfortunately the package does not compile +## with the Debian packaged version 1.2 +#rm -rf "${UPSTREAMDIR}"/SeqAn-1.1 + +GZIP="--best --no-name" tar -czf "$PKG"_"$VERSION".orig.tar.gz "${UPSTREAMDIR}" +rm -rf "${UPSTREAMDIR}" + diff --git a/debian/patches/gcc-4.7.patch b/debian/patches/gcc-4.7.patch new file mode 100644 index 0000000..adcb91d --- /dev/null +++ b/debian/patches/gcc-4.7.patch @@ -0,0 +1,49 @@ +Author: gregor herrmann , +Date: Sun, 22 Apr 2012 22:27:51 +0200 +Bug-Closed: http://bugs.debian.org/667120 +Description: function "reverseInPlace" is declared after the function is used + For more detailed information see + http://lists.debian.org/debian-mentors/2012/04/msg00409.html + and other mails in this thread. + +--- bowtie-0.12.7.orig/alphabet.h ++++ bowtie-0.12.7/alphabet.h +@@ -41,6 +41,19 @@ + /** + * Reverse-complement s in-place. Ns go to Ns. + */ ++ ++/// Reverse a string in-place ++template ++static inline void reverseInPlace(TStr& s) { ++ typedef typename Value::Type TVal; ++ size_t len = length(s); ++ for(size_t i = 0; i < (len>>1); i++) { ++ TVal tmp = s[i]; ++ s[i] = s[len-i-1]; ++ s[len-i-1] = tmp; ++ } ++} ++ + template + static inline void reverseComplementInPlace(TStr& s, bool color) { + typedef typename Value::Type TVal; +@@ -69,18 +82,6 @@ + } + } + +-/// Reverse a string in-place +-template +-static inline void reverseInPlace(TStr& s) { +- typedef typename Value::Type TVal; +- size_t len = length(s); +- for(size_t i = 0; i < (len>>1); i++) { +- TVal tmp = s[i]; +- s[i] = s[len-i-1]; +- s[len-i-1] = tmp; +- } +-} +- + /** + * Return the reverse-complement of s. + */ diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..9982159 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,2 @@ +gcc-4.7.patch +use-dpkg-buildflags.patch diff --git a/debian/patches/use-dpkg-buildflags.patch b/debian/patches/use-dpkg-buildflags.patch new file mode 100644 index 0000000..146fe49 --- /dev/null +++ b/debian/patches/use-dpkg-buildflags.patch @@ -0,0 +1,17 @@ +Description: Use build flags from environment (dpkg-buildflags). + Necessary for hardening flags. +Author: Simon Ruderich +Last-Update: 2012-04-24 +Bug-Closed: http://bugs.debian.org/670230 + +--- bowtie-0.12.7.orig/Makefile ++++ bowtie-0.12.7/Makefile +@@ -177,7 +177,7 @@ + cat $^ | md5sum | awk '{print $$1}' > .$@.md5 + endef + +-ALL_FLAGS=$(EXTRA_FLAGS) $(CFLAGS) $(CXXFLAGS) ++ALL_FLAGS=$(EXTRA_FLAGS) $(CPPFLAGS) $(CFLAGS) $(CXXFLAGS) $(LDFLAGS) + DEBUG_DEFS = -DCOMPILER_OPTIONS="\"$(DEBUG_FLAGS) $(ALL_FLAGS)\"" + RELEASE_DEFS = -DCOMPILER_OPTIONS="\"$(RELEASE_FLAGS) $(ALL_FLAGS)\"" + diff --git a/debian/patches/use_debian_seqan.patch b/debian/patches/use_debian_seqan.patch new file mode 100644 index 0000000..53c9519 --- /dev/null +++ b/debian/patches/use_debian_seqan.patch @@ -0,0 +1,26 @@ +Note: This patch is deactivated because the Debian packaged version of SeqAn 1.2 + is not compatible with the version included into this package + +Author: Andreas Tille +Date: 2011-01-30 +Description: Use Debian packages SeqAn Librariy instead of copy in upstream source +--- bowtie-0.12.7.orig/Makefile ++++ bowtie-0.12.7/Makefile +@@ -2,7 +2,7 @@ + # Makefile for bowtie, bowtie-build, bowtie-inspect + # + +-SEQAN_DIR = SeqAn-1.1 ++SEQAN_DIR = /usr/include/seqan + SEQAN_INC = -I $(SEQAN_DIR) + INC = $(SEQAN_INC) + GCC_PREFIX = $(shell dirname `which gcc`) +@@ -149,8 +149,6 @@ + $(wildcard *.hh) \ + $(wildcard *.c) \ + $(wildcard *.cpp) \ +- $(shell $(FIND) SeqAn-1.1 -name "*.h") \ +- $(shell $(FIND) SeqAn-1.1 -name "*.txt") \ + doc/strip_markdown.pl \ + Makefile \ + $(GENERAL_LIST) diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..99e705b --- /dev/null +++ b/debian/rules @@ -0,0 +1,32 @@ +#!/usr/bin/make -f +# debian/rules for bowtie +# Andreas Tille +# GPL + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +# export DEB_BUILD_MAINT_OPTIONS = hardening=+all + +pkg := $(shell dpkg-parsechangelog | sed -n 's/^Source: //p') + +%: + dh $@ + +override_dh_auto_build: + $(MAKE) allall + +override_dh_auto_install: + help2man --name="ultrafast memory-efficient short read aligner" --no-info \ + $(CURDIR)/bowtie > $(CURDIR)/debian/$(pkg)/usr/share/man/man1/bowtie.1 + help2man --name="building a colorspace index for bowtie" --no-info \ + $(CURDIR)/bowtie-build > $(CURDIR)/debian/$(pkg)/usr/share/man/man1/bowtie-build.1 + help2man --name="extracts information from a bowtie index" --no-info \ + $(CURDIR)/bowtie-inspect > $(CURDIR)/debian/$(pkg)/usr/share/man/man1/bowtie-inspect.1 + +override_dh_auto_clean: + rm -f .bowtie* + dh_auto_clean + +get-orig-source: + . debian/get-orig-source diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/upstream b/debian/upstream new file mode 100644 index 0000000..da7568a --- /dev/null +++ b/debian/upstream @@ -0,0 +1,10 @@ +Reference: + author: Ben Langmead and Cole Trapnell and Mihai Pop and Steven L Salzberg + title: Ultrafast and memory-efficient alignment of short DNA sequences to the human genome + journal: Genome Biology + volume: 10 + pages: R25 + year: 2009 + DOI: 10.1186/gb-2009-10-3-r25 + URL: http://genomebiology.com/2009/10/3/R25 + eprint: http://genomebiology.com/content/pdf/gb-2009-10-3-r25.pdf diff --git a/debian/watch b/debian/watch new file mode 100644 index 0000000..e63fb24 --- /dev/null +++ b/debian/watch @@ -0,0 +1,2 @@ +version=3 +http://sf.net/bowtie-bio/bowtie-([\d\.]+)-src\.zip