[med-svn] [hisat2] 02/02: initial debianization

Michael Crusoe misterc-guest at moszumanska.debian.org
Wed Aug 17 14:56:18 UTC 2016


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

misterc-guest pushed a commit to branch master
in repository hisat2.

commit e852b4edc446fd4da8091859e8987b43f6767a13
Author: Michael R. Crusoe <crusoe at ucdavis.edu>
Date:   Wed Aug 17 04:29:06 2016 -0700

    initial debianization
---
 debian/changelog             |   5 ++
 debian/clean                 |   1 +
 debian/compat                |   1 +
 debian/control               |  29 +++++++++
 debian/copyright             |  54 +++++++++++++++++
 debian/docs                  |   1 +
 debian/install               |   9 +++
 debian/manpages              |   1 +
 debian/patches/hardening     | 139 +++++++++++++++++++++++++++++++++++++++++++
 debian/patches/reproducibile |  20 +++++++
 debian/patches/series        |   2 +
 debian/rules                 |  38 ++++++++++++
 debian/source/format         |   1 +
 debian/upstream/metadata     |  10 ++++
 debian/watch                 |  39 ++++++++++++
 15 files changed, 350 insertions(+)

diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..4d10cd9
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,5 @@
+hisat2 (2.0.4-1) UNRELEASED; urgency=medium
+
+  * Initial release. (Closes: #834592)
+
+ -- Michael R. Crusoe <michael.crusoe at gmail.com>  Wed, 17 Aug 2016 05:15:40 -0700
diff --git a/debian/clean b/debian/clean
new file mode 100644
index 0000000..0f65186
--- /dev/null
+++ b/debian/clean
@@ -0,0 +1 @@
+debian/*.1
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..5eb01c0
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,29 @@
+Source: hisat2
+Section: science
+Priority: optional
+Maintainer: Debian Med Packaging Team <debian-med-packaging at lists.alioth.debian.org>
+Uploaders: Michael R. Crusoe <michael.crusoe at gmail.com>
+Build-Depends: debhelper (>= 9),
+               help2man,
+               pandoc,
+               python
+Standards-Version: 3.9.8
+Vcs-Browser: https://anonscm.debian.org/cgit/debian-med/hisat2.git
+Vcs-Git: https://anonscm.debian.org/git/debian-med/python3-typed-ast.git
+Homepage: https://ccb.jhu.edu/software/hisat2/index.shtml
+
+Package: hisat2
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, python
+Description: graph-based alignment of short nucleotide reads to many genomes
+ HISAT2 is a fast and sensitive alignment program for mapping next-generation
+ sequencing reads (both DNA and RNA) to a population of human genomes (as well
+ as against a single reference genome). Based on an extension of BWT for graphs
+ a graph FM index (GFM) was designed and implementd. In addition to using
+ one global GFM index that represents a population of human genomes, HISAT2
+ uses a large set of small GFM indexes that collectively cover the whole genome
+ (each index representing a genomic region of 56 Kbp, with 55,000 indexes
+ needed to cover the human population). These small indexes (called local
+ indexes), combined with several alignment strategies, enable rapid and
+ accurate alignment of sequencing reads. This new indexing scheme is called a
+ Hierarchical Graph FM index (HGFM). 
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..e5ff695
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,54 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: HISAT2
+Source: ftp://ftp.ccb.jhu.edu/pub/infphilo/hisat2/downloads/hisat2-2.0.4-source.zip
+
+Files: *
+Copyright: © 2011-2012, Ben Langmead <langmea at cs.jhu.edu>
+           © 2013-2016, Daehwan Kim <infphilo at gmail.com>
+           © 2015 Joe Paggi <jpaggi at mit.edu>
+License: GPL-3+
+
+Files: fast_mutex.h
+ tinythread.cpp
+ tinythread.h
+Copyright: © 2010-2012, Marcus Geelnard
+License: Zlib
+ This software is provided 'as-is', without any express or implied warranty. In
+ no event will the authors be held liable for any damages arising from the use
+ of this software.
+ .
+ Permission is granted to anyone to use this software for any purpose, including
+ commercial applications, and to alter it and redistribute it freely, subject to
+ the following restrictions:
+ .
+ 1. The origin of this software must not be misrepresented; you must not claim
+ that you wrote the original software. If you use this software in a product, an
+ acknowledgment in the product documentation would be appreciated but is not
+ required.
+ .
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ .
+ 3. This notice may not be removed or altered from any source distribution.
+
+Files: debian/*
+Copyright: © 2016 Michael R. Crusoe <michael.crusoe at gmail.com>
+License: GPL-3+
+
+License: GPL-3+
+  This package is free software; you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation; either version 3 of the License, or
+  (at your option) any later version.
+  .
+  This package 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 General Public License for more details.
+  .
+  You should have received a copy of the GNU General Public License
+  along with this package; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+  .
+  On Debian systems, the complete text of the GNU General Public
+  License version 3 can be found in  `/usr/share/common-licenses/GPL-3'.
diff --git a/debian/docs b/debian/docs
new file mode 100644
index 0000000..bea77d9
--- /dev/null
+++ b/debian/docs
@@ -0,0 +1 @@
+MANUAL
diff --git a/debian/install b/debian/install
new file mode 100644
index 0000000..13571f6
--- /dev/null
+++ b/debian/install
@@ -0,0 +1,9 @@
+hisat2 /usr/bin/
+hisat2-build /usr/bin/
+hisat2-build-s /usr/bin/
+hisat2-build-l /usr/bin/
+hisat2-align-s /usr/bin/ 
+hisat2-align-l /usr/bin/ 
+hisat2-inspect /usr/bin/
+hisat2-inspect-s /usr/bin/
+hisat2-inspect-l /usr/bin/
diff --git a/debian/manpages b/debian/manpages
new file mode 100644
index 0000000..0f65186
--- /dev/null
+++ b/debian/manpages
@@ -0,0 +1 @@
+debian/*.1
diff --git a/debian/patches/hardening b/debian/patches/hardening
new file mode 100644
index 0000000..f8a91e9
--- /dev/null
+++ b/debian/patches/hardening
@@ -0,0 +1,139 @@
+Author: Michael R. Crusoe <michael.crusoe at gmail.com>
+Description: Enable the passing of extra compilation flags, for hardening
+--- hisat2.orig/Makefile
++++ hisat2/Makefile
+@@ -157,7 +157,7 @@
+ 
+ DEBUG_FLAGS    = -O0 -g3 $(BIToS_FLAG) $(SSE_FLAG)
+ DEBUG_DEFS     = -DCOMPILER_OPTIONS="\"$(DEBUG_FLAGS) $(EXTRA_FLAGS)\""
+-RELEASE_FLAGS  = -O3 $(BITS_FLAG) $(SSE_FLAG) -funroll-loops -g3
++RELEASE_FLAGS  = -O3 $(BITS_FLAG) $(SSE_FLAG) -funroll-loops -g3 $(CPPFLAGS)
+ RELEASE_DEFS   = -DCOMPILER_OPTIONS="\"$(RELEASE_FLAGS) $(EXTRA_FLAGS)\""
+ NOASSERT_FLAGS = -DNDEBUG
+ FILE_FLAGS     = -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
+@@ -253,7 +253,7 @@
+ 	$(INC) \
+ 	-o $@ $< \
+ 	$(SHARED_CPPS) $(HISAT_CPPS_MAIN) \
+-	$(LIBS) $(SEARCH_LIBS)
++	$(LIBS) $(SEARCH_LIBS) $(LDFLAGS)
+ 
+ hisat-bp-bin-debug: hisat_bp.cpp $(SEARCH_CPPS) $(SHARED_CPPS) $(HEADERS) $(SEARCH_FRAGMENTS)
+ 	$(CXX) $(DEBUG_FLAGS) \
+@@ -262,7 +262,7 @@
+ 	$(INC) \
+ 	-o $@ $< \
+ 	$(SHARED_CPPS) $(HISAT_CPPS_MAIN) \
+-	$(LIBS) $(SEARCH_LIBS)
++	$(LIBS) $(SEARCH_LIBS) $(LDFLAGS)
+ 
+ 
+ #
+@@ -275,7 +275,7 @@
+ 	$(INC) \
+ 	-o $@ $< \
+ 	$(SHARED_CPPS) $(HISAT2_BUILD_CPPS_MAIN) \
+-	$(LIBS) $(BUILD_LIBS)
++	$(LIBS) $(BUILD_LIBS) $(LDFLAGS)
+ 
+ hisat2-build-l: hisat2_build.cpp $(SHARED_CPPS) $(HEADERS)
+ 	$(CXX) $(RELEASE_FLAGS) $(RELEASE_DEFS) $(EXTRA_FLAGS) \
+@@ -283,7 +283,7 @@
+ 	$(INC) \
+ 	-o $@ $< \
+ 	$(SHARED_CPPS) $(HISAT2_BUILD_CPPS_MAIN) \
+-	$(LIBS) $(BUILD_LIBS)
++	$(LIBS) $(BUILD_LIBS) $(LDFLAGS)
+ 
+ hisat2-build-s-debug: hisat2_build.cpp $(SHARED_CPPS) $(HEADERS)
+ 	$(CXX) $(DEBUG_FLAGS) $(DEBUG_DEFS) $(EXTRA_FLAGS) \
+@@ -291,7 +291,7 @@
+ 	$(INC) \
+ 	-o $@ $< \
+ 	$(SHARED_CPPS) $(HISAT2_BUILD_CPPS_MAIN) \
+-	$(LIBS) $(BUILD_LIBS)
++	$(LIBS) $(BUILD_LIBS) $(LDFLAGS)
+ 
+ hisat2-build-l-debug: hisat2_build.cpp $(SHARED_CPPS) $(HEADERS)
+ 	$(CXX) $(DEBUG_FLAGS) $(DEBUG_DEFS) $(EXTRA_FLAGS) \
+@@ -299,7 +299,7 @@
+ 	$(INC) \
+ 	-o $@ $< \
+ 	$(SHARED_CPPS) $(HISAT2_BUILD_CPPS_MAIN) \
+-	$(LIBS) $(BUILD_LIBS)
++	$(LIBS) $(BUILD_LIBS) $(LDFLAGS)
+ 
+ #
+ # hisat2 targets
+@@ -311,7 +311,7 @@
+ 	$(INC) $(SEARCH_INC) \
+ 	-o $@ $< \
+ 	$(SHARED_CPPS) $(HISAT2_CPPS_MAIN) \
+-	$(LIBS) $(SRA_LIB) $(SEARCH_LIBS)
++	$(LIBS) $(SRA_LIB) $(SEARCH_LIBS) $(LDFLAGS)
+ 
+ hisat2-align-l: hisat2.cpp $(SEARCH_CPPS) $(SHARED_CPPS) $(HEADERS) $(SEARCH_FRAGMENTS)
+ 	$(CXX) $(RELEASE_FLAGS) $(RELEASE_DEFS) $(EXTRA_FLAGS) \
+@@ -319,7 +319,7 @@
+ 	$(INC) $(SEARCH_INC) \
+ 	-o $@ $< \
+ 	$(SHARED_CPPS) $(HISAT2_CPPS_MAIN) \
+-	$(LIBS) $(SRA_LIB) $(SEARCH_LIBS)
++	$(LIBS) $(SRA_LIB) $(SEARCH_LIBS) $(LDFLAGS)
+ 
+ hisat2-align-s-debug: hisat2.cpp $(SEARCH_CPPS) $(SHARED_CPPS) $(HEADERS) $(SEARCH_FRAGMENTS)
+ 	$(CXX) $(DEBUG_FLAGS) \
+@@ -328,7 +328,7 @@
+ 	$(INC) $(SEARCH_INC) \
+ 	-o $@ $< \
+ 	$(SHARED_CPPS) $(HISAT2_CPPS_MAIN) \
+-	$(LIBS) $(SRA_LIB) $(SEARCH_LIBS)
++	$(LIBS) $(SRA_LIB) $(SEARCH_LIBS) $(LDFLAGS)
+ 
+ hisat2-align-l-debug: hisat2.cpp $(SEARCH_CPPS) $(SHARED_CPPS) $(HEADERS) $(SEARCH_FRAGMENTS)
+ 	$(CXX) $(DEBUG_FLAGS) \
+@@ -337,7 +337,7 @@
+ 	$(INC) $(SEARCH_INC) \
+ 	-o $@ $< \
+ 	$(SHARED_CPPS) $(HISAT2_CPPS_MAIN) \
+-	$(LIBS) $(SRA_LIB) $(SEARCH_LIBS)
++	$(LIBS) $(SRA_LIB) $(SEARCH_LIBS) $(LDFLAGS)
+ 
+ #
+ # hisat2-inspect targets
+@@ -350,7 +350,7 @@
+ 	$(INC) -I . \
+ 	-o $@ $< \
+ 	$(SHARED_CPPS) \
+-	$(LIBS) $(INSPECT_LIBS)
++	$(LIBS) $(INSPECT_LIBS) $(LDFLAGS)
+ 
+ hisat2-inspect-l: hisat2_inspect.cpp $(HEADERS) $(SHARED_CPPS)
+ 	$(CXX) $(RELEASE_FLAGS) \
+@@ -359,7 +359,7 @@
+ 	$(INC) -I . \
+ 	-o $@ $< \
+ 	$(SHARED_CPPS) \
+-	$(LIBS) $(INSPECT_LIBS)
++	$(LIBS) $(INSPECT_LIBS) $(LDFLAGS)
+ 
+ hisat2-inspect-s-debug: hisat2_inspect.cpp $(HEADERS) $(SHARED_CPPS) 
+ 	$(CXX) $(DEBUG_FLAGS) \
+@@ -368,7 +368,7 @@
+ 	$(INC) -I . \
+ 	-o $@ $< \
+ 	$(SHARED_CPPS) \
+-	$(LIBS) $(INSPECT_LIBS)
++	$(LIBS) $(INSPECT_LIBS) $(LDFLAGS)
+ 
+ hisat2-inspect-l-debug: hisat2_inspect.cpp $(HEADERS) $(SHARED_CPPS) 
+ 	$(CXX) $(DEBUG_FLAGS) \
+@@ -377,7 +377,7 @@
+ 	$(INC) -I . \
+ 	-o $@ $< \
+ 	$(SHARED_CPPS) \
+-	$(LIBS) $(INSPECT_LIBS)
++	$(LIBS) $(INSPECT_LIBS) $(LDFLAGS)
+ 
+ 
+ 
diff --git a/debian/patches/reproducibile b/debian/patches/reproducibile
new file mode 100644
index 0000000..6f6fd91
--- /dev/null
+++ b/debian/patches/reproducibile
@@ -0,0 +1,20 @@
+Author: Michael R. Crusoe
+Description: Make build reproducible
+--- hisat2.orig/Makefile
++++ hisat2/Makefile
+@@ -233,10 +233,13 @@
+ 
+ both-debug: hisat2-align-s-debug hisat2-align-l-debug hisat2-build-s-debug hisat2-build-l-debug
+ 
++BUILD_HOST ?= $(shell hostname)
++BUILD_TIME ?= $(shell date)
++
+ DEFS=-fno-strict-aliasing \
+      -DHISAT2_VERSION="\"`cat VERSION`\"" \
+-     -DBUILD_HOST="\"`hostname`\"" \
+-     -DBUILD_TIME="\"`date`\"" \
++     -DBUILD_HOST="\"${BUILD_HOST}\"" \
++     -DBUILD_TIME="\"${BUILD_TIME}\"" \
+      -DCOMPILER_VERSION="\"`$(CXX) -v 2>&1 | tail -1`\"" \
+      $(FILE_FLAGS) \
+      $(PREF_DEF) \
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..7b63eaf
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,2 @@
+hardening
+reproducibile
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..2b014bc
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,38 @@
+#!/usr/bin/make -f
+
+# DH_VERBOSE := 1
+export LC_ALL=C.UTF-8
+
+# for hardening you might like to uncomment this:
+export DEB_BUILD_MAINT_OPTIONS=hardening=+all
+
+DEBFLAVOR      := $(shell dpkg-parsechangelog | awk '/^Distribution:/ {print $$2}')
+
+%:
+	dh $@
+
+override_dh_auto_build:
+	make BUILD_HOST='Debian ${DEBFLAVOR}' \
+		BUILD_TIME="$(shell date --date=@`dpkg-parsechangelog --show-field Timestamp`)" \
+		all doc
+	help2man ./hisat2 --no-info --name \
+		'graph-based alignment of short nucleotide reads to many genomes, wrapper script' \
+		> debian/hisat2.1
+	help2man ./hisat2-align-l --name 'HISAT2 graph-based alignment of short nucleotide reads to many genomes, large index binary' \
+		--no-info > debian/hisat2-align-l.1
+	help2man ./hisat2-align-s --name 'HISAT2 graph-based alignment of short nucleotide reads to many genomes, small index binary' \
+		--no-info > debian/hisat2-align-s.1
+	help2man ./hisat2-build --name 'HISAT2 indexer, wrapper script' \
+		--no-info > debian/hisat2-build.1
+	#rm hisat2-buildc
+	help2man ./hisat2-build-l --name 'HISAT2 indexer, large index binary' \
+		--no-info > debian/hisat2-build-l.1
+	help2man ./hisat2-build-s --name 'HISAT2 indexer, small index binary' \
+		--no-info > debian/hisat2-build-s.1
+	help2man ./hisat2-inspect --name 'HISAT2 index inspector, wrapper script' \
+		--no-info > debian/hisat2-inspect.1
+	help2man ./hisat2-inspect-l --name 'HISAT2 index inspector, large index binary' \
+		--no-info > debian/hisat2-inspect-l.1
+	help2man ./hisat2-inspect-s --name 'HISAT2 index inspector, small index binary' \
+		--no-info > debian/hisat2-inspect-s.1
+
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/metadata b/debian/upstream/metadata
new file mode 100644
index 0000000..0e5ef9f
--- /dev/null
+++ b/debian/upstream/metadata
@@ -0,0 +1,10 @@
+Reference:
+  Author: Daehwan Kim and Ben Langmead and Steven L Salzberg
+  Title: "HISAT: a fast spliced aligner with low memory requirements"
+  Journal: Nature Methods
+  Year: 2015
+  Volume: 12
+  Number: 4
+  Pages: 357-360
+  DOI: 10.1038/nmeth.3317
+  URL: http://dx.doi.org/10.1038/nmeth.3317
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..5d88692
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,39 @@
+version=3
+
+# Uncomment to examine a Webpage
+# <Webpage URL> <string match>
+#http://www.example.com/downloads.php #PACKAGE#-(.*)\.tar\.gz
+
+# Uncomment to examine a Webserver directory
+#http://www.example.com/pub/#PACKAGE#-(.*)\.tar\.gz
+
+# Uncommment to examine a FTP server
+#ftp://ftp.example.com/pub/#PACKAGE#-(.*)\.tar\.gz debian uupdate
+
+# Uncomment to find new files on sourceforge
+# http://sf.net/#PACKAGE#/#PACKAGE#-(\d[\d\.]+)\.(?:tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz)))
+
+# Uncomment to find new files on Github
+#  - when using releases:
+# https://github.com/#GITHUBUSER#/#PACKAGE#/releases .*/archive/#PREFIX#(\d[\d.-]+)\.(?:tar(?:\.gz|\.bz2)?|tgz)
+#  - when using tags
+# https://github.com/#GITHUBUSER#/#PACKAGE#/tags .*/#PREFIX#(\d.*)\.(?:tgz|tbz2|txz|tar\.(?:gz|bz2|xz))
+# Remark: frequently you can do s/#PREFIX#/v?/ since 'v' or nothing is quite common but there are other prefixes possible
+
+# PyPi repository of Python modules
+#  see https://lists.debian.org/debian-python/2015/02/msg00027.html
+# http://pypi.debian.net/#module#/#module#-(.+)\.(?:tar(?:\.gz|\.bz2)?|tgz)
+
+# Bitbucket
+# https://bitbucket.org/<user>/<project>/downloads .*/(\d\S*)\.tar\.gz
+
+# Gitlab
+# opts=filenamemangle=s/.*\.tar\.gz\?ref=v?(\d\S*)/<project>-$1\.tar\.gz/g \
+#  https://gitlab.com/<user>/<project>/tags .*archive\.tar\.gz\?ref=v?(\d\S*)
+
+# if tweaking of source is needed
+# \
+# debian debian/get-orig-source
+
+# if you need to repack and choose +dfsg prefix
+# opts="repacksuffix=+dfsg,dversionmangle=s/\+dfsg//g,compress=xz" \

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



More information about the debian-med-commit mailing list