[med-svn] r20634 - in trunk/packages/genometools/trunk/debian: . patches strip-nondeterminism tests
Sascha Steinbiss
sascha-guest at moszumanska.debian.org
Fri Dec 4 22:47:44 UTC 2015
Author: sascha-guest
Date: 2015-12-04 22:47:42 +0000 (Fri, 04 Dec 2015)
New Revision: 20634
Added:
trunk/packages/genometools/trunk/debian/patches/sort-inputs
trunk/packages/genometools/trunk/debian/patches/use-mx32
trunk/packages/genometools/trunk/debian/tests/
trunk/packages/genometools/trunk/debian/tests/build-lib
trunk/packages/genometools/trunk/debian/tests/control
trunk/packages/genometools/trunk/debian/tests/eden.gff3
trunk/packages/genometools/trunk/debian/tests/gff3validator.c
trunk/packages/genometools/trunk/debian/tests/python-lib
Modified:
trunk/packages/genometools/trunk/debian/changelog
trunk/packages/genometools/trunk/debian/patches/series
trunk/packages/genometools/trunk/debian/rules
trunk/packages/genometools/trunk/debian/strip-nondeterminism/a2x
trunk/packages/genometools/trunk/debian/strip-nondeterminism/pdflatex
Log:
fix builds, work on reproducibility, add tests
Modified: trunk/packages/genometools/trunk/debian/changelog
===================================================================
--- trunk/packages/genometools/trunk/debian/changelog 2015-12-04 18:16:43 UTC (rev 20633)
+++ trunk/packages/genometools/trunk/debian/changelog 2015-12-04 22:47:42 UTC (rev 20634)
@@ -1,3 +1,14 @@
+genometools (1.5.7-4) unstable; urgency=medium
+
+ * Fix builds on less popular platforms
+ - Check if faketime works
+ - Do no use -m32/-m64 on x32
+ * Improve reproducibility
+ - sort files to compile by name
+ * Add autopkgtests
+
+ -- Sascha Steinbiss <sascha at steinbiss.name> Fri, 04 Dec 2015 22:18:11 +0000
+
genometools (1.5.7-3) unstable; urgency=low
* d/control: remove obsolete dependency on libncurses5
Modified: trunk/packages/genometools/trunk/debian/patches/series
===================================================================
--- trunk/packages/genometools/trunk/debian/patches/series 2015-12-04 18:16:43 UTC (rev 20633)
+++ trunk/packages/genometools/trunk/debian/patches/series 2015-12-04 22:47:42 UTC (rev 20634)
@@ -3,3 +3,5 @@
remove-gitignores
fix-exports
split-manuals
+use-mx32
+sort-inputs
Added: trunk/packages/genometools/trunk/debian/patches/sort-inputs
===================================================================
--- trunk/packages/genometools/trunk/debian/patches/sort-inputs (rev 0)
+++ trunk/packages/genometools/trunk/debian/patches/sort-inputs 2015-12-04 22:47:42 UTC (rev 20634)
@@ -0,0 +1,40 @@
+--- 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 $@]'
+@@ -995,8 +995,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} \
Added: trunk/packages/genometools/trunk/debian/patches/use-mx32
===================================================================
--- trunk/packages/genometools/trunk/debian/patches/use-mx32 (rev 0)
+++ trunk/packages/genometools/trunk/debian/patches/use-mx32 2015-12-04 22:47:42 UTC (rev 20634)
@@ -0,0 +1,32 @@
+--- a/Makefile
++++ b/Makefile
+@@ -327,17 +327,19 @@
+ endif
+ endif
+
+-ifeq ($(m32),yes)
+- GT_CFLAGS += -m32
+- GT_LDFLAGS += -m32
+- SQLITE_CFLAGS += -m32
+-endif
++ifneq ($(x32),yes)
++ ifeq ($(m32),yes)
++ GT_CFLAGS += -m32
++ GT_LDFLAGS += -m32
++ SQLITE_CFLAGS += -m32
++ endif
+
+-ifeq ($(m64),yes)
+- ifeq (,$(filter $(MACHINE),ia64 alpha mips64 mips64el aarch64))
+- GT_CFLAGS += -m64
+- GT_LDFLAGS += -m64
+- SQLITE_CFLAGS += -m64
++ ifeq ($(m64),yes)
++ ifeq (,$(filter $(MACHINE),ia64 alpha mips64 mips64el aarch64))
++ GT_CFLAGS += -m64
++ GT_LDFLAGS += -m64
++ SQLITE_CFLAGS += -m64
++ endif
+ endif
+ endif
+
Modified: trunk/packages/genometools/trunk/debian/rules
===================================================================
--- trunk/packages/genometools/trunk/debian/rules 2015-12-04 18:16:43 UTC (rev 20633)
+++ trunk/packages/genometools/trunk/debian/rules 2015-12-04 22:47:42 UTC (rev 20634)
@@ -7,12 +7,21 @@
export PATH := $(CURDIR)/debian/strip-nondeterminism:$(PATH)
export SOURCE_DATE_EPOCH = $(shell date -d "$$(dpkg-parsechangelog -SDate)" +%s)
+DARCH:=$(shell dpkg-architecture | grep DEB_BUILD_ARCH | cut -f 2 -d'=')
BITS:=$(shell dpkg-architecture | grep DEB_BUILD_ARCH_BITS | cut -f 2 -d'=')
+
+ifeq ($(DARCH),x32)
+ X32:=yes
+else
+ X32:=no
+endif
+
ifeq ($(BITS),64)
64BIT:=yes
else
64BIT:=no
endif
+
# check whether faketime can be used
ifeq ($(shell faketime 'last friday' date > /dev/null 2> /dev/null; echo $$?),0)
FAKETIME:=faketime -f "`TZ=UTC date -d @$(SOURCE_DATE_EPOCH) +'%Y-%m-%d %H:%M:%S'`"
@@ -43,7 +52,7 @@
rm -rf gtpython/build
override_dh_auto_build:
- $(FAKETIME) dh_auto_build -- useshared=yes 64bit=$(64BIT) errorcheck=no all docs manuals
+ $(FAKETIME) dh_auto_build -- useshared=yes x32=$(X32) 64bit=$(64BIT) errorcheck=no all docs manuals
override_dh_auto_test:
bin/gt -test
@@ -51,7 +60,7 @@
override_dh_auto_install:
dh_auto_install -- installmanpages useshared=yes \
- 64bit=$(64BIT) errorcheck=no prefix=$(DESTDIR)/usr
+ x32=$(X32) 64bit=$(64BIT) errorcheck=no prefix=$(DESTDIR)/usr
dh_auto_install --sourcedirectory=gtpython \
--destdir=$(CURDIR)/debian/python-genometools
Modified: trunk/packages/genometools/trunk/debian/strip-nondeterminism/a2x
===================================================================
--- trunk/packages/genometools/trunk/debian/strip-nondeterminism/a2x 2015-12-04 18:16:43 UTC (rev 20633)
+++ trunk/packages/genometools/trunk/debian/strip-nondeterminism/a2x 2015-12-04 22:47:42 UTC (rev 20634)
@@ -1,5 +1,13 @@
#!/usr/bin/env sh
# Depends: faketime
# Eventually the upstream tool should support SOURCE_DATE_EPOCH internally.
+
test -n "$SOURCE_DATE_EPOCH" || { echo >&2 "$0: SOURCE_DATE_EPOCH not set"; exit 255; }
-exec faketime -f "$(TZ=UTC date -d "@$SOURCE_DATE_EPOCH" +'%Y-%m-%d %H:%M:%S')" /usr/bin/a2x "$@"
\ No newline at end of file
+
+if faketime 'last friday' date > /dev/null 2> /dev/null; then
+ exec faketime -f "`TZ=UTC date -d @$SOURCE_DATE_EPOCH +'%Y-%m-%d %H:%M:%S'`" \
+ /usr/bin/a2x "$@"
+else
+ exec /usr/bin/a2x "$@"
+fi
+
Modified: trunk/packages/genometools/trunk/debian/strip-nondeterminism/pdflatex
===================================================================
--- trunk/packages/genometools/trunk/debian/strip-nondeterminism/pdflatex 2015-12-04 18:16:43 UTC (rev 20633)
+++ trunk/packages/genometools/trunk/debian/strip-nondeterminism/pdflatex 2015-12-04 22:47:42 UTC (rev 20634)
@@ -1,5 +1,12 @@
#!/usr/bin/env sh
# Depends: faketime
# Eventually the upstream tool should support SOURCE_DATE_EPOCH internally.
+
test -n "$SOURCE_DATE_EPOCH" || { echo >&2 "$0: SOURCE_DATE_EPOCH not set"; exit 255; }
-exec faketime -f "$(TZ=UTC date -d "@$SOURCE_DATE_EPOCH" +'%Y-%m-%d %H:%M:%S')" /usr/bin/pdflatex "$@"
\ No newline at end of file
+
+if faketime 'last friday' date > /dev/null 2> /dev/null; then
+ exec faketime -f "`TZ=UTC date -d @$SOURCE_DATE_EPOCH +'%Y-%m-%d %H:%M:%S'`" \
+ /usr/bin/pdflatex "$@"
+else
+ exec /usr/bin/pdflatex "$@"
+fi
\ No newline at end of file
Added: trunk/packages/genometools/trunk/debian/tests/build-lib
===================================================================
--- trunk/packages/genometools/trunk/debian/tests/build-lib (rev 0)
+++ trunk/packages/genometools/trunk/debian/tests/build-lib 2015-12-04 22:47:42 UTC (rev 20634)
@@ -0,0 +1,19 @@
+#!/bin/sh
+# autopkgtest check: Build and run a program against libgenometools
+# Author: Sascha Steinbiss <sascha at steinbiss.name>
+
+set -e
+
+SRC=$(pwd)/debian/tests/gff3validator.c
+DATA=$(pwd)/debian/tests/eden.gff3
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
+cd $WORKDIR
+
+gcc -O2 -DWITHOUT_CAIRO -I/usr/include/genometools -o gff3validator $SRC \
+ -lgenometools
+echo "build: OK"
+[ -x gff3validator ]
+./gff3validator $DATA > out
+[ -s out ]
+echo "run: OK"
\ No newline at end of file
Property changes on: trunk/packages/genometools/trunk/debian/tests/build-lib
___________________________________________________________________
Added: svn:executable
+ *
Added: trunk/packages/genometools/trunk/debian/tests/control
===================================================================
--- trunk/packages/genometools/trunk/debian/tests/control (rev 0)
+++ trunk/packages/genometools/trunk/debian/tests/control 2015-12-04 22:47:42 UTC (rev 20634)
@@ -0,0 +1,5 @@
+Tests: build-lib
+Depends: @, libgenometools0-dev, libgenometools0, build-essential
+
+Tests: python-lib
+Depends: @, libgenometools0-dev, libgenometools0, python-genometools, python
\ No newline at end of file
Added: trunk/packages/genometools/trunk/debian/tests/eden.gff3
===================================================================
--- trunk/packages/genometools/trunk/debian/tests/eden.gff3 (rev 0)
+++ trunk/packages/genometools/trunk/debian/tests/eden.gff3 2015-12-04 22:47:42 UTC (rev 20634)
@@ -0,0 +1,25 @@
+##gff-version 3
+##sequence-region ctg123 1 1497228
+ctg123 . gene 1000 9000 . + . ID=gene00001;Name=EDEN
+ctg123 . TF_binding_site 1000 1012 . + . ID=tfbs00001;Parent=gene00001
+ctg123 . mRNA 1050 9000 . + . ID=mRNA00001;Parent=gene00001;Name=EDEN.1
+ctg123 . mRNA 1050 9000 . + . ID=mRNA00002;Parent=gene00001;Name=EDEN.2
+ctg123 . mRNA 1300 9000 . + . ID=mRNA00003;Parent=gene00001;Name=EDEN.3
+ctg123 . exon 1300 1500 . + . ID=exon00001;Parent=mRNA00003
+ctg123 . exon 1050 1500 . + . ID=exon00002;Parent=mRNA00001,mRNA00002
+ctg123 . exon 3000 3902 . + . ID=exon00003;Parent=mRNA00001,mRNA00003
+ctg123 . exon 5000 5500 . + . ID=exon00004;Parent=mRNA00001,mRNA00002,mRNA00003
+ctg123 . exon 7000 9000 . + . ID=exon00005;Parent=mRNA00001,mRNA00002,mRNA00003
+ctg123 . CDS 1201 1500 . + 0 ID=cds00001;Parent=mRNA00001;Name=edenprotein.1
+ctg123 . CDS 3000 3902 . + 0 ID=cds00001;Parent=mRNA00001;Name=edenprotein.1
+ctg123 . CDS 5000 5500 . + 0 ID=cds00001;Parent=mRNA00001;Name=edenprotein.1
+ctg123 . CDS 7000 7600 . + 0 ID=cds00001;Parent=mRNA00001;Name=edenprotein.1
+ctg123 . CDS 1201 1500 . + 0 ID=cds00002;Parent=mRNA00002;Name=edenprotein.2
+ctg123 . CDS 5000 5500 . + 0 ID=cds00002;Parent=mRNA00002;Name=edenprotein.2
+ctg123 . CDS 7000 7600 . + 0 ID=cds00002;Parent=mRNA00002;Name=edenprotein.2
+ctg123 . CDS 3301 3902 . + 0 ID=cds00003;Parent=mRNA00003;Name=edenprotein.3
+ctg123 . CDS 5000 5500 . + 1 ID=cds00003;Parent=mRNA00003;Name=edenprotein.3
+ctg123 . CDS 7000 7600 . + 1 ID=cds00003;Parent=mRNA00003;Name=edenprotein.3
+ctg123 . CDS 3391 3902 . + 0 ID=cds00004;Parent=mRNA00003;Name=edenprotein.4
+ctg123 . CDS 5000 5500 . + 1 ID=cds00004;Parent=mRNA00003;Name=edenprotein.4
+ctg123 . CDS 7000 7600 . + 1 ID=cds00004;Parent=mRNA00003;Name=edenprotein.4
Added: trunk/packages/genometools/trunk/debian/tests/gff3validator.c
===================================================================
--- trunk/packages/genometools/trunk/debian/tests/gff3validator.c (rev 0)
+++ trunk/packages/genometools/trunk/debian/tests/gff3validator.c 2015-12-04 22:47:42 UTC (rev 20634)
@@ -0,0 +1,47 @@
+#include "genometools.h"
+
+/* A simple GFF3 validator which validates all given GFF3 files (without
+ checking types). */
+
+int main(int argc, const char *argv[])
+{
+ GtNodeStream *gff3_in_stream;
+ GtGenomeNode *gn;
+ GtError *err;
+ int had_err;
+
+ if (gt_version_check(GT_MAJOR_VERSION, GT_MINOR_VERSION, GT_MICRO_VERSION)) {
+ fprintf(stderr, "error: %s\n", gt_version_check(GT_MAJOR_VERSION,
+ GT_MINOR_VERSION,
+ GT_MICRO_VERSION));
+ return EXIT_FAILURE;
+ }
+
+ /* initialize */
+ gt_lib_init();
+
+ /* create error object */
+ err = gt_error_new();
+
+ /* create GFF3 input stream (with ID attribute checking) */
+ gff3_in_stream = gt_gff3_in_stream_new_unsorted(argc-1, argv+1);
+ gt_gff3_in_stream_check_id_attributes((GtGFF3InStream*) gff3_in_stream);
+
+ /* pull the features through the stream and free them afterwards */
+ while (!(had_err = gt_node_stream_next(gff3_in_stream, &gn, err)) && gn)
+ gt_genome_node_delete(gn);
+
+ /* handle error */
+ if (had_err)
+ fprintf(stderr, "%s: error: %s\n", argv[0], gt_error_get(err));
+ else
+ printf("input is valid GFF3\n");
+
+ /* free */
+ gt_node_stream_delete(gff3_in_stream);
+ gt_error_delete(err);
+
+ if (had_err)
+ return EXIT_FAILURE;
+ return EXIT_SUCCESS;
+}
Added: trunk/packages/genometools/trunk/debian/tests/python-lib
===================================================================
--- trunk/packages/genometools/trunk/debian/tests/python-lib (rev 0)
+++ trunk/packages/genometools/trunk/debian/tests/python-lib 2015-12-04 22:47:42 UTC (rev 20634)
@@ -0,0 +1,5 @@
+#!/usr/bin/python
+# autopkgtest check: Check whether gt can be imported
+# Author: Sascha Steinbiss <sascha at steinbiss.name>
+
+import gt
\ No newline at end of file
Property changes on: trunk/packages/genometools/trunk/debian/tests/python-lib
___________________________________________________________________
Added: svn:executable
+ *
More information about the debian-med-commit
mailing list