Skip to content
Commits on Source (9)
genometools (1.5.10+ds-3) unstable; urgency=medium
* debhelper 11
* Point Vcs fields to salsa.debian.org
* Standards-Version: 4.2.1
* Secure URI in copyright format
* Respect DEB_BUILD_OPTIONS in override_dh_auto_test target
* Do not parse d/changelog
* Remove unused patches
-- Andreas Tille <tille@debian.org> Sun, 28 Oct 2018 14:54:51 +0100
genometools (1.5.10+ds-2) unstable; urgency=medium
* Ensure that src/external is not repopulated by patches.
......
......@@ -4,7 +4,7 @@ Uploaders: Sascha Steinbiss <satta@debian.org>,
Andreas Tille <tille@debian.org>
Section: science
Priority: optional
Build-Depends: debhelper (>= 9),
Build-Depends: debhelper (>= 11~),
dh-python,
liblua5.1-0-dev,
lua-md5-dev,
......@@ -32,9 +32,9 @@ Build-Depends: debhelper (>= 9),
docbook-xml,
faketime,
imagemagick
Standards-Version: 4.1.2
Vcs-Browser: https://anonscm.debian.org/cgit/debian-med/genometools.git
Vcs-Git: https://anonscm.debian.org/git/debian-med/genometools.git
Standards-Version: 4.2.1
Vcs-Browser: https://salsa.debian.org/med-team/genometools
Vcs-Git: https://salsa.debian.org/med-team/genometools.git
Homepage: http://genometools.org
Package: genometools
......
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: genometools
Source: http://genometools.org
Files-Excluded: src/external
......
......@@ -11,4 +11,4 @@ Abstract: User manuals for GenomeTools
Section: Science/Biology
Format: PDF
Files: /usr/share/doc/genometools-doc/*.pdf.gz
Files: /usr/share/doc/genometools/*.pdf.gz
Description: add soname to linker call in Makefile
Upstream Makefile does not build a shared object with soname or version
number. This patch adds support for sonames, as well a symlink from
the .so to the .so.X file.
Author: Sascha Steinbiss <steinbiss@zbh.uni-hamburg.de>
--- a/Makefile
+++ b/Makefile
@@ -191,7 +191,7 @@
# add necessary shared lib dependencies then not building them ourselves
ifeq ($(useshared),yes)
DEPLIBS:=-lbz2 -lz -lexpat -llua5.1-lpeg -llua5.1 -llua5.1-md5 \
- -llua5.1-filesystem -llua5.1-des56 -lbam
+ -llua5.1-filesystem -llua5.1-des56 -lbam -ltre
else
DEPLIBS:=
endif
Description: Do not use -m64 in arm64.
Author: Sascha Steinbiss <steinbiss@zbh.uni-hamburg.de>
--- a/Makefile
+++ b/Makefile
@@ -308,7 +308,7 @@
endif
ifeq ($(m64),yes)
- ifeq (,$(filter $(MACHINE),ia64 alpha mips64 mips64el))
+ ifeq (,$(filter $(MACHINE),ia64 alpha mips64 mips64el aarch64))
GT_CFLAGS += -m64
GT_LDFLAGS += -m64
SQLITE_CFLAGS += -m64
Description: Adapt code to work with char being unsigned by default.
Author: Sascha Steinbiss <steinbiss@zbh.uni-hamburg.de>
--- a/src/core/safearith.c
+++ b/src/core/safearith.c
@@ -182,8 +182,10 @@
gt_error_check(err);
{
+ /* This is not always true, e.g. on PPC and ARM!
+ cf. http://www.network-theory.co.uk/docs/gccintro/gccintro_71.html
gt_ensure(__MIN(char) == -128);
- gt_ensure(__MAX(char) == 127);
+ gt_ensure(__MAX(char) == 127); */
gt_ensure(__MIN(unsigned char) == 0);
gt_ensure(__MAX(unsigned char) == 255);
--- a/src/core/tokenizer.c
+++ b/src/core/tokenizer.c
@@ -45,7 +45,9 @@
GtStr* gt_tokenizer_get_token(GtTokenizer *t)
{
- char c = EOF;
+ char c;
+ bool has_eof = true;
+ int rval = 0;
gt_assert(t);
/* if we have no current token, get it if possible */
@@ -53,32 +55,44 @@
if (t->skip_comment_lines && gt_io_line_start(t->io)) {
for (;;) {
gt_assert(gt_io_line_start(t->io));
- if ((gt_io_get_char(t->io, &c) != -1)) {
- if (c == '#') {
+ if ((gt_io_get_char(t->io, (char*) &c) != -1)) {
+ if ((char) c == '#') {
/* skip line */
while ((gt_io_get_char(t->io, &c) != -1) && c != '\n');
- c = EOF;
+ has_eof = true;
}
else {
gt_io_unget_char(t->io, c);
+ has_eof = false;
break;
}
}
- else
+ else {
+ c = EOF;
break;
+ }
}
- }
- while ((gt_io_get_char(t->io, &c) != -1) && c == ' '); /* skip blanks */
+ } /* skip blanks */
+ while (((rval = gt_io_get_char(t->io, &c)) != -1) && c == ' ');
+ if (rval == -1)
+ has_eof = true;
+ else
+ has_eof = false;
do {
- if (c != EOF) {
+ if (!has_eof) {
if (!t->token)
t->token = gt_str_new();
if (c == '\n')
break;
gt_str_append_char(t->token, c);
}
- } while ((gt_io_get_char(t->io, &c) != -1) && c != ' ' && c != '\n');
- if (c == '\n' && c != EOF) {
+ } while (((rval = gt_io_get_char(t->io, &c)) != -1)
+ && c != ' ' && c != '\n');
+ if (rval == -1)
+ has_eof = true;
+ else
+ has_eof = false;
+ if (c == '\n' && !has_eof) {
gt_assert(t->token);
gt_str_append_char(t->token, c);
}
--- a/src/core/tokenizer.h
+++ b/src/core/tokenizer.h
@@ -33,7 +33,7 @@
bool gt_tokenizer_has_token(GtTokenizer*);
bool gt_tokenizer_line_start(const GtTokenizer*);
void gt_tokenizer_next_token(GtTokenizer*); /* go to the next token */
-GtUword gt_tokenizer_get_line_number(const GtTokenizer*);
+GtUword gt_tokenizer_get_line_number(const GtTokenizer*);
const char* gt_tokenizer_get_filename(const GtTokenizer*);
int gt_tokenizer_unit_test(GtError*);
void gt_tokenizer_delete(GtTokenizer*);
--- a/src/core/trans_table.c
+++ b/src/core/trans_table.c
@@ -21,7 +21,7 @@
#include "core/ma.h"
#include "core/trans_table.h"
-#define GT_AMINOACIDFAIL -1
+#define GT_AMINOACIDFAIL ((char) 0)
/* The integer which a T is encoded to. */
#define GT_T_CODE 0
--- a/src/extended/gff3_escaping.c
+++ b/src/extended/gff3_escaping.c
@@ -64,7 +64,8 @@
unsigned char d;
gt_assert(str && out);
if (!(GtIsHexChar[(int) *(str+1)] & 2)
- || !(GtIsHexChar[(int) *(str+2)] & 1)) {
+ || !(GtIsHexChar[(int) *(str+2)] & 1)
+ || !strncmp(str, "%7F", 3 * (sizeof (char)))) {
return -1;
}
d = (GtHexToDec[(int) *(str+1)] << 4) | (GtHexToDec[(int) *(str+2)]);
Description: change test caption to be less problematic
Author: Sascha Steinbiss <satta@debian.org>
Origin: https://github.com/genometools/genometools/commit/d86b83dda1eb43a5adf27f831b103f817e1dc48f#commitcomment-20423074
--- a/testdata/gt_sketch_textwidth.gff3
+++ b/testdata/gt_sketch_textwidth.gff3
@@ -1,6 +1,6 @@
##gff-version 3
##sequence-region ctg123 1 1497228
ctg123 . gene 1000 2000 . + 0 ID=g00001;Name=thisisalongname123
-ctg123 . gene 2001 3000 . + 0 ID=g00002;Name=anotherlongname123
+ctg123 . gene 2001 3000 . + 0 ID=g00002;Name=anotherlongname
ctg123 . gene 3001 4000 . + 0 ID=g00003;Name=stillanotherlonglonglonglonglonglonglongname
ctg123 . gene 4001 5000 . + 0 ID=g00004;Name=shortname
From 3bf0e31b3a020c415d99d8661c5aca32647c7a6f Mon Sep 17 00:00:00 2001
From: Sascha Steinbiss <ss34@sanger.ac.uk>
Date: Thu, 7 Apr 2016 10:25:25 +0100
Subject: [PATCH] introduce dates for manuals
IMHO manuals should have a specific date, and the build date should not be
relevant here. This commit initialises the date fields in the manuals by
setting the date to the last modification date of the file in git, as
given by:
for f in doc/manuals/*.tex; do
export OUT=`TZ=UTC LC_ALL=C date -d "$(git log -1 --format='%aD' -- $f )" +'%d\/%m\/%Y'`;
sed -ri "s/.begin.document./\\\date{$OUT}\n\\\begin{document}/g" $f;
unset OUT;
done
---
doc/manuals/annotationsketch.tex | 1 +
doc/manuals/genomediff.tex | 1 +
doc/manuals/hop.tex | 1 +
doc/manuals/ltrdigest.tex | 1 +
doc/manuals/ltrharvest.tex | 1 +
doc/manuals/mgth.tex | 1 +
doc/manuals/packedindex.tex | 1 +
doc/manuals/readjoiner.tex | 1 +
doc/manuals/repfind.tex | 1 +
doc/manuals/tagerator.tex | 1 +
doc/manuals/tallymer.tex | 1 +
doc/manuals/uniquesub.tex | 1 +
12 files changed, 12 insertions(+)
--- a/doc/manuals/annotationsketch.tex
+++ b/doc/manuals/annotationsketch.tex
@@ -50,6 +50,7 @@
\subject{Supplementary Information}
\author{Sascha Steinbiss, Gordon Gremme, Christin Sch\"arfer, Malte Mader\\ and Stefan Kurtz}
+\date{11/07/2012}
\begin{document}
\maketitle
--- a/doc/manuals/genomediff.tex
+++ b/doc/manuals/genomediff.tex
@@ -59,6 +59,7 @@
\url{willrodt@zbh.uni-hamburg.de}\\
\end{tabular}}
+\date{02/10/2012}
\begin{document}
%\tsuhhfamily
\maketitle
--- a/doc/manuals/hop.tex
+++ b/doc/manuals/hop.tex
@@ -32,6 +32,7 @@
\url{kurtz@zbh.uni-hamburg.de}\\[1cm]
\end{tabular}}
+\date{15/05/2014}
\begin{document}
\maketitle
--- a/doc/manuals/ltrdigest.tex
+++ b/doc/manuals/ltrdigest.tex
@@ -41,6 +41,7 @@
\end{tabular}
\end{tabular}}
+\date{26/08/2013}
\begin{document}
\maketitle
--- a/doc/manuals/ltrharvest.tex
+++ b/doc/manuals/ltrharvest.tex
@@ -41,6 +41,7 @@
\url{http://www.biomedcentral.com/1471-2105/9/18}
\end{tabular}
\end{tabular}}
+\date{26/08/2013}
\begin{document}
\maketitle
--- a/doc/manuals/mgth.tex
+++ b/doc/manuals/mgth.tex
@@ -37,6 +37,7 @@
20146 Hamburg\\
Germany\\[1cm]
\end{tabular}}
+\date{26/08/2013}
\begin{document}
\maketitle
--- a/doc/manuals/packedindex.tex
+++ b/doc/manuals/packedindex.tex
@@ -38,6 +38,7 @@
% BMC Bioinformatics 2008, 9:18
\end{tabular}
\end{tabular}}
+\date{26/08/2013}
\begin{document}
\maketitle
--- a/doc/manuals/readjoiner.tex
+++ b/doc/manuals/readjoiner.tex
@@ -45,6 +45,7 @@
\url{kurtz@zbh.uni-hamburg.de}\\[1cm]
\end{tabular}}
+\date{18/02/2014}
\begin{document}
\maketitle
--- a/doc/manuals/repfind.tex
+++ b/doc/manuals/repfind.tex
@@ -28,6 +28,7 @@
University of Hamburg
\end{tabular}}
+\date{26/08/2013}
\begin{document}
\maketitle
This manual describes the options of the program \Repfind. It also gives
--- a/doc/manuals/tagerator.tex
+++ b/doc/manuals/tagerator.tex
@@ -22,6 +22,7 @@
University of Hamburg
\end{tabular}}
+\date{26/08/2013}
\begin{document}
\maketitle
--- a/doc/manuals/tallymer.tex
+++ b/doc/manuals/tallymer.tex
@@ -95,6 +95,7 @@
University of Hamburg
\end{tabular}}
+\date{26/08/2013}
\begin{document}
\maketitle
This manual describes the \textit{Tallymer}-software, a collection of programs
--- a/doc/manuals/uniquesub.tex
+++ b/doc/manuals/uniquesub.tex
@@ -24,6 +24,7 @@
University of Hamburg
\end{tabular}}
+\date{26/08/2013}
\begin{document}
\maketitle
--- a/doc/devguide/devguide.tex
+++ b/doc/devguide/devguide.tex
@@ -36,6 +36,7 @@
\author{Sascha Steinbiss, Gordon Gremme and Stefan
Kurtz\thanks{please send comments to:
\texttt{steinbiss@zbh.uni-hamburg.de}}}
+\date{18/02/2016}
\begin{document}
--- a/doc/manuals/matstat.tex
+++ b/doc/manuals/matstat.tex
@@ -23,6 +23,7 @@
Center for Bioinformatics,\\
University of Hamburg
\end{tabular}}
+\date{26/01/2008}
\begin{document}
\maketitle
Description: Fix compilation on mips64.
Author: Sascha Steinbiss <steinbiss@zbh.uni-hamburg.de>
--- a/Makefile
+++ b/Makefile
@@ -308,12 +308,10 @@
endif
ifeq ($(m64),yes)
- ifneq ($(MACHINE),ia64)
- ifneq ($(MACHINE),alpha)
- GT_CFLAGS += -m64
- GT_LDFLAGS += -m64
- SQLITE_CFLAGS += -m64
- endif
+ ifeq (,$(filter $(MACHINE),ia64 alpha mips64 mips64el))
+ GT_CFLAGS += -m64
+ GT_LDFLAGS += -m64
+ SQLITE_CFLAGS += -m64
endif
endif
Description: Sort inputs
--- a/Makefile
+++ b/Makefile
@@ -115,7 +115,7 @@
EXAMPLES_SRC:=src/example.c
EXAMPLES_DEP:=$(EXAMPLES_SRC:%.c=obj/%.d)
-TOOLS_SRC:=$(wildcard src/tools/*.c)
+TOOLS_SRC:=$(sort $(wildcard src/tools/*.c))
TOOLS_OBJ:=$(TOOLS_SRC:%.c=obj/%.o)
TOOLS_DEP:=$(TOOLS_SRC:%.c=obj/%.d)
@@ -449,7 +449,7 @@
endif
# the GenomeTools library
-LIBGENOMETOOLS_PRESRC:=$(foreach DIR,$(LIBGENOMETOOLS_DIRS),$(wildcard $(DIR)/*.c))
+LIBGENOMETOOLS_PRESRC:=$(foreach DIR,$(LIBGENOMETOOLS_DIRS),$(sort $(wildcard $(DIR)/*.c)))
# remove AnnotationSketch-only bindings
LIBGENOMETOOLS_PRESRC:=$(filter-out $(CAIRO_FILTER_OUT),\
$(LIBGENOMETOOLS_PRESRC))
@@ -664,7 +664,7 @@
@test -d $(@D) || mkdir -p $(@D)
@$(CC) $(EXP_LDFLAGS) $(GT_LDFLAGS) $^ -lm $(LUA_LDLIB) -o $@
-API_HEADERS=$(foreach DIR,$(LIBGENOMETOOLS_DIRS),$(wildcard $(DIR)/*_api.h))
+API_HEADERS=$(foreach DIR,$(LIBGENOMETOOLS_DIRS),$(sort $(wildcard $(DIR)/*_api.h)))
obj/public_symbols.lst: $(API_HEADERS) $(LIBGENOMETOOLS_SRC)
@echo '[gathering public API symbols to $@]'
@@ -999,8 +999,8 @@
ABTOOLS=${shell grep -l Blaufelder src/tools/*.c}
ALLSPLINT=${addprefix obj/,${notdir ${subst .c,.splint,\
- ${filter-out ${EISFILES},${wildcard ${CURDIR}/src/match/*.c}}\
- ${wildcard ${CURDIR}/src/ltr/*.c}\
+ ${filter-out ${EISFILES},${sort ${wildcard ${CURDIR}/src/match/*.c}}}\
+ ${sort ${wildcard ${CURDIR}/src/ltr/*.c}}\
${SKTOOLS} ${SKCORE} ${SKEXT} \
${DWTOOLS} ${DWCORE} ${DWEXT} \
${GGTOOLS} ${GGCORE} ${GGEXT} \
--- a/gtscripts/gtdoc.lua
+++ b/gtscripts/gtdoc.lua
@@ -104,6 +104,25 @@
end
end
+local function iter (a, i) -- taken from PiL, page 59
+ i = i + 1
+ local v = a[i]
+ if v then
+ return i, v
+ end
+end
+
+function sorted_dir(dir)
+ local entries = {}
+ local i = 0
+ for name in lfs.dir(dir) do
+ i = i + 1
+ entries[i] = name
+ end
+ table.sort(entries)
+ return iter, entries, 0
+end
+
local export = nil
local is_lua = nil
@@ -127,7 +146,7 @@
for _, v in ipairs(export) do
local filename = gt_home .. "/" .. v
if is_dir(filename) then
- for f in lfs.dir(filename) do
+ for _, f in sorted_dir(filename) do
local filename = filename .. "/" .. f
process_file(filename, be_verbose, is_lua)
end
Description: fix spelling issues
Author: Sascha Steinbiss <satta@debian.org>
Forwarded: https://github.com/genometools/genometools/pull/727, https://github.com/genometools/genometools/pull/762, https://github.com/genometools/genometools/pull/767
Applied-Upstream: 1.5.9, commit:f47cc4a6e13d037d6342b0213a5739031ada59c1
Last-Update: 2016-03-15
Description: fix minor spelling issues
Author: Sascha Steinbiss <satta@debian.org>
--- a/src/extended/condenseq_creator.c
+++ b/src/extended/condenseq_creator.c
@@ -1723,7 +1723,7 @@
if (!had_err) {
if (gt_showtime_enabled())
gt_timer_show_progress(timer, "write data, alphabet", stderr);
- gt_log_log(GT_WU " kmer positons in final kmer_db",
+ gt_log_log(GT_WU " kmer positions in final kmer_db",
gt_kmer_database_get_kmer_count(condenseq_creator->kmer_db));
gt_log_log(GT_WU " xdrop calls.", ces_c_xdrops);
gt_log_log(GT_WU " uniques", condenseq_creator->ces->udb_nelems);
--- a/src/extended/intset.h
+++ b/src/extended/intset.h
@@ -74,7 +74,7 @@
size_t gt_intset_best_memory_size(GtUword maxelement, GtUword num_of_elems);
/* Write <intset> to file <fp>. Fails with exit on IO-error. Returns NULL if
- data error occures and writes it to <err>, <intset> will be deleted at that
+ data error occurs and writes it to <err>, <intset> will be deleted at that
point. */
GtIntset* gt_intset_write(GtIntset *intset, FILE *fp, GtError *err);
--- a/src/extended/wtree_encseq.c
+++ b/src/extended/wtree_encseq.c
@@ -84,7 +84,7 @@
if (bit == 0) {
pos = gt_compressed_bitsequence_rank_0(we->c_bits, node_start + pos) -
- zero_rank_prefix - 1; /*convert count (rank) to positon */
+ zero_rank_prefix - 1; /*convert count (rank) to position */
alpha_end = middle;
node_start += we->parent_instance.members->length;
node_size = left_child_size;
@@ -96,7 +96,7 @@
one_rank_prefix =
gt_compressed_bitsequence_rank_1(we->c_bits, node_start - 1);
pos = gt_compressed_bitsequence_rank_1(we->c_bits, node_start + pos) -
- one_rank_prefix - 1; /*convert count (rank) to positon */
+ one_rank_prefix - 1; /*convert count (rank) to position */
alpha_start = middle + 1;
node_size =
gt_compressed_bitsequence_rank_1(we->c_bits,
--- a/src/match/seqabstract.h
+++ b/src/match/seqabstract.h
@@ -71,7 +71,7 @@
/* return the length of <sa> */
GtUword gt_seqabstract_length(const GtSeqabstract *sa);
-/* return character at positon <idx> (relative to <startpos>) of <sa> */
+/* return character at position <idx> (relative to <startpos>) of <sa> */
GtUchar gt_seqabstract_encoded_char(const GtSeqabstract *sa,
GtUword idx);
--- a/src/match/sfx-diffcov.c
+++ b/src/match/sfx-diffcov.c
@@ -491,7 +491,7 @@
return countderived;
}
-static int dc_compareCodeatpositon(const void *vala,const void *valb)
+static int dc_compareCodeatposition(const void *vala,const void *valb)
{
const Codeatposition *a = (const Codeatposition *) vala;
const Codeatposition *b = (const Codeatposition *) valb;
@@ -516,7 +516,7 @@
return 0;
}
-static void dc_validate_samplepositons(const GtDifferencecover *dcov)
+static void dc_validate_samplepositions(const GtDifferencecover *dcov)
{
GtUword pos;
unsigned int modvalue;
@@ -1268,7 +1268,7 @@
gt_assert(codelist.spaceCodeatposition != NULL);
qsort(codelist.spaceCodeatposition,
(size_t) codelist.nextfreeCodeatposition,
- sizeof (*codelist.spaceCodeatposition),dc_compareCodeatpositon);
+ sizeof (*codelist.spaceCodeatposition),dc_compareCodeatposition);
}
if (dcov->effectivesamplesize > 0)
{
@@ -1690,7 +1690,7 @@
printf("v=%u (size=%u)\n",dcov->vparam,dcov->size);
if (withcheck)
{
- dc_validate_samplepositons(dcov);
+ dc_validate_samplepositions(dcov);
}
dc_differencecover_sortsample(dcov,NULL,NULL,NULL,withcheck);
gt_differencecover_delete(dcov);
--- a/src/tools/gt_kmer_database.c
+++ b/src/tools/gt_kmer_database.c
@@ -126,8 +126,8 @@
gt_option_exclude(option_mean_cutoff, option);
/* -disable_prune */
- option = gt_option_new_bool("disable_prune", "disables the removel of kmers, "
- "which occure more often than the cutoff.",
+ option = gt_option_new_bool("disable_prune", "disables the removal of kmers "
+ "which occur more often than the cutoff.",
&arguments->prune, false);
gt_option_parser_add_option(op, option);
gt_option_imply(option, option_use_cutoff);
--- a/src/tools/gt_show_seedext.c
+++ b/src/tools/gt_show_seedext.c
@@ -119,7 +119,7 @@
/* -sort */
op_sortmatches = gt_option_new_bool("sort","sort matches in ascending order "
- "of their end positon on the "
+ "of their end position on the "
"query",
&arguments->sortmatches,false);
gt_option_parser_add_option(op, op_sortmatches);
--- a/Makefile
+++ b/Makefile
@@ -894,8 +894,13 @@
$(RANLIB) $(prefix)/lib/libgenometools.a
endif
ifneq ($(sharedlib),no)
- cp lib/libgenometools$(SHARED_OBJ_NAME_EXT)$(SONAME_VERSION) $(prefix)/lib
+ find src -name '*_api.h' | xargs egrep -ho '(gt_[0-9a-zA-Z_]+)(\[|\()' \
+ | sort | uniq | sed s'/.$$//' > apisyms
+ objcopy --strip-all --keep-symbols apisyms \
+ lib/libgenometools$(SHARED_OBJ_NAME_EXT)$(SONAME_VERSION) \
+ $(prefix)/lib/libgenometools$(SHARED_OBJ_NAME_EXT)$(SONAME_VERSION)
ln -fs $(prefix)/lib/libgenometools$(SHARED_OBJ_NAME_EXT)$(SONAME_VERSION) $(prefix)/lib/libgenometools$(SHARED_OBJ_NAME_EXT)
+ rm apisyms
endif
@echo '[build config script $(@F)]'
sed -e 's!@CC@!$(CC)!' -e 's!@CFLAGS@!$(EXP_CFLAGS)!' \
Description: Type conversion problem fixes.
Author: Sascha Steinbiss <steinbiss@zbh.uni-hamburg.de>
--- a/src/gtlua/encseq_lua.c
+++ b/src/gtlua/encseq_lua.c
@@ -80,8 +80,10 @@
GtReadmode readmode;
reader = check_encseq_reader(L, 1);
encseq = check_encseq(L, 2);
- readmode = luaL_checknumber(L, 3);
- startpos = luaL_checknumber(L, 4);
+ readmode = luaL_checklong(L, 3);
+ startpos = luaL_checklong(L, 4);
+ luaL_argcheck(L, readmode <= 3, 3,
+ "invalid readmode value, must be <= 3");
luaL_argcheck(L, startpos < gt_encseq_total_length(*encseq), 4,
"cannot exceed total length of encoded sequence");
gt_encseq_reader_reinit_with_readmode(*reader, *encseq, readmode, startpos);
@@ -113,10 +115,12 @@
int readmode;
unsigned char cc;
encseq = check_encseq(L, 1);
- pos = luaL_checknumber(L, 2);
- readmode = luaL_checknumber(L, 3);
+ pos = luaL_checklong(L, 2);
+ readmode = luaL_checklong(L, 3);
luaL_argcheck(L, pos < gt_encseq_total_length(*encseq), 2,
"cannot exceed total length of encoded sequence");
+ luaL_argcheck(L, readmode <= 3, 3,
+ "invalid readmode value, must be <= 3");
cc = gt_encseq_get_encoded_char(*encseq, pos, readmode);
lua_pushnumber(L, cc);
return 1;
@@ -129,10 +133,12 @@
int readmode;
char cc;
encseq = check_encseq(L, 1);
- pos = luaL_checknumber(L, 2);
- readmode = luaL_checknumber(L, 3);
+ pos = luaL_checklong(L, 2);
+ readmode = luaL_checklong(L, 3);
luaL_argcheck(L, pos < gt_encseq_total_length(*encseq), 2,
"cannot exceed total length of encoded sequence");
+ luaL_argcheck(L, readmode <= 3, 3,
+ "invalid readmode value, must be <= 3");
cc = gt_encseq_get_decoded_char(*encseq, pos, readmode);
lua_pushlstring(L, &cc, sizeof (char));
return 1;
@@ -192,8 +198,8 @@
GtUword from, to;
unsigned char *string;
encseq = check_encseq(L, 1);
- from = luaL_checknumber(L, 2);
- to = luaL_checknumber(L, 3);
+ from = luaL_checklong(L, 2);
+ to = luaL_checklong(L, 3);
luaL_argcheck(L, from <= to, 2, "must be <= range endposition");
luaL_argcheck(L, to < gt_encseq_total_length(*encseq), 3,
"cannot exceed total length of encoded sequence");
@@ -209,8 +215,8 @@
GtUword from, to;
char *string;
encseq = check_encseq(L, 1);
- from = luaL_checknumber(L, 2);
- to = luaL_checknumber(L, 3);
+ from = luaL_checklong(L, 2);
+ to = luaL_checklong(L, 3);
luaL_argcheck(L, from <= to, 2, "must be <= range endposition");
luaL_argcheck(L, to < gt_encseq_total_length(*encseq), 3,
"cannot exceed total length of encoded sequence");
@@ -226,7 +232,7 @@
GtEncseq **encseq;
GtUword pos;
encseq = check_encseq(L, 1);
- pos = luaL_checknumber(L, 2);
+ pos = luaL_checklong(L, 2);
luaL_argcheck(L, pos < gt_encseq_num_of_sequences(*encseq), 2,
"cannot exceed number of sequences");
lua_pushnumber(L, gt_encseq_seqlength(*encseq, pos));
@@ -238,7 +244,7 @@
GtEncseq **encseq;
GtUword pos;
encseq = check_encseq(L, 1);
- pos = luaL_checknumber(L, 2);
+ pos = luaL_checklong(L, 2);
luaL_argcheck(L, pos < gt_encseq_num_of_sequences(*encseq), 2,
"cannot exceed number of sequences");
lua_pushnumber(L, gt_encseq_seqstartpos(*encseq, pos));
@@ -250,7 +256,7 @@
GtEncseq **encseq;
GtUword pos;
encseq = check_encseq(L, 1);
- pos = luaL_checknumber(L, 2);
+ pos = luaL_checklong(L, 2);
luaL_argcheck(L, pos < gt_encseq_total_length(*encseq), 2,
"cannot exceed total length of encoded sequence");
lua_pushnumber(L, gt_encseq_seqnum(*encseq, pos));
@@ -279,7 +285,7 @@
GtUword seqno, desclen;
const char *string;
encseq = check_encseq(L, 1);
- seqno = luaL_checknumber(L, 2);
+ seqno = luaL_checklong(L, 2);
luaL_argcheck(L, seqno < gt_encseq_num_of_sequences(*encseq), 2,
"cannot exceed number of sequences");
string = gt_encseq_description(*encseq, &desclen, seqno);
@@ -300,7 +306,7 @@
GtEncseq **encseq;
GtUword fileno;
encseq = check_encseq(L, 1);
- fileno = luaL_checknumber(L, 2);
+ fileno = luaL_checklong(L, 2);
luaL_argcheck(L, fileno < gt_encseq_num_of_files(*encseq), 2,
"cannot exceed number of files");
lua_pushnumber(L, gt_encseq_effective_filelength(*encseq, fileno));
@@ -312,7 +318,7 @@
GtEncseq **encseq;
GtUword fileno;
encseq = check_encseq(L, 1);
- fileno = luaL_checknumber(L, 2);
+ fileno = luaL_checklong(L, 2);
luaL_argcheck(L, fileno < gt_encseq_num_of_files(*encseq), 2,
"cannot exceed number of files");
lua_pushnumber(L, gt_encseq_filestartpos(*encseq, fileno));
@@ -324,7 +330,7 @@
GtEncseq **encseq;
GtUword pos;
encseq = check_encseq(L, 1);
- pos = luaL_checknumber(L, 2);
+ pos = luaL_checklong(L, 2);
luaL_argcheck(L, pos < gt_encseq_total_length(*encseq), 2,
"cannot exceed total length of encoded sequence");
lua_pushnumber(L, gt_encseq_filenum(*encseq, pos));
@@ -397,8 +403,10 @@
GtUword startpos;
GtReadmode readmode;
encseq = check_encseq(L, 1);
- readmode = luaL_checknumber(L, 2);
- startpos = luaL_checknumber(L, 3);
+ readmode = luaL_checklong(L, 2);
+ startpos = luaL_checklong(L, 3);
+ luaL_argcheck(L, readmode <= 3, 2,
+ "invalid readmode value, must be <= 3");
luaL_argcheck(L, startpos < gt_encseq_total_length(*encseq), 3,
"cannot exceed total length of encoded sequence");
reader = gt_encseq_create_reader_with_readmode(*encseq, readmode, startpos);
--- a/src/gtlua/mathsupport_lua.c
+++ b/src/gtlua/mathsupport_lua.c
@@ -21,7 +21,7 @@
static int gt_lua_mathsupport_rand_max(lua_State *L)
{
- GtUword max = luaL_checknumber(L, 1);
+ GtUword max = luaL_checklong(L, 1);
lua_pushnumber(L, gt_rand_max(max));
return 1;
--- a/src/match/eis-bwtseq.c
+++ b/src/match/eis-bwtseq.c
@@ -473,7 +473,7 @@
CONTEXT_INTERVAL = 128,
};
-int
+enum verifyBWTSeqErrCode
gt_BWTSeqVerifyIntegrity(BWTSeq *bwtSeq, const char *projectName,
int checkFlags,
GtUword tickPrint, FILE *fp,
--- a/src/tools/gt_tir.c
+++ b/src/tools/gt_tir.c
@@ -394,9 +394,9 @@
GtNodeVisitor *pdom_v;
ms = gt_pdom_model_set_new(arguments->hmm_files, err);
if (ms != NULL) {
- pdom_v = gt_ltrdigest_pdom_visitor_new(ms, arguments->cutoff,
+ pdom_v = gt_ltrdigest_pdom_visitor_new(ms, arguments->evalue_cutoff,
arguments->chain_max_gap_length,
- arguments->evalue_cutoff, rmap,
+ arguments->cutoff, rmap,
err);
if (pdom_v == NULL)
had_err = -1;
--- a/testdata/gtscripts/encseq.lua
+++ b/testdata/gtscripts/encseq.lua
@@ -60,6 +60,9 @@
rval, err = pcall(GenomeTools_encseq.get_encoded_char, es, 100, 0)
assert(not rval)
assert(string.find(err, "cannot exceed"))
+ rval, err = pcall(GenomeTools_encseq.get_encoded_char, es, 10, 6)
+ assert(not rval)
+ assert(string.find(err, "invalid readmode"))
end
function run_test_seq_startpos(es)
@@ -99,6 +102,9 @@
rval, err = pcall(GenomeTools_encseq.seqlength, es, 2)
assert(not rval)
assert(string.find(err, "cannot exceed"))
+ rval, err = pcall(GenomeTools_encseq.get_encoded_char, es, 10, 6)
+ assert(not rval)
+ assert(string.find(err, "invalid readmode"))
end
function run_test_file_length_protein(es)
@@ -128,7 +134,7 @@
rval, err = pcall(GenomeTools_encseq.extract_encoded, es, 300, 500)
assert(not rval)
assert(string.find(err, "cannot exceed"))
-
+
end
function run_test_seq_substr_decoded(es, seq1, seq2)
@@ -168,7 +174,10 @@
rval, err = pcall(GenomeTools_encseq.create_reader_with_readmode, es, 0, 300)
assert(not rval)
assert(string.find(err, "cannot exceed"))
-end
+ rval, err = pcall(GenomeTools_encseq.create_reader_with_readmode, es, 7, 3)
+ assert(not rval)
+ assert(string.find(err, "invalid readmode"))
+end
ee = gt.encseq_encoder_new()
ee:encode({dnaseqfile}, "dnaseqfile")
From afaed82084071e9d11663b7ce593fa83e6eabbe5 Mon Sep 17 00:00:00 2001
From: Justus Winter <justus@gnupg.org>
Date: Fri, 19 Feb 2016 14:06:41 +0100
Subject: [PATCH 1/6] Makefile: Drop spurious '$(3)'
* Makefile: Drop spurious '$(3)', likely a left-over from copying
'COMPILE_template'.
---
Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- /dev/null
+++ b/src/external/lpeg-0.10.2/lua-lpeg.h
@@ -0,0 +1,39 @@
+/*
+** $Id: lpeg.h,v 1.1 2009/12/23 16:15:36 roberto Exp $
+** LPeg - PEG pattern matching for Lua
+** Copyright 2009, Lua.org & PUC-Rio (see 'lpeg.html' for license)
+** written by Roberto Ierusalimschy
+*/
+
+#ifndef lpeg_h
+#define lpeg_h
+
+#include "lua.h"
+
+int luaopen_lpeg (lua_State *L);
+
+#define KEYNEWPATT "lpeg.newpf"
+
+
+/*
+** type of extension functions that define new "patterns" for LPEG
+** It should return the new current position or NULL if match fails
+*/
+typedef const char *(*PattFunc) (const char *s, /* current position */
+ const char *e, /* string end */
+ const char *o, /* string start */
+ const void *ud); /* user data */
+
+/*
+** function to create new patterns based on 'PattFunc' functions.
+** This function is available at *registry[KEYNEWPATT]. (Notice
+** the extra indirection; the userdata at the registry points to
+** a variable that points to the function. In ANSI C a void* cannot
+** point to a function.)
+*/
+typedef void (*Newpf) (lua_State *L,
+ PattFunc f, /* pattern */
+ const void *ud, /* (user) data to be passed to 'f' */
+ size_t l); /* size of data to be passed to 'f' */
+
+#endif
......@@ -5,13 +5,14 @@
export DESTDIR=$(CURDIR)/debian/tmp
export DH_ALWAYS_EXCLUDE=.gitignore
export PATH := $(CURDIR)/debian/strip-nondeterminism:$(PATH)
export SOURCE_DATE_EPOCH = $(shell date -d "$$(dpkg-parsechangelog -SDate)" +%s)
include /usr/share/dpkg/default.mk
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
DARCH:=$(shell dpkg-architecture | fgrep DEB_TARGET_ARCH= | cut -f 2 -d'=')
BITS:=$(shell dpkg-architecture | fgrep DEB_TARGET_ARCH_BITS= | cut -f 2 -d'=')
ifeq ($(DARCH),x32)
X32:=yes
else
......@@ -57,8 +58,10 @@ override_dh_auto_build:
$(FAKETIME) dh_auto_build -- verbose=yes useshared=yes x32=$(X32) 64bit=$(64BIT) errorcheck=no all docs manuals
override_dh_auto_test:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
bin/gt -test
cd testsuite; ./testsuite.rb -keywords 'gt_sketch and not gt_python and not gt_ruby'
endif
override_dh_auto_install:
dh_auto_install -- installmanpages useshared=yes \
......